Hacker News new | ask | show | jobs
by remmargorp64 2312 days ago
10X programmers DO exist. They aren't just a myth, and they aren't just about knowing when to buy vs build, or when to use a particular framework or toolkit, or how to "mentor" other developers.

Chris Sawyer wrote 99% of the code for RollerCoaster Tycoon in x86 assembly language, with the remaining one percent written in C.

RollerCoaster Tycoon was a beautiful game which still stands the test of time to this day. The fact that a single person was able to build a blockbuster-level game almost entirely by themselves in assembly is a truly impressive feat which very few programmers would even dream of undertaking.

Being a "real" 10X programmer is like being a savant. It's about being FUCKING SMART, and it's about being able to deliver a working, polished product in the same time that a normal team of ten people would be able to deliver it (or in a tenth of the time that a single person might).

9 comments

> It's about being FUCKING SMART

It's not always about being FUCKING SMART, sometimes just having a different attitude helps.

I've worked with testers who refused to write code but would rather test everything manually (and fall behind on every sprint!), while stupid (yes), you could easily come in and be a 100X more productive by just writing tests as code.

For one company I worked for we had an old legacy system (running DOS) that we used to produce master copies of our disk images. When we needed a new master it would take the better part of a day to make all parts work. I wrote a program that could do what the legacy system did but under Windows, taking a couple of seconds to run and now we could get a master image as a build artifact. I don't consider myself FUCKING SMART, quite the opposite, especially at that company with those coworkers who were despite the sound of it actually really smart, but unlike my coworkers I had not accepted the situation but felt that there must be something to do to improve it.

> I don't consider myself FUCKING SMART, quite the opposite, especially at that company with those coworkers who were despite the sound of it actually really smart, but unlike my coworkers I had not accepted the situation but felt that there must be something to do to improve it.

This is the secret sauce. The impulse to solve the higher order problem and the willingness to question fundamental assumptions in order to arrive at a solution.

Your non-10x devs might have attempted to optimize the DOS system, or maybe even introducing some kind of caching and just lived with the somewhat mitigated performance.

I agree and have a similar story to yours about improving an old system. At a previous company we had a deployment process that took 1 developer 6 hours to complete. There was a 6 page run-sheet of manual instructions (create Windows image; log in and set these parameters; install this software; etc.)

I took a couple of days to automate the process and reduced the deploy time to something that could be done multiple times a day and didn't require a developer. Am I FUCKING SMART? No, but I was able to see the bigger picture and realize that there are tools that could be applied to this problem.

I agree they exist. The article does too, at the end:

...highly productive developers (10x or otherwise) are problem-solving at a much higher level. Their productivity won’t be apparent from a narrow test, any more than the overall skill of a world-class football player would be apparent from (say) how fast they could run the 100m dash.

The most productive developers are solving big problems, and are bringing judgment and experience to bear on essential design, architecture, and “build vs use existing library” decisions. They’re designing key abstractions that will pay dividends through the life of the project...

I think you're missing the point of the comment you're replying to. Yes there are developers who are more productive by working at a meta-level above normal, but there are also people who are just 10x more efficient at actual coding. Those are distinct concepts that may or may not overlap.
Not to diminish the achievement, but worth noting I think that RollerCoaster Tycoon was based on his earlier Transport Tycoon engine, so at least he did get to split the work up between two projects.

I have a personal theory the that the average 10x programmer is say 2.5x smarter than average, but also 4x more focused on work, netting a 2.5x4=10x total when you remove all the procrastination and general fumbling around of the average developer.

> worth noting I think that RollerCoaster Tycoon was based on his earlier Transport Tycoon engine,

The 10x productivity comes in large part from the code they DON'T write.

And from writing things the right way the first time around rather than on iteration #3 or so.
Environment and control (true ownership) can easily turn 1x into 10x, I'd say. Not saying I could churn out Rollercoaster Tycoon but I bet I'd look, by every metric both reasonable and unreasonable, a hell of a lot more productive working on a game solo with 100% control of all decisions and not having to fret about having something to report in standup every day versus... normal work.
There’s an easy way to find out if that’s true, and it’s to making a similarly successful solo project by yourself!
Productively building and finding the right thing to build to be successful are different things, and one can be good at either while being terrible at the other.
Please dont say that, it's very, very easy to produce beautiful code that will never make any money!
That 4x more focused means "it ain't me, coz right now I'm commenting on HN" ...
Exactly!
The praise given to him for Rollercoaster Tycoon could easily also be given to him for Transport Tycoon, which was also a great game. The community really took it to amazing heights with OpenTTD, but the original was great.
> so at least he did get to split the work up between two projects.

That makes him twice as productive, not half.

Or he's using better tools and languages. (ie, smalltalk vs javascript)
One of the premises of this thread was him writing the game in x86 assembly.
I'd say there are 1000x programmers. Easy. [0]

If we change the question to are there 10x programmers within a team in some "average" company with CVs indicating roughly comparable experience, then ...

The answer is still yes, there are 10x programmers. I've witnessed it myself many times. Not so much because the highs are very high, but the lows are very low.

[0] Fabrice Bellard. John Carmack. Linus Torvalds.

And it's about just loving the work so much more than anything else that when you're in the zone you think about it 16 hours a day and dream about it the other 8 hours! ;-)

Someone who's 2x smart and 2x experienced, only needs to spend 2.5x the amount of time to be a 10x programmer, and that's the realistic difference between someone who is just doing a job and someone who is following their passion.

You are right, they do exist... but they are probably not producing what you expect. I have had the privileged of coming into companies that had a programmer who wrote 10x more code than everyone else at the organization. Unfortunately, the vast majority of this code was not maintainable, riddled with bugs and had several critical security vulnerabilities in it. Good programmers are not programmers that create 1000s of lines of code an hour with no thought to maintainability. If that were the case, we would have 500 million programmers in India cranking out the worlds best code. Any time I hear an organization talk about a 10x/Rockstar/1% developer, I run the other way as fast as possible.
It appears to me that there's a catch. I think those 10x developers can't be 10x out of their domain(s). You never know as well how does each individual prepare for any particular job, how much self-education effort they are amortizing.
Surely it depends a lot on the project. When I wrote the system myself then I was a 10x developer. Now I am working on someone else's code i am not.
> When I wrote the system myself then I was a 10x developer.

Where you 10x more productive than other developers writing systems themselves?

No that's the point. I currently work on a system that is written by someone else. He fixes bugs a lot quicker than me, as he has a lot clearer mental model. I need to reverse engineer ideas from code a lot of the time.
And there’s a 1000x programmer who doesn’t deliver something that a team of 1000 people would create, they deliver something that a 1000 person team couldn’t create in their wildest dreams. Dennis Ritchie, Jeff Dean, etc.