What motivates developers?

I found myself in a meeting yesterday listening to a colleague talk at length about how fundamentally software developers were driven by the need to make money. As I get further into my career, I’ve learned how to both sit on my hands and bite my tongue – not a comfortable experience, but one that prevents me launching into a stream of vitriol. That’s what my blog is for!

Whilst at a very basic level we are all driven by basic physiological needs (food, particularly) and safety needs (a home, warm clothing) as was described in Maslow’s famous Hierarchy of Needs, things that actually motivate us come at a higher level – a need for belonging at a social level, a need for self esteem, and the nirvana of a state “self actualization” (where we believe we are doing the best that we could). Money buys the lower levels, and provides proxies through flash cars or designer labels (or whatever floats your boat) at the higher levels. It, in itself, doesn’t motivate people. (For a deeper discussion of this topic, see the wonderful Dan Pink RSAnimate on The surprising truth of what motivates us).

So, all well and good – but if not money, what might motivate someone to develop software? A means to an end might explain traditional software development roles, sitting in an IT team or a software company producing widgets, but what about the new world of App developers?

In my short spell as a management development consultant, the company I worked for used a model to describe motivations based on the idea of different dimensions in which different people get self esteem. It gives an interesting insight to what might help propel people to developing software which will never make them money.

The first dimension is the aethesthetic; the desire for things to look beautiful. Whilst looking right might not at first appear to be something that has particularly driven software developers in the past, the increasingly merged worlds of graphic design and code today are often places of beauty (and, it could be argued, aesthetic principals are the reason why Apple are the company they are today). Even in the traditional IT world, however, beautiful code is something than motivates many programmers.

The second dimension is the desire to show expertise. There is a competitive spirt amongst some coders to show their expertise; the demoscene that sprung up in the 80s was testament to that, with coders producing abstract works of often great beauty, often within very constrained limits of memory, just to show how good they were.

The third dimension is the desire to do good; altruism sits at the heart of much of the Open Source movement, and there are other interesting examples, from Sukey to DecisionsForHeroes.com of programming ventures that are driven by a want to make society a better place in some way.

The final two dimensions of the model I feel are in some ways less prevalent in the world of coding. The fourth is the desire to stand out from the crowd. There are probably relatively few extrovert leaders in the world of coding, and although they do exist, it seems that many of the more bullish characters in the IT world come from a sales background.

The final dimension, one of wanting to control things, is very evident in people who code, but not necessarily in professional, full time coders. Many an over-complicated Excel macro has come from a need to exert control over process within a team…

It strikes me that to encourage people to adopt a new development technology (or increasingly, an “ecosystem”), it’s about appealling to particularly the first three of these esteem needs. How will a new platform enable you to create beautiful content? How can a new technology build on your existing skills and expertise? And how can a marketplace enable you to get reach to an audience? This is the stuff of aspiration and motivation; if coders want just money, they can always go and work for a bank…

