Screen Shot 2014-12-04 at 11.21.55 AM

10 habits of 10x developers

Last week, I discovered The Rise of Developeronomics via Brad Feld. As long as I’ve lived, it has always been a great time to be a software developer. The economics keep getting better for us. My favorite quote:

The one absolutely solid place to store your capital today — if you know how to do it –  is in software developers’ wallets. If the world survives looming financial apocalypse dangers at all, this is the one investment that will weather the storms. It doesn’t matter whether you are an individual or a corporation, or what corner of the world you inhabit. You need to find a way to invest in software developers.

The article also introduced me to the concept of a “10x developer,” and linked to a thoughtful explanation.

The 10x effect is the anecdotal observation that great programmers aren’t just a little more productive than average ones (like 15-20%). They tend to be 10 times more productive.

The second blog post is a fascinating analysis of 10x engineering in terms of thrust (high value flow state work) and drag (administrative necessities).

All this got me thinking, what do I do that makes me a 10x developer? I quizzed Ben Sharpe, Collin Watson, and Jonathan Locke, author of Coding – On Software Design Process. Here is what we came up with.

1. Only do the work that needs to be done. Use the agile process. Involve yourself in UX design. Communicate first. Coding might not be the solution. Premature optimization is the root of all evil. Choose the simplest solution that solves the problem.

2. Build on the shoulders of giants. Use open source frameworks. Use shorthand languages (HAML, Jade, Coffeescript) to go faster. Don’t re-invent the wheel. Leverage package managers for public and private code distribution. Don’t be at the mercy of Central Command (i.e. Microsoft) to fix a bug in a library. And don’t wait for your employer to let you learn it. Learn it on your own, and get a new job that pays twice as much.

3. Know your data structures and algorithms. Our profession is open to self taught tradesmen, but you can’t be a 10x developer if you don’t know when to use quick sort, identify an O(n2) routine, or write a recursive function. Be multilingual – so you can see how different frameworks solve the same problems over and over again. Know enough about the plumbing to be able to make informed decisions (how is this Web framework storing the session state? What is a cookie actually).

4. Don’t be afraid of buying tools that save you time.  Ben says: “I bought a bitmap font tool yesterday for $50. It easily saved me more than $200 of my time.”

5. Find focus. Don’t keep your email open all day. Same for Twitter, Facebook, HackerNews, and Techememe.  Minimize interruptions during productive moments.  Close email, turn off chat, put headphones on… whatever it takes to not be interrupted. Tiny hack:  I wear headphones at work even though I don’t listen to music because people don’t interrupt me.

6. Refactor early and often. Kill your darlings.  Sometimes you have to throw out clever code to do what’s right by the project, but that’s OK. If you have to touch code on an existing project, always leave it better than you found it.

7. Just do it. Think small. Do your weekend project, participate in Startup Weekend. I bought a Mac and worked in a Windows Virtual Machine on .NET projects for a year before I was able to fully leap to Unix and Ruby on Rails.

There are 3 more tips below. Click one of the sharing buttons to reveal tips 8, 9, and 10..

31 thoughts on “10 habits of 10x developers”

  1. Funny how your point about IDEs is self-contradictory. I’m sure there will be a lot of debate on this.

  2. If you are going to do a click wall article and it targets developers, make sure the click wall cannot be defeated by techniques like “view source.”

  3. Great article…

    I totally agree with:”… And don’t wait for your employer to let you learn it. Learn it on your own, and get a new job that pays twice as much. …”.

  4. The IDE point is so… 90th. Try to jump through references and call trees with VIM, gonna be really funny. Some of the other points have their validity though!

  5. I absolutely agree with all mentioned points. Especially the multilingual part and the part that says “learn multiple editors”, because everyone is always discussing about “the best” language or editor, while the best is always different for different jobs.

  6. Another unnecessary blog post littering the web.
    All it says is “Know your stuff and do good work,” basically.

  7. We (at hark) believe so strongly in no fixed tools, that we ask candidates to bring their laptop workstations in to project on the wall during their interview using their tools and setup. It’s completely what you feel comfortable with.

  8. I think Point 8 starts wrong, maybe it should start with just “Use the best IDE possible for your needs and style”, but everything else is really good. Is really nice how not all the point are about actually coding.

Leave a Reply

Your email address will not be published. Required fields are marked *