Some developer advice for 2008

January 2nd, 2008  |  Published in commentary, productivity  |  12 Comments  |  Bookmark on

Via Tim Bray, a commencement address by Bruce Eckel. It’s worth reading the whole thing, but I found this part especially interesting:

An even more fascinating metric is this: 5% of programmers are 20x more productive than the other 95%. If this were a science, like it claims, we could figure out how to get everyone to the same level.

Let’s say that this follows the 80-20 rule. Roughly 80% of programmers don’t read books, don’t go to conferences, don’t continue learning, don’t do anything but what they covered in college. Maybe they’ve gotten a job in a big company where they can do the same thing over and over. The other 20% struggle with their profession: they read, try to learn things, listen to podcasts, go to user group meetings and sometimes a conference. 80% of this 20% are not very successful yet; they’re still beginning, still trying. The other 20% of this 20% — that’s about 5% of the whole who are 20x more productive.

The lesson here is that if you want to be a great developer, you’ve gotta put in the extra effort that Bruce talks about. There are no shortcuts. In my experience, I’ve seen that there are quite a few developers who rarely read things that pertain to their profession, never attend conferences or talks, and certainly never look into trying new approaches that are even the slightest bit different from what they already know. Well, unless they’re forced to, of course, via organizational changes or layoffs. I don’t understand why anyone would willingly choose a profession for which they’re unwilling to invest in continuous career-long learning.

I also like what he says here:

You need to pay attention to economics and business, both of which are far-from-exact sciences. Listen to books and lectures on tape while you commute. Understanding the underlying business issues may allow you to detect the fortunes of the company you’re working for and take action early. When I first started working I looked askance at people who paid attention to business issues — that was suit stuff, not real technology. But those people were the smart ones.

Another reason to pay attention to the business side is that it’s actually rare that the best technology wins. I used to struggle greatly with this, and over the years I’ve seen many developers do the same. Understanding how markets work and how technologies advance in the marketplace is important for every developer, so they can put their work in perspective and perhaps be a little less religious about it.

So, from these ideas, my two recommendations for 2008 are:

  1. Learn a new programming language or new approach that takes you out of your comfort zone.
  2. Study one or more technology-focused business books.

In both cases, you’ll be very glad you did.


  1. Andrew Binstock says:

    January 2nd, 2008 at 2:00 am (#)

    Alas, preaching to the converted.

  2. Seumas Soltysik says:

    January 2nd, 2008 at 2:20 pm (#)

    Steve, I find the most interesting part of Bruce’s commencement speech to be his quote “no matter what they tell you, it’s always a people problem.” Fundamentally, I think this statement is about the importance of relationships within an organization. Relationships form the foundation for understanding and allow people to exchange ideas and move beyond points of disagreement. I find that as the power of technology increases, we are increasingly ignoring this truth. Emails, wikis and blogs are useful but they do not address the basic issues of trust and understanding which I believe are fundamental to individual satisfaction and productivity and which in turn are essential to the success of an organization.

  3. Vladekk says:

    January 3rd, 2008 at 10:22 am (#)

    The reason for choosing such profession can be very simple: i.e. need to earn money the easist way. People doesn’t always have luxury to choose work they want.

  4. steve says:

    January 3rd, 2008 at 10:48 am (#)

    Vladekk: sure, but even if it’s a profession you choose just to make a living, there’s still no reason that you can’t continually try to improve your skills as a developer. More skill can very often result in better pay.

  5. steve says:

    January 3rd, 2008 at 11:38 am (#)

    Seumas: yes, you’re right, much of what Bruce talks about in his address refers to the “people problem” of software development, and his advice and observations are very good. I’m not intentionally ignoring that part, nor do I disagree with it. Great software teams are great not only because the individuals are great developers, but perhaps more importantly because their interactions serve to strengthen and balance the team as a whole.

  6. Tom says:

    January 3rd, 2008 at 4:19 pm (#)

    “5% of programmers are 20x more productive than the other 95%.”

    But since they don’t get paid 20x more money than the other 95%, there is little incentive to work hard to reach that level.

  7. steve says:

    January 3rd, 2008 at 4:57 pm (#)

    Tom, I think that’s a good point, but I have two responses. First, if 20x productivity contributes directly to an acquisition or merger of your company, then a 20x payoff or more could easily be in the cards. But I agree that if you’re some programmer stuck within the depths of some giant enterprise with bean counters outsourcing everything in sight, that’s unlikely to happen, and in general the chances of that sort of payoff happening to anyone are not that great.

    But second and more importantly, level of pay is not everyone’s top reason to be a developer. I’ve heard many people over the years say they can’t believe they get paid for their hobby, for example (I’ve said that often myself). 20x productivity means that such developers can explore more of the technologies and ideas that fascinate them and drive their creativity. In thinking about all the great developers I’ve known, in fact, I’m not sure I can clearly identify any who were primarily motivated by their level of pay. YMMV, of course.

  8. Concept&Development » Blog Archive » Algo nuevo por aprender says:

    January 3rd, 2008 at 9:41 pm (#)

    […] algunos consejos, y que estamos comenzando el año, es un buen momento para aprender algún lenguaje nuevo. […]

  9. john says:

    January 4th, 2008 at 7:14 am (#)

    Vladekk; yes people DO have that choice. Everyone has. Especially if you want to work, there is always the choice to do what you like. Most people do not dare this, but you really can and if you realize how short this whole gimmick here on earth is, you will damn well do what you like and work hard on that. You’ll live longer too if you do what you like instead of repetitive stuff you don’t like.

    Tom; it is not about money IMHO; most people are not happy in their job or even their life, especially when they get older. I have no numbers here, but I am willing to bet that that is not the 5% talked about here; people studying, reading, learning and generally hard workers, but not over-workers, are very happy people. Anyone with a brain would give up more payment for that.

    I would (and do) personally advice anyone (starters and seniors) who are in the 5% group to start their own company. It gives you back so much more than money. And money too :)

  10. links for 2008-01-06 says:

    January 6th, 2008 at 3:23 am (#)

    […] Some developer advice for 2008 :: Steve Vinoski’s Blog An even more fascinating metric is this: 5% of programmers are 20x more productive than the other 95%. If this were a science, like it claims, we could figure out how to get everyone to the same level. (tags: advice career essay learning print programming ToRead) […]

  11. somecodecowboy says:

    January 7th, 2008 at 1:49 pm (#)

    Ah, there may not be a financial incentive to achieve that 20x productivity level at first glance, but I’ve noticed one benefit: If it takes Bob 1 week to do task X, I can do that same task in a day, maybe two, and spend the rest of the week learning even more stuff. :)

  12. likejazz.COM · 5% ?? says:

    March 18th, 2008 at 1:35 pm (#)

    […] > Steve Vinoski > Tim Bray? ?? ??? Bruce Eckel? The Mythical […]