27 thoughts on “What motivates developers?

  1. I would add the following caveat: Once there is enough money for basic needs (or given our current society, basic luxuries), then more money is not as motivating as the desire for self-esteem or the creation of something valuable or beneficial.
    When you hit your personal “comfortable” income level, then only the fear of losing that level of income is motivating. However, fear-based motivation is much less productive in the long term since it creates so much stress as a by-product.

  2. A good post matt! I do agree that developers of the last 2 dimensions are less prevalent. IT just means money for a lot of developers even I see in real life. But I personally feel, people who are in the last 2 dimensions go a long way and are more satisfied with their work.

  3. TL;DR
    Why oh why does this blog need to be this boringly styled.
    I have a deadline to meet, at least make procrastination pleasant!

  4. It is bogus. Tell someone who has been laid off from IT fields that you can develop software for free and do good to human kinds. I am a professional and I develop to make a living, which is my only motivation.

  5. I used to be a software developer, and what motivated me, was this sense that something was beautiful in the structure. This was not something anyone could see or care about, since the external reasons was always – done on time, no/fewer bugs, what the customer wants/needs [a whole other topic]. Those reasons were less important, but beauty often led to fewer bugs. People who were motivated to get the thing out the door, caused the bugs, which I later had to fix.

  6. Love of beauty does not reduce any chance of bug creation; I have worked with tons of people who talk about love of beauty all the time and are the worst programmers. BTW. you don't fix bugs with your love of beauty but your expertise and skills. And the best software engineers do create bugs, it does not matter you care about beauty or not. Software engineering is not abstract art, it is tough science as well.
    You were not fixing bugs created by people who are motivated by money, but by people who are just not smart or good enough. Don't confuse the 2! People who are truely motivated by money are among the best software engineers I have known through my long developer life, I mean people working in the trench, not BS.
    And I believe you guys are talking about real developers, not big CTOs, computer scientists or BS managers, are you?
    Unless you have already made a fortune as a programmer and can indeed be carefree of your mortgage, your kids' college education, and your retirement without any hope of social security money left by the BS government, all this talk of love of beauty and doing good just made me laugh… To those real developers, reaching the highest level of salary possible in IT fields are better motivation than anything else.

  7. Some people complete crossword puzzles or play video games. What do they have when they've finished? Anything useful? No.
    So why do they do it? Because they enjoy the challenge!
    For some software developers it's the same.
    For others it's just a living.

  8. An interesting conversation. Just for absolute clarity, I am not saying that everyone should work for free! However, most people, in most professions, are are not particularly positively encouraged to work more effectively by paying them more. However, money can act very aggresively to demotivate.
    Imagine this scenario: you find out that you are paid more than your colleague, and you are both doing the same job at a similar level. How do you feel? Do you work harder as a result?
    Now imagine you find out that you are paid less than another colleague, again same role, same level. Are you demotivated? Do you feel less inclined to work hard.
    And which of those two sensations is stronger? I would suggest that for most people, the latter.
    We can't live without the funds to be able to afford to survive (and survival varies greatly between different circumstances – survival in Silicon Valley is a very different survival to that in Sudan). However, just getting by, and feeling positively motivated to do more, and work better, are very different states of mind, and money in of itself does little to promote the second state.
    Oh, and point taken about the boring layout. But heck – how unmotivated are you to use this site as a distraction from work ;o)

  9. For me it's the buzz of solving a problem, the 'Eureka' moment. Whether that's working out a better way of doing something, or finally tracking that bug I've been hunting for hours / days, it's an adrenaline hit.
    I've worked on dull projects that bought in the cash, and innovative projects I got involved with because they interested me. I know which ones I'd rather spend my 9-5- on, but as you rightly point out, it's horses for courses…
    Danny

  10. I think there is some confusion between the questions, why do you work (to satisfy my financial needs) and why do you choose to do that by developing software. I spent the last 15 years of my career writing “one of” apps. These apps tied together processes across control centres in different cities (and countries), kept data flowing with minimal interruption between these centres and processes within our control centre, monitored system performance and reliability, performed specialized backup and mirroring of servers, etc. I got my satisfaction from doing things that no one had done before, in fact, doing things that I had been told could not be done. Regardless of how I chose to do it, I had to earn a living. Why I chose to do it by developing software is the question being asked. I have always been a puzzle solver and I consider the development of elegant software to be a sort of puzzle. I get great satisfaction from solving puzzles. The money was a side benefit.

    1. You are the first true professional I have heard verbalize the big picture of IT’s purpose and its role within each corporation. Hardly any one sees the flow/connection of the parts of a computer system so the parts do not fit smoothly. I started over 30 years ago as a business analyst and project manager, converting manual business systems to electronic systems. Every new application I was responsible for came in on time, within budget and did not have any flaws/bugs. Why – because a) as an analyst I assured I had unearthed every business requirement and business need; b) brought in system experts to assure the technical components were accurate and most efficient; c) assured the requirements/needs were correctly and completely interpreted in the design and that the programmers truly understood the design/requirements. Today – forget the professional analyst (we can not afford that step – we will discover the requirements during testing or in production when the user complains.) What has happened to self-pride and taking responsibility?

  11. Company culture plays an integral role in whether a talent or in this case software developers/programmers have buy-in to the company's vision. There has to be a transparent strategy for resources to be apart of the company's vision otherwise the purpose will always be monetary.
    Often company's or management treat employees as a commodity and this indirectly relates to pay.
    Joel Spolsky talks about Fog Creek Software's compensation and their transparency policy. http://www.joelonsoftware.com/articles/fog0000000038.html
    You might say there is always an ego-driven behaviour in our choices. This can be the case for open source developers who see the transition from PHP to Python because of Python's rich culture and diverse community.
    Personally, as a developer, culture is a big motivator maybe Tony Hsieh is right, it's about delivering happiness.

  12. Money is much more than the ability to acquire things, for me at least it has a few other highly motivating functions:
    – it is the strongest indication that what I am doing as a progammer is really appreciated by the people I'm doing it for, and therefore builds my self-confidence in my skills and makes me feel valuable
    – it is an objective score. like getting pleasure from completing minesweeper faster, earning a bigger a number is satisfying in itself
    – everyone has bad days. when the job is hard or seems pointless, the fact that I am being paid keeps me motivated to stay professional – I owe it to those paying me to do a good job, even if I occasionally I don't enjoy it.
    Sure, there are other things that can provide similar motivations in place of money, but sadly nothing is quite so all encompassing, consistant and straightforward.

  13. While the money is certianly nice (but not as nice as it once (sigh) was), I agree that I get satisfaction seeing a well designed program work. Or a nasty bug fixed. That is when I'm not bogged down in company imposed process to get the programming done.
    I know folks who just program for the money, but the ones getting job satisfaction tend to do a better job, as well are happier.

  14. i find the passage about traditional application development versus “app” developers rather condescending. i think you'll find plenty of app developers who are in it for a quick buck (even if that window of opportunity is rapidly closing), and plenty of “traditional” software developers who are motivated by the reasons you discuss. if anything, the former may have been more prevalent at one stage.
    but anyway, an unnecessary distinction in my opinion. a developer is a developer.
    /a “traditional” software developer

  15. lol leave the psycho analysis to the people who can't program. If you start to feel this way again go learn a new technology or share something someone doesn't know.
    This “higher needs” bs is what most of us probably got into programming to avoid anyways.
    Also, don't sit on your hands lay into people when they say foolish things and deserve it.

  16. I'm in agreement with most. Once my basic necessities are met, I am much more strongly motivated by freedom to work as suits me best, whether hours, methods or even location. Also, and probably the most motivating factor for me is being respected and appreciated. If I feel I am valued, have a clear role and am contributing, then I would rather work there than make 20,000 more per year somewhere else where I'm just another rat in a wheel.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.