Superstars & Monkeys
I really enjoy what I do, and though I work in a chaotic environment, I really do love my job. Being in the Software Development industry has some really nice perks, being a developer in today’s world really is a great thing. Development isn’t easy though, it is quite mentally demanding; clear focus is of paramount importance. Without absolute focus, progress will only be a dream. This fact is a key player as to what makes being in this industry so great.
That is, if you aren’t a monkey.
In the time I’ve spent so far at my current company, I’ve come to understand just how clear the separation is of the two primary developer types. From all of my previous contracting work, I believed that the differences between the two sides of the fence were minimal. Wrong.
The Fence
There are, fundamentally, two types of developers:
- Monkeys – Developers that work as part of the IT department of a larger company.These developers create software primarily for internal use.
- Superstars – Developers that build software that primarily used externally.These developers typically write software that is sold commercially.
These two groups form the basis of the industry, and how the two are treated. While one could say that “a developer is a developer, right?” – That is not only quite wrong, it’s sadly misinformed. The line between the two is quite clear, at to me, clearer than ever.
The Difference
The difference between the two largely comes down to how they are treated, and the respect they receive. There is an entire list of small differences, here’s a few:
- Interruptions – Our monkeys tend to receive far more interruptions, providing a constant source of distractions. This causes the developer to achieve less productivity, and thus incur more pressure. The pressure typically comes in the form of increased distractions due to projects being late.
- Creature Comforts – The superstars normally see more perks to make their life better, be it the very nice though oddly-shaped Aeron chair (at a mere $900 each), or a retired airplane wing – just to spruce up the place. That’s not to mention simple things like higher end PCs, or decent desks. These are things that our monkeys often have to learn to live without, as the budget is far too tight to allow the extra spending.
- Responsibilities – The monkeys in the industry often have far more projects that they own. This helps to contribute to the increases distractions, as well as further removing the ability to stay focused on a single task. With a dozen or more projects under a single developers ownership, the day-to-day issues of managing them all can be overwhelming.
- Freedom – Superstars are often given a fair bit more freedom, both in what they work on, and in exploring new methods and technologies. This not only adds value for the company by staying on the cutting edge, but also for the developer. By staying on the cutting edge, it increases their marketability.
These are just a few simple examples, there are many, many more.
The Reason
This is a complex yet simple question. The same applies to the answer, simple in that it can be summed up in 3 letters, yet complex in its ramifications. The answer: ROI.
One of the most basic business metrics, Return on Investment, this is the key to how many managers see the world. With superstars this is an easily defined number; simply compare your net projects to what you are paying the developers for that project. While that won’t give you a complete picture due to other costs involved (such as marketing & support), it does give you a starting point.
The picture with the monkeys is quite different in that there doesn’t exist a clear way to establish ROI for a developer, when there is no profit connected to their work. While we could use estimates, such as the cost of hiring a consultant, though that would be highly inaccurate, and is thus mostly ignored.
This is the issue, if management can’t place a dollar value on the development work currently underway, they simply will not see any business value in giving the developers what they need. It’s just that simple.
The Solution
I honestly wish there was an answer here, but there isn’t. Management doesn’t seem to grasp the importance of internal development in many companies, and I can’t say I see a change coming. This requires upper-level management to change their mindset when it comes to the nature of creating software, and IT in general.
While it’s simple to sit here and explain what’s different and why, thinking of a way of leveling the playing field far less so. I’ve spent a fair bit of time trying to think of an answer, so far the only one that’s occurred to me is to either move to the other side of the fence, or become a consultant.
The Conclusion
This article, in its first draft, also included a few addition personal details that did add to the motivation to write this. Among these, were the details of the computer that I was given when I started my current job. The system was a small Dell PC, 1.3GHz, 256MB RAM, and to complete the package, a 15-inch monitor. There were quite a few other, similarly annoying, details as well. Thankfully, at least some of these have improved (still far from what FogCreek offers though); I’ve opted to remove that section in the interest of fairness.
Originally, I had intended this to be more of a scathing look at working as a monkey, this was changed in hopes of finding a middle ground, so that hopefully this article will generate some useful feedback on the problem, and how best to address it. I would appreciate any constructive comments on this, it’ll be interesting to see if there are any possible solutions (well, I’ll be happy with a step in the right direction).
4 Responses to Superstars & Monkeys
Welcome!
I am a software developer, currently located in Virginia. While my primary focus is creating software on Microsoft's .NET stack, I also write about other topics and technologies I find interesting - Ruby on Rails, Security, and even a little about photography.Search
Articles
- January 2012
- October 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- August 2010
- July 2010
- June 2010
- April 2010
- February 2010
- December 2009
- October 2009
- July 2009
- June 2009
- December 2008
- November 2008
- October 2007
- August 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006










As a “monkey” myself, I can’t be entirely objective. However, it seems that there are definite benefits to being a developer in a non-software industry that haven’t been addressed here. For example, shrinkwrap developers (I can’t bring myself to call them “superstars” since my experience is that their skills run the full gamut of the spectrum just as monkeys’ do) are much more likely to be working on large-scale, long-term projects. While there’s certainly a nice feeling about being a part of something so large; for myself, I tend to prefer smaller-scale projects because the gratification of completion — success — comes sooner and more frequently. Granted, there’s a point at which switching focus becomes counterproductive, but on the other hand, juggling several projects at once tends to reduce boredom so that when one hits a roadblock on one project, it’s nice to switch to another until the lightbulb comes on without sacrificing productivity. Also, on average, monkeys tend to work on smaller, more tightly-knit teams; while shrinkwrap developers are more likely to be simply cogs in a larger machine. This gives monkeys a greater chance to really shine on the occasions when they are able to exceed expectations.
Does this mean I prefer being a monkey? Not necessarily; I’d have to play the other side of the fence for a few years in order to find out. For now, I’m content to be part of an exceptional development team at an unexceptional non-development company.
About ways to level the playing field, well, it seems to me that a lot of that comes down to education, which means it’s going to be a lot more work for monkeys since there are no clear built-in ways to measure value. So it comes down to the development team, and/or individual developers, finding way to track tangible, measurable progress. For example, say a monkey is asked to automate a process that’s currently being done on paper. It would be wise for the monkey to take a few extra minutes to estimate and document the length of time it’s taking for that paper process now, and the time required to automate, and the ensuing time savings, as a way to demonstrate the value provided and at what specific cost. Obviously this sort of measurement is far easier to do in some situations than others, but some sort of estimate should always be possible with a little effort (and the effort required should decrease as it becomes a routine practice).
Just a few thoughts, perhaps more idealistic than practical. Mull them as you will.
Brilliant.
I just realised I’m going to school to be a monkey.
Laura,
You raise a good point about the terms I used, I used ‘superstar’ & ‘monkey’ not to indicate skill or talent, but treatment. The terms have nothing to do with what a person can do, but with how management views them.
Superstars are treated better, even if they have no talent. While this isn’t a universal truth, it does apply to many companies, and I believe if nothing else raises a point that needs addressed industry wide.
[...] When it comes to the world of development, Joel Spolsky is, without a doubt, my favorite writer. His work is always interesting and on-topic, and his latest work is something special. Development Abstraction, what a concept, the only way to ensure the highest productivity, and perhaps, a large part of the Superstars & Monkeys issue. [...]