Ask HN: What's the difference between a programmer in the top 10% vs top 1%?
Lets start with some definitions: these percentages are in your own opinion. You can rate/rank how ever you like. All you have to do is explain the difference between guys that you would rank in the top 10% and guys that you would rank in the top 1%.<p>The discussion that happened in the comments in the 42floors offer letter post started an interesting point. What really is the difference between these two ranks? Is a 1% guy that does apps going into big data still in the 1%? Does the way you rank people have any affect on what field they are in, what language they work with, or what they do? How do you rank developers?
6 comments
[ 3.3 ms ] story [ 30.5 ms ] threadTop 1% - Designs systems that will get the job done for the business/larger org goals, or even designing systems that generate business props. Also, the systems designed are capable of being implemented/maintained by lesser skilled developers. Of course, knows his craft, but is something of the artist, can see the Buddha in the gearbox.
The 1% guy should easily, as in no conceptual difficulties, be able to write a compiler/interpreter, that clearly demonstrates whether one is simpatico with the machine, capable of thinking like one. Actually should love doing this sort of thing, probably, and might have to resist the the tendency to incorporate custom command processing components/metadata/languages in every project.
You do realize that compilers and programming languages are an actual realm of expertise, right? I can, and do, write a compiler, but I couldn't construct you a web framework from scratch.
Acknowledge others' expertise rather than trying to construct a mountain to stand on.
The example of compilers/languages sort of follows from this, as this (constant) awareness leads to pattern recognition which then leads to surmising about leveraging languages, code generation, etc, to take advantage of these patterns & reduce effort/errors.
There are other examples, just that I picked this one.
I think there is a lot more to this than programming ability. Perfection can get in the way of getting things done. A "cog in the machine" mentality keeps developers from taking ownership and making key decisions. Good developers accept that they don't know everything and tackle an area they aren't good at anyways because there is nobody better available for the issue.
What you didn't define is, top 10% of what? All programmers? All available programmers for hire? All programmers who are working full time as programmers?
I'm not sure there is even a big enough gap between the top 1% and the top 10% to make much of a difference. If the determining factor is being able to ship, then the top .1 % is probably either shipping their own products or have significant ownership in the companies they are coding for.
Beyond that, it depends on how big your pool is. The best 1 out of 10 (10%) might be an average contributor just good enough to get in the door at a place not fighting for top talent. The top 1 out of 100 might be good enough to get an interview anywhere in Silicon Valley.
Think about this: you hire ten top 1% programmers but two of them have horrible interpersonal skills and they continually argue and don't work well together. Contrast that with hiring ten top 30% coders that work together great. Which team is going to accomplish more?
When I hear stuff about top 10% or top 1% I have a mental image of a coder with an ego complex and for most of the stuff people do these days, that skill level isn't necessary and will likely lead to problems.