

Ask HN: What's the difference between a programmer in the top 10% vs top 1%?  - ntkachov

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%.&#60;p&#62;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?
======
gexla
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.

~~~
breathesalt
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.

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

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

~~~
eli_gottlieb
_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.

~~~
robatsu
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.

