That last one ("hubris") I'm going to call out. Maybe the author means another word, for what he describes, but the actual "hubris" I'm seeing among my colleagues is the belief that lots of people out there don't know how to write code, but that their own $%^& doesn't stink. It's the utter subjectiveness of "best practices" that aren't tied to actual issues of performance, security, or flexibility, or worse - blowing…
I especially love it when these people turn code which can be debugged (breakpoints can be set and hit) into one-liners for no reason which you have to rewrite in order to even set breakpoints. Well done, I hope you’re proud.
Three virtues of a great programmer
101–110 of 141 posts
Re: Three virtues of a great programmer
#102I'd add Curiosity instead of Impatience. Impatience is related to Laziness. In both cases we want the computer to do the work instead of us. But Curiosity is orthogonal and important. The best programmers I know were always curious: Why was it built that way? Why does it give that output? Why did she say that? Curiosity is the beginning of knowledge. If you're not curious, you will miss out on a lot of opportunities…
It doesn't work as well rhetorically as having all 3 virtues be typically thought of as flaws.
Re: Three virtues of a great programmer
#103Earlier quoted context omitted.
It doesn't work as well rhetorically as having all 3 virtues be typically thought of as flaws.
Curiosity is a classical vice, I think it works
Re: Three virtues of a great programmer
#104Our three weapons are Laziness, Impatience, and Hubris… and an almost fanatical devotion to the pope.
Re: Three virtues of a great programmer
#105Earlier quoted context omitted.
I especially love it when these people turn code which can be debugged (breakpoints can be set and hit) into one-liners for no reason which you have to rewrite in order to even set breakpoints. Well done, I hope you’re proud.
you can't debug within a line?
Re: Three virtues of a great programmer
#106I don’t have the time or want to read the page, but I’m sure I’m already as good as him.
Re: Three virtues of a great programmer
#107That last one ("hubris") I'm going to call out. Maybe the author means another word, for what he describes, but the actual "hubris" I'm seeing among my colleagues is the belief that lots of people out there don't know how to write code, but that their own $%^& doesn't stink. It's the utter subjectiveness of "best practices" that aren't tied to actual issues of performance, security, or flexibility, or worse - blowing…
I interpreted this "hubris" to mean that I believe I can make a difference, rather than feel that I can't contribute. You can understand why I, personally, would think this is a virtue.
(To be clear: I mean this as a good thing. Audacity… seems pretty important, and very nice to have, at the right times and places)
Re: Three virtues of a great programmer
#108I'd add Curiosity instead of Impatience. Impatience is related to Laziness. In both cases we want the computer to do the work instead of us. But Curiosity is orthogonal and important. The best programmers I know were always curious: Why was it built that way? Why does it give that output? Why did she say that? Curiosity is the beginning of knowledge. If you're not curious, you will miss out on a lot of opportunities…
Seconded, and I’d add this is a quality of a great human being. Curious people are curious about others too, not just systems. It’s related to caring. You have to care to be curious and we could use more people taking care in their lives.
Re: Three virtues of a great programmer
#109I think programming is an basically an exercise in effective communication. Edsger Dijkstra said that "Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer." This means being able to write down a description of a problem or a solution in a clear and concise way. This is the test I would use if I hired people (not only programmers).…
> ”… an exceptionally good mastery of one's native tongue …” Does that imply that one cannot be a competent programmer if working on an environment where the spoken tongue is not their native one?
Re: Three virtues of a great programmer
#110Earlier quoted context omitted.
> When you learn programming, you are told to never roll your own crypto, or to always use the ready-made libraries, or to avoid manual memory management I've always taken this sort of advice, such as "never reinvent the wheel" to mean "inventing the wheel is time consuming so give yourself an advantage by using already existing wheels", which really has nothing to do with hubris. I never took it as "Don't bother try…
You can build a better wheel if you want to focus on that. If you want to build a car however, focus on building the car and not creating a new kind of wheel.
Look at the Apollo moon rovers, for instance: they couldn't use off-the-shelf wheels for those.