3 ms·
HackerNews has always been enamored with the perception of the so called Great Programmer that seemed to attract the next logical discussions: productivity and
by edwinnathaniel 14y ago
HackerNews has always been enamored with the perception of the so called Great Programmer that seemed to attract the next logical discussions: productivity and compensation.
In a big scale software product, great programmer is only marginally important. In a startup, great programmer is definitely useful provided they do not come with "baggages" and asking for top notch compensation (how would you maintain your company's financial health if you are paying him tons of money and giving him stocks while it is your dream, passions, goals, and livelihood that is on the line).
Programmers love to talk about great programmer because that is their dream: fame, money, and freedom.
The real great programmers keep writing good code and act normally like any other workers...and I do not think that the bar is that high...most of us painted it otherwise.
- greenyoda 14y agoI don't think you should underestimate the essential contributions that great programmers make to large-scale software products. They can: - Keep the entire system in their heads, which is of great help to other programmers who have questions about how the code works. - See several steps ahead and thus avoid pitfalls that may not be obvious to others. - Design stable and maintainable architectures. - Debug nasty bugs that others on the team may never be able to solve. - Mentor less-advanced programmers. Without at least a handful of really good programmers to lead the way, a large development project probably has a very small probability of success.
- edwinnathaniel 14y agoI've yet to meet someone who can keep the entire complex, humongous system in their head (we're talking about a system that have been developed for 5-7 years with at least 20 smart developers where things keep changing/updated/fixed, etc). I think you're stretching that point too far. Point #2 is more in the experience, a good developer (not necessarily great) can do this in any given day provided that he/she has the right experience. You don't know what you don't know => all others would either be 50-50 or intuition (a.k.a luck). Point #3 can be done by "good enough" developer as well. The fact that we have plenty "good enough" software systems that requires little to less maintenance running today is a proof of my statement. Point #4 debugging is about focus and patience. Give it to a decent programmer without time-limit and he'll figure it out, eventually. Point #5 any decent developer who have good communication skill can do this. I think we are guilty of underestimating "good" developer and overestimating (or plain worshipping) great developer.