| The best coders I know (including agavin, who comments below) are all insanely hard workers. There are a few other correlates, but these seem secondary to me: - willing and able to rapidly learn new tools (especially languages, debuggers, build/test infrastructures, and profilers) - understand software at many levels (so-called "full stack" programmers) - more interested in producing a working system than in technical details - self-confident enough to seek experts and extract information from them on areas of ignorance - have a strong aesthetic sense of code Definitely "being really smart" or "having a Ph.D" hasn't been a correlate in my experience; if anything, I've seen these to be negatively correlated with code production and quality. And distribution of coding ability definitely seems to follow a normal curve; a handful of coders I know are 6 sigma out. There are many more two-sigma outliers, and tons in the middle, as you'd expect. |
Unfortunately this is largely the case. It's in many ways similar to why many on HN don't want to do Java enterprise LOB apps. It seems like painful drudge work. For a lot of really smart people who did their PhD -- the work it takes to build a production web app is painful drudge work. They'll happily build the prototype that proves the concept and their done. Everything else is a painful drudge work -- a solved problem ("I can reduce what's left to what Facebook did. QED.")