Live data from Hacker News

Super-star programmers

economist.com

1–10 of 124 posts

Re: Super-star programmers

#2
It seems the general consensus is that a great programmer can write better quality code in less time than others.

This requires a high level of aptitude and experience (which comes with practice).

However, I feel the ability to write quality code quickly is just one facet of a great programmer's skillset.

Often overlooked is the ability to communicate and collaborate with others effectively--which is just as important.

With complex projects, I oftentimes find that the solution to my problems has already been solved. Sometimes the best code is no code at all.

Re: Super-star programmers

#3
I think every previous study of this topic has determined that the best programmers are those that can keep more layers of abstractions in their heads (I'll add a citation when/if I find it).

For me, there are days of brilliance and days of complete distraction. I won't call myself a 10xer but I think much of my success has come because I truly love what I do.

EDIT - I couldn't find a reference to the study I was remembering, but Steve McConnell of "Code Complete" fame has written a blog post describing how flawed the studies he's reviewed have been - http://forums.construx.com/blogs/stevemcc/archive/2011/01/09.... There are links to a lot of interesting sources and he clearly isn't arguing against the idea of dramatic differences in programmer ability ... just sayin'.

Re: Super-star programmers

#4
As I reached about half way through the article I got bored and my mind starting having stray thoughts

- god this is long. Isn't it ironic that a superstar programmer would have been bored by now and stopped reading.

- momentarily after that, I guess I just admitted that I'm not s superstar programmer.

- momentarily after that, I wonder if there are writers who can transmit ten times as much information using one tenth of the words.

- just now, I imagine magazines don't want superstar writers. That would diminish the amount of ad space they could sell.

Re: Super-star programmers

#5

It seems the general consensus is that a great programmer can write better quality code in less time than others. This requires a high level of aptitude and experience (which comes with practice). However, I feel the ability to write quality code quickly is just one facet of a great programmer's skillset. Often overlooked is the ability to communicate and collaborate with others effectively--which is just as importan…

Almost as important. I agree wholeheartedly: without communication, there is no team, just a bunch of folks sitting next to each other.

(Still, working is more important than talking about it.)

Re: Super-star programmers

#6
Forgive potential ignorance here, but people often quote Joel Spolsky as saying things like: "...the trouble with using a lot of mediocre programmers instead of a couple of good ones is that no matter how long they strive, they will still produce something mediocre."

What really genius-level things has Fog Creek done? I remember demoing FogBugz, and it was marginally better than its competitors, but it was far from a complete game-changer. Trello is ok, but it's only marginally better than a whiteboard with post-it notes. None of these reinvent an industry, or provide something so outstanding that people rush toward it.

Don't get me wrong; I think Joel has a lot of good ideas in general, and Stack Exchange is indeed a game-changer. But as someone who continually talks about hiring "rock star programmers", I simply don't see a result that I'd consider "rock star" equivalent. But, maybe I'm missing something?

Edit: More than that, I don't even consider myself a rock star developer, just a normal developer who loves learning new things and getting a lot of stuff done. I'd be thrilled to work for a Google or Microsoft, but what would attract "rock star developers" to Fog Creek? Basically, are fancy chairs enough? Isn't the most attractive thing a super interesting problem domain?

Re: Super-star programmers

#7
post #5

It seems the general consensus is that a great programmer can write better quality code in less time than others. This requires a high level of aptitude and experience (which comes with practice). However, I feel the ability to write quality code quickly is just one facet of a great programmer's skillset. Often overlooked is the ability to communicate and collaborate with others effectively--which is just as importan…

Almost as important. I agree wholeheartedly: without communication, there is no team, just a bunch of folks sitting next to each other. (Still, working is more important than talking about it.)

Communication/Collaboration & ability to write elegant code are pretty symbiotic but I'd generally say it's harder to find someone who can elegantly design/code a system than it is to find people to talk about it(Reqs, specs etc).

Re: Super-star programmers

#8
I find this is typically due to a difference between the level of abstraction people are modeling in their head. A great coder can flip back and forth between several different levels (the 50m lines of OS code, the 100,000 of app code, the 1,000 of local code, etc) and have a reasonable idea of how those parts fit together.

Not a complete understanding, just a basic idea.

This is why mediocre programmers are what they are---they lack this ability and end up "flailing around", looking at somewhat random issues, bouncing back and forth, unable to see the pattern, and so end up spending more time writing code that eventually has to get rewritten.

A great programmer will systematically take a problem apart so that even if they don't solve a problem in one minute, they've at least narrowed down the window of options for the future.

This is also why great programmers are always great debuggers.

Re: Super-star programmers

#9
post #3

I think every previous study of this topic has determined that the best programmers are those that can keep more layers of abstractions in their heads (I'll add a citation when/if I find it). For me, there are days of brilliance and days of complete distraction. I won't call myself a 10xer but I think much of my success has come because I truly love what I do. EDIT - I couldn't find a reference to the study I was rem…

I find that programming well, as with much in life, is often a matter of balancing different perspectives or competing priorities.

Can I pay attention to the details without losing sight of the big picture?

Can I do a good job technically, but keep within any other project constraints like budgets and timescales?

Can I write code that is good enough to ship tomorrow, but maintainable enough to work on again next year?

My best work tends to get done when I figure out the right balances. If I let one aspect become too dominant and neglect something else as a result, that’s usually when the problems start.

Re: Super-star programmers

#10
The only example here given of the powers of these superprogrammers, is that they have banded together to make an OS that’s technically impressive, but gets no traction in the marketplace and ends up all but forgotten (PC/GEOS)? Not very enticing…
Post reply on HN