Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What's the difference between a programmer in the top 10% vs top 1%?
4 points by ntkachov on April 27, 2012 | hide | past | favorite | 6 comments
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?


The way to rank programmers is by how much they contribute to the bottom line. Shipping is important. Good developers are able to "move the chains" and help things get shipped. Bad developers hold up the process. Slippage can cost money.

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.


I agree mostly except about your semantics. I would stick with the term "developer", not programmer. Being a good programmer is certainly correlated with being a good developer, but probably not by 1.


I think your question is too broad. Do you think you could have a top 1% programmer that does HTML, CSS, JavaScript?

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.


Top 10% - gets the coding job done, timely, high quality code. Knows his craft well, but is still essentially a craftsman.

Top 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.


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.

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.


Sorry, I think I poorly worded my comment. The point I was trying to make was that (imo) the better devs have an extremely deterministic viewpoint towards their code and are always paying attention to all the contextual layers in which they are coding and how their code may affect that context.

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: