#17: How do you create happy programmers?

Kathy Sierra links to an interview with David Heinemeier Hansson, of 37 Signals, which talks about making programmers happy.

I’ve been studying that for quite a while. I remember back in the 1980s a programmer came into the camera store and was talking to me. He was down on his company (which won’t go named here but it wasn’t GYM). I asked him why he was bummed. He said his company had killed his last few projects. I still remember what he said to me “I am an engineer and I want to work somewhere that puts my work into the hands of customers.”

The guys who stare at a blank black or white screen and start typing and start creating the things we all find magical just want us to see their work in our hands. Is it more complicated than that?

Yeah, it is. :-)

They also want a workplace where merit rules the day and discrimination is not a word that’s heard. They want good tools (you watch a developer’s eyes light up when you setup a high-end computer with dual-screen high res monitors).

Since there’s a lot of developers and their managers who read here, what else do you find makes for happy programmers?

  • anonymous

    “what else do you find makes for happy programmers?”

    Not working for a convicted monopolist.

  • anonymous

    “what else do you find makes for happy programmers?”

    Not working for a convicted monopolist.

  • http://scobleizer.wordpress.com/ scobleizer

    Anonymous: oh, really? Seems that a lot of the developers I met who built this company are perfectly happy with being freaking rich now.

    And, there are other monopolies being built right now. Is there a difference between a convicted one and a non convicted one? So, you would have been perfectly happy working at Microsoft until 1990? Gotcha.

    By the way, I find it interesting that you posted anonymously. Are you paid by a Microsoft competitor? How would we know? Sounds like you’re a pretty bitter person. Must not be appreciated by your current management.

  • http://scobleizer.wordpress.com/ scobleizer

    Anonymous: oh, really? Seems that a lot of the developers I met who built this company are perfectly happy with being freaking rich now.

    And, there are other monopolies being built right now. Is there a difference between a convicted one and a non convicted one? So, you would have been perfectly happy working at Microsoft until 1990? Gotcha.

    By the way, I find it interesting that you posted anonymously. Are you paid by a Microsoft competitor? How would we know? Sounds like you’re a pretty bitter person. Must not be appreciated by your current management.

  • Matt

    ““what else do you find makes for happy programmers?”

    Not working for a convicted monopolist. ”
    Troll +1

    Anyhow, for me, a good work environment is:
    - Good coworkers (working with conniving twits is bad)
    - Cool technology (COBOL programming, how boring!)
    - Good pay/benefits
    - Flexible (casual dress, work hours are whenever)
    - and so on…

    Pretty hard to find, I’m sure. I can settle for less though.

  • Matt

    ““what else do you find makes for happy programmers?”

    Not working for a convicted monopolist. ”
    Troll +1

    Anyhow, for me, a good work environment is:
    - Good coworkers (working with conniving twits is bad)
    - Cool technology (COBOL programming, how boring!)
    - Good pay/benefits
    - Flexible (casual dress, work hours are whenever)
    - and so on…

    Pretty hard to find, I’m sure. I can settle for less though.

  • Different Anonymous

    There is a difference between a convicted monopolist and non convicted monopolist. A non convicted monopolist is either not doing anything illegal (it’s not illegal to be a monopolist) or it has not been caught yet.

    It seems like Microsoft is into everything these days. It’s more likely than not that the anonymous poster works for a Microsoft competitor :-)

    Legal or not, Microsoft’s monopoly has made many programmers rich and happy. The anonymous poster is very wrong about this.

  • Different Anonymous

    There is a difference between a convicted monopolist and non convicted monopolist. A non convicted monopolist is either not doing anything illegal (it’s not illegal to be a monopolist) or it has not been caught yet.

    It seems like Microsoft is into everything these days. It’s more likely than not that the anonymous poster works for a Microsoft competitor :-)

    Legal or not, Microsoft’s monopoly has made many programmers rich and happy. The anonymous poster is very wrong about this.

  • Matt

    I should mention:
    For me, the feeling that I made a difference is pretty big. When I push code out to users and make waves and get recognized for it, it is great.

  • Matt

    I should mention:
    For me, the feeling that I made a difference is pretty big. When I push code out to users and make waves and get recognized for it, it is great.

  • anon

    2 years ago, I would have said “working with fine coworkers ; thin mid-management” things like that. But I have seen the company open new dev sites around the world, and they have taken that to the extreme : from GMT-8 to GMT+8, with some in the middle. Guess what happened, if you’d like to talk to coworkers on other dev sites, you now have to come much earlier in the morning, and go home much later in the day. Needless to say, now my only priority is to be able to work normal hours. And that’s a very healthy one I can tell.

  • anon

    2 years ago, I would have said “working with fine coworkers ; thin mid-management” things like that. But I have seen the company open new dev sites around the world, and they have taken that to the extreme : from GMT-8 to GMT+8, with some in the middle. Guess what happened, if you’d like to talk to coworkers on other dev sites, you now have to come much earlier in the morning, and go home much later in the day. Needless to say, now my only priority is to be able to work normal hours. And that’s a very healthy one I can tell.

  • http://konsblog.blogspot.com/ Kon ??

    I will just sum it to:
    1. Meaningful + useful work.
    2. Pay incentive.
    3. Flexibility.
    4. Working Enviroment.
    et al…

    list goes on..
    pretty hard to find everything but atleast few of them are necessary :) !

  • http://konsblog.blogspot.com Kon ??

    I will just sum it to:
    1. Meaningful + useful work.
    2. Pay incentive.
    3. Flexibility.
    4. Working Enviroment.
    et al…

    list goes on..
    pretty hard to find everything but atleast few of them are necessary :) !

  • Farooq

    I can bet Scoble’s hands are itching right now…GYM GYM GYM…to be fair nothing huge has been announced today…there are rumors that Microsoft might host its CRM solution along with its partners ala Salesforce.com
    …nthing to write home about…

    my best is that as soon as smth cool related to GYM comes along, and Scoble’s around the 70 post mark, we’ll see rapid posting on the blog :)

    it works out well for us anyway :)

  • Farooq

    I can bet Scoble’s hands are itching right now…GYM GYM GYM…to be fair nothing huge has been announced today…there are rumors that Microsoft might host its CRM solution along with its partners ala Salesforce.com
    …nthing to write home about…

    my best is that as soon as smth cool related to GYM comes along, and Scoble’s around the 70 post mark, we’ll see rapid posting on the blog :)

    it works out well for us anyway :)

  • Totally Different Anonymous

    green bud and triple lattes

  • Farooq

    oh on the topic:

    i worked at GSK on an internship and I was a programmer there…the one thing I valued more than anything was that although I was the only technical guy (computers wise) in the department, I never got stick for something that only other programmer can understand e.g. if they wanted something and I told them that it’ll have to be done in some way to fit in the timeframe etc etc…they deeply respected my expertise and I loved that…

    Also, my manager there was less of a manger and more of a mentor…just loved that guy…I guess mentorship would be a huge thing for programmers working for tech. or non-tech companies in the computer industry…

    We also had unlimited snacks and drinks…another plus I guess :)

  • Totally Different Anonymous

    green bud and triple lattes

  • Farooq

    oh on the topic:

    i worked at GSK on an internship and I was a programmer there…the one thing I valued more than anything was that although I was the only technical guy (computers wise) in the department, I never got stick for something that only other programmer can understand e.g. if they wanted something and I told them that it’ll have to be done in some way to fit in the timeframe etc etc…they deeply respected my expertise and I loved that…

    Also, my manager there was less of a manger and more of a mentor…just loved that guy…I guess mentorship would be a huge thing for programmers working for tech. or non-tech companies in the computer industry…

    We also had unlimited snacks and drinks…another plus I guess :)

  • annak

    - Meaningful, challenging projects (so you dont feel like you’ll be replaced with a very simple script in a few months :)
    - Some time and space for little researches and innovation (so you dont have unrealistic deadlines that you can only achieve by copying pasting your old code)
    - Good hardware, software and friendly community

  • annak

    - Meaningful, challenging projects (so you dont feel like you’ll be replaced with a very simple script in a few months :)
    - Some time and space for little researches and innovation (so you dont have unrealistic deadlines that you can only achieve by copying pasting your old code)
    - Good hardware, software and friendly community

  • http://www.folknology.com/ Al

    Take a look at open source

    Opensource developers are happy because they are working on the things they get off on. Many are hacking away using an old laptop and Vim/Emacs, Not a glossy IDE or expensive dual screens. I would say the Opensource developers are probably some of the happiest developers, but perhaps not in their day jobs!

    There is a lot to take from that me thinks, I also think what google do with their 20% free time on the devs own project ideas is probably very similar in effect to the opensource devs. It also benefits google of course.

    Here are some the things I have come a cross in Opensource that developers really like :

    1) Scratching your own itch or working on the bits your into.
    2) Working with really great coders seeing and feeling their code (the mentor angle)!!
    3) Feeling part of something good.
    4) Freedom as in choice

    Just my humble $0.02

  • http://www.folknology.com Al

    Take a look at open source

    Opensource developers are happy because they are working on the things they get off on. Many are hacking away using an old laptop and Vim/Emacs, Not a glossy IDE or expensive dual screens. I would say the Opensource developers are probably some of the happiest developers, but perhaps not in their day jobs!

    There is a lot to take from that me thinks, I also think what google do with their 20% free time on the devs own project ideas is probably very similar in effect to the opensource devs. It also benefits google of course.

    Here are some the things I have come a cross in Opensource that developers really like :

    1) Scratching your own itch or working on the bits your into.
    2) Working with really great coders seeing and feeling their code (the mentor angle)!!
    3) Feeling part of something good.
    4) Freedom as in choice

    Just my humble $0.02

  • http://at.night.i.grind.my.teeth/ monk.e.boy

    Programmers rarely build the same thing twice (unless they are refactoring) so what they do is creative. It involves thinking, musing, pondering. Trying. Experimenting.

    Can you sit an artist, poet, screen writer or potter down from 8:00am to 4:30pm and ask them to create stuff on demand? Yes. But it’ll be a bit crap.

    Why not tell a musician that he’ll get paid 20K a year then see whether he writes a hit song or not. No. Because you have just beaten all entheusiasm out of him. He will not care.

    monk.e.boy

  • http://at.night.i.grind.my.teeth monk.e.boy

    Programmers rarely build the same thing twice (unless they are refactoring) so what they do is creative. It involves thinking, musing, pondering. Trying. Experimenting.

    Can you sit an artist, poet, screen writer or potter down from 8:00am to 4:30pm and ask them to create stuff on demand? Yes. But it’ll be a bit crap.

    Why not tell a musician that he’ll get paid 20K a year then see whether he writes a hit song or not. No. Because you have just beaten all entheusiasm out of him. He will not care.

    monk.e.boy

  • http://www.RutgerSmit.com/ //Rutger

    Hmm.. there’s only one thing I miss in the whole story: Female human beings (good-looking is a condition).

    For the rest, damm, I’m that happy programmer, w00t.

  • http://www.RutgerSmit.com //Rutger

    Hmm.. there’s only one thing I miss in the whole story: Female human beings (good-looking is a condition).

    For the rest, damm, I’m that happy programmer, w00t.

  • AdrianJMartin

    a project specification to work to!

  • AdrianJMartin

    a project specification to work to!

  • http://virtuallyshocking.com/ Brock Tice

    I still haven’t bought a mac mini because it can’t drive two displays.

  • http://virtuallyshocking.com Brock Tice

    I still haven’t bought a mac mini because it can’t drive two displays.

  • orbit

    well msft is a convicted monopolist..He isn’t trolling, its fact..or are we too fast to forget the facts?

  • orbit

    well msft is a convicted monopolist..He isn’t trolling, its fact..or are we too fast to forget the facts?

  • http://www.geek-dev.com/ Eric D. Burdo

    1) Having someone (boss) who actually listens to ideas.
    2) Cool toys (new software, hardware, gadgets_
    3) flexible hours
    4) casual environment
    5) Quiet office
    6) True peers to work with (running solo isn’t that much fun)

    As to #6. Ever try to have a real geek conversation with non-geeks about geek things? doesn’t happen. Their eyes go blank and they collapse. Without real peers to work with, I find myself going nuts sometimes (or posting comments to Scoble’s blog).

  • http://www.geek-dev.com/ Eric D. Burdo

    1) Having someone (boss) who actually listens to ideas.
    2) Cool toys (new software, hardware, gadgets_
    3) flexible hours
    4) casual environment
    5) Quiet office
    6) True peers to work with (running solo isn’t that much fun)

    As to #6. Ever try to have a real geek conversation with non-geeks about geek things? doesn’t happen. Their eyes go blank and they collapse. Without real peers to work with, I find myself going nuts sometimes (or posting comments to Scoble’s blog).

  • orbit

    well scoble you forget that IBM made MSFT, msft isn’t filled with revolutionary ideas. well vs2005 is good but wouldn’t be surprised. pour more money = better marketed product.

  • orbit

    well scoble you forget that IBM made MSFT, msft isn’t filled with revolutionary ideas. well vs2005 is good but wouldn’t be surprised. pour more money = better marketed product.

  • http://www.thisisfanzoo.com/blog Jeff Fansler

    Here are my top items that make programmers happy.

    1) A challenge
    2) A good team without much negativity
    3) Recognition
    4) Delivering software that will be used
    5) A comfortable environment
    6) Good tools

  • http://www.thisisfanzoo.com/blog Jeff Fansler

    Here are my top items that make programmers happy.

    1) A challenge
    2) A good team without much negativity
    3) Recognition
    4) Delivering software that will be used
    5) A comfortable environment
    6) Good tools

  • http://www.mahugh.com/ Doug Mahugh

    Peopleware, baby. Keeping programmers happy is not a vague unknown — lots of people have done it, not least the folks at those currently unmentionable capital letters.

    Programmers want to write code that matters, for managers who get it. For many developers, that means finding more satisfaction in a struggling startup (where developers populate all of the layers above you) than in a large organization where management is more diverse, regardless of the other perks of a big organization.

  • http://www.mahugh.com Doug Mahugh

    Peopleware, baby. Keeping programmers happy is not a vague unknown — lots of people have done it, not least the folks at those currently unmentionable capital letters.

    Programmers want to write code that matters, for managers who get it. For many developers, that means finding more satisfaction in a struggling startup (where developers populate all of the layers above you) than in a large organization where management is more diverse, regardless of the other perks of a big organization.

  • http://www.excio.com/ Hank Lynch

    I like a good solid management team, one that can plant a flag on a hill and say “I’ll meet you there in 6 months, heres a map”. Bad management can lead to an easter egg sort of development process…”I have a bunch of requirements out there…somewhere, go get em”. If you know what you want, I can deliver it. if you just want “software”, go get someone else.

    That, dual monitors, and a ton of Diet Coke, and you have a happy dev on your hands.

  • http://www.excio.com Hank Lynch

    I like a good solid management team, one that can plant a flag on a hill and say “I’ll meet you there in 6 months, heres a map”. Bad management can lead to an easter egg sort of development process…”I have a bunch of requirements out there…somewhere, go get em”. If you know what you want, I can deliver it. if you just want “software”, go get someone else.

    That, dual monitors, and a ton of Diet Coke, and you have a happy dev on your hands.

  • http://spaces.msn.com/members/ianmcallister Ian McAllister

    Happiness is also left in the absence of factors that create unhappiness for programmers:
    • Politics
    • Meetings
    • Documentation requirements
    • Course changes
    • Rules and regulations covering how they work

  • http://spaces.msn.com/members/ianmcallister Ian McAllister

    Happiness is also left in the absence of factors that create unhappiness for programmers:
    • Politics
    • Meetings
    • Documentation requirements
    • Course changes
    • Rules and regulations covering how they work

  • Innocent Bystander

    Adequate compensation.

    Just because some guy can live like a king on 30k in India doesn’t mean I can in Redmond. If you want me to compete on purely dollars/work unit, then you also need to free me up to work anywhere I want (and I’ll beat the Indian guy’s price from Thailand or somewhere).

    But the playing field isn’t level, it costs you something to have the guy halfway around the world and its a cost companies are not willing to make for US talent (I have no idea why this is so).

  • Innocent Bystander

    Adequate compensation.

    Just because some guy can live like a king on 30k in India doesn’t mean I can in Redmond. If you want me to compete on purely dollars/work unit, then you also need to free me up to work anywhere I want (and I’ll beat the Indian guy’s price from Thailand or somewhere).

    But the playing field isn’t level, it costs you something to have the guy halfway around the world and its a cost companies are not willing to make for US talent (I have no idea why this is so).

  • Karim

    Free food.

  • Karim

    Free food.