According to Rob, the best and the greatest software developers are:
Pessimistic in the short term: Great developers do not “assume it will work”. Even though they are optimistic about their overall success. However, they know that by being pessimistic in the short-term, their long-term success is ensured.
Angered by sloppy code: People who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent (Paul Graham). Someone who fixes a problem but doesn’t take the time to find out what caused it is doomed to never become an expert in their field. Experience is not years on the job, it is s learning to recognize a problem before it occurs.
Long term life planners: Great developers have stable family lives, save for retirement and own their own home. People who live paycheck to paycheck can certainly be good developers, but what they lack in life they tend to lack in the office: the ability to be disciplined, and to develop and adhere to a long-term plan.
Detail oriented: Great developers have amazing attention to detail. If smart developers don’t pay attention to detail, the result is misspelled database columns, uncommented code, projects that aren’t checked into source control, software that’s not unit tested, unimplemented features, and so on.
The above list generated many comments both on Digg and on the author’s blog, I summarize a few interesting ones:
One of my favorite exercises in futility is trying to convey the importance of these “little” details to upper management. Their general response: “just make it work”.
The best people are those that are pessimistic but able to lift themselves out of the mindset as needed, which is rare.
For most programmers, attention to detail and pessimism, where frequently needed, eventually take a front seat to just “getting things done”.
Programmers like to get emotionally connected to “Their way” of doing things, often will spend more time explaining how it is wrong then trying to fix it.
Lazy programmers often find simpler solutions, since they think of doing things with less effort.
The most important trait in a top programmer is high IQ.
Great developers are also extremely hostile to pessimism from others that are uninformed.
No, they are not pessimistic! They are, however, skeptical (and optimistic). The phrase “Hope for the best, but plan for the worst” tend to describe how they think.
Truly great programmers have learned to simply attack the most pressing item first, then the next, and so on.
Programmers who try to code everything in a single line and use obscure compiler knowledge are the ones that are at the bottom of the pile. They know code but they don’t understand software development.
The best programmers are the ones who are smarter than the others. They are driven by an overriding passion to be the best. They have strong personalities and a youthful energy that inspires others.
Well, here is my opinion. Does it matter to be a great software developer? I do not think it does. No one really cares whether you are great or not, as long as the software you produce is great. Then the question really becomes: Are you a software developer who develops great software? That’s a topic for a later time.
Possibly related:
- Oracle SQL Developer 1.2 Released
- Oracle SQL Developer Graduated
- Fan emails
- Bad Code Costing Oracle Millions
- Control When Oracle SQL Developer Completes Your Code
Tagged developer | Post a Comment


















Eddie,
I don’t know if the guy that wrote this is a great software developer but here’s a link to ensure a job for life. heh
LewisC
August 24th, 2006, at 11:09 am #Lewis,
If a “great developer” follows the link you provided in your comment, he/she should commit suicide based on the “Angered by sloppy code” property.
August 24th, 2006, at 5:52 pm #