Three virtues of a great programmer
31–40 of 141 posts
Re: Three virtues of a great programmer
#32How did that work out for Perl?
Re: Three virtues of a great programmer
#33"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). At my job I have noticed that quite a few people cannot write proper sentences or are way too verbose in their writing.
Re: Three virtues of a great programmer
#34Re: Three virtues of a great programmer
#35Re: Three virtues of a great programmer
#36Oh Larry, never change. I often give a similar list as a glib answer in interviews when asked "what are your greatest strengths?" Mine are usually: I'm stupid (not smart enough to overcomplicate), lazy (prefer turning MVP in on time rather than adding too many bells and whistles), and forgetful (document everything because I won't remember what I was doing the next day).
What is your biggest weakness: "I work too hard" -- humblebrag
Working too hard means you're liable to disappear for 6+months, no sane employer should want that!
Re: Three virtues of a great programmer
#37If you're not familiar with Larry Wall's style this might seem a bit off putting. The first time I ever saw him speak was the 1997 first annual O'Reilly Perl conference. I remember thinking, "This guy is a jerk" while also thinking "I love this guy"
Re: Three virtues of a great programmer
#38I 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).…
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
#39Re: Three virtues of a great programmer
#40I've never really liked his inclusion of hubris here. Hubris is often defined as unjustified arrogance. Justified confidence, even if you're a jerk about it, was never the fatal flaw of a Greek hero. So I've always substituted arrogance for hubris: the belief that you better understand, and can better address, the requirements than any off-the-shelf library/program/ecosystem.
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 - and you can have a perfectly fruitful career following rules like that. But you don't get big changes or ambitious intellectual growth without spotting that - if you did choose to break those sorts of rules - you could build something really new and exciting. Anyhow…
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 trying to reinvent the wheel because you aren't capable of it"