What motivates programmers?

[Navy] Original article URL: http://blog.assembleron.com/2007/07/11/what-motivates-programmers/
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
Also checkout my latest post Manager Mathematics

computer user

I will start with a question, if you have a spare £400 in your development budget do you A) Reward your star programmer with a £400 bonus or B) Buy him a 24 Inch 1920×1200 LCD screen?

If you answered ‘A’ then you need to read on. If you answered ‘B’ then you understand what motivates programmers but I suggest you still read on and comment later if you have any ideas beyond what I cover.

One of the things that they never teach non-programmer managers is how to motivate programmers. You may think the programmers are motivated by the same things as the rest of your staff, you are WRONG. Programmers tend to be counted within the higher IQ brackets and are therefore harder typically to second guess.

Tim Bryce writes:

“Regardless of the image they wish to project, the average programmer does not have a higher IQ than any other worker with a college degree. In fact, they may even be lower.”

This article is worth reading just to get a view of someone who does not understand programmers at all. And should certainly not be attempting to write about how to manage them with views like the above.

The average programmer may be projecting an image of superiority but non-programmers miss-read this and think it is aimed at them. It is not. You have to understand that programmers rate themselves against other programmers not against anyone else.

This is important when making any decision about how to reward them. If you purchase some new equipment for your sales staff the likely reaction will be … nothing. If you purchase new equipment for your programming staff they will immediately start analyzing who has got what and by reference who is being rewarded more than others based upon the quality of the equipment. If you think this is not relevant think again.

What this comes down to is that the work environment is generally more important to a programmer than any kind of financial reward (within limits). But managing who gets what within your company is not easy.

You can just take the view (and if you have a big enough budget) that everyone is standardized and that you all get the same equipment. This in practice within a development environment never works because each programmer may require a very specialized setup which breaks the standardization rule and your back to ‘who gets what’.

Hardware Cascade

Programmers outwardly will try and give the impression that they are a loose nit bunch who care nothing for standard business practices and certainly not give any importance to the usual office politics of who is above who. This all goes out the window with new equipment because the hardware is seen as a status symbol within the ‘non-existent’ programmer hierarchy.

So when upgrading machines it is vitally important that you understand the structure of this invisible hierarchy. I typically upgrade at the top of the tree and push machines downwards, this can mean lots of re-installing but most programmers will be very happy to put in extra hours to perform the re-install if the reward is a new machine (or at least a faster machine)

The appeal of solving a problem

Programmers program because they love to solve problems.

Remember this rule:

“If you give a programmer a job that does not involve solving something they will become unhappy.”

Solving can mean many things and it is easier (and more important) to understand what classes as a ‘non-solving’ task. Typically asking a programmer to go fix something would be classed as ‘non-solving’ as the solution has already been found and you are asking them to re-solve it by having to look at the code again.

What is important is that you find ways of making ‘non-solving’ tasks into ’solving’ tasks. A typical example would be the difference between asking one of your programmers to put together a report (e.g. some usage statistics) by hand or assigning him more time so he can ’solve’ something and produce an automated system that will email you the report every day/week/month.

Other typical non-solving situations

  • Writing documentation
  • Creating schedules
  • Writing reports
  • 1st Line Support

All programmers have to perform non-happy-non-solving tasks and some cope better with dealing with a higher ‘non-solving’ ratio of tasks than others. Understanding your programmers and who can cope with what level of ‘non-solving’ is important to keeping an overall smooth operation.

Micro Managing
God help you if you try this tactic. My above statement about ’solving’ is at the very heart of why you cannot attempt to micro manage your programming team. Any attempt on your part to perform solving yourself means they are not solving. And even worse your are questioning their abilities to ’solve’ things which just about amounts to the worst thing you can do to a programmer.

In any crisis situation your programmers are likely to be in more of a frenzied state than you are and in nearly all cases your first reaction of helping is the wrong one. The hard part here is that you need to give the impression that you have the utmost confidence in their abilities (do not try and directly tell them this they will take it the wrong way) and that you can leave it to them to solve. And at the same time still be in touch with the direction they are taking to ensure that the crisis is resolved.

Meetings
Programmers see meetings as wastes of time. Most communication between programmers is done via email or by a quick wander to another desk to clarify something that is beyond the scope of an email. Therefore any time within a meeting room is ‘unhappy time’ and unhappiness increases exponentially with the length of the meeting. So at all costs if you do need to drag your development team into a meeting either include some form of Lego to play with (I am serious) or keep them very short.

There are lots of other areas I could cover (and maybe will in another post) but just remember that a happy programmer is a productive programmer.

managing motivate motivation Programming

93 comments:

  1. Anonymous, 11. July 2007, 12:30

    bravo.

    my computer equipment has not been upgraded since 2003 and I work with a 17″ lcd - although other programming staff in our department have larger or even two larger lcd monitors, the quality of work I produce is far better! (yes, tooting my own horn.)

    Being mistreated by not being rewarded or provisioned for, I strive to outperform everyone else with lesser hardware.

    Someone once said, if you think your desktop is too slow then you need a faster server.

    You don’t need

     
  2. Stephan Schmidt, 11. July 2007, 12:31

    Excellent.

     
  3. Stephan Schmidt, 11. July 2007, 12:37

    Additionally as Matt said: ‘Today was my first day onsite at LinkedIn in Mountain View, California. I’m very impressed by two things so far: they gave me a new MacBook Pro and Sushi is on tap for lunch tomorrow. […] “If the MacBook Pro isn’t fast enough for you, we can see about getting you a Mac Pro.” I like a company that knows what developers like and doesn’t have a problem treating them well.’

    I’m always amazed at managers who don’t understand such a simple idea. One of my former employers especially made me argue with him, because developers where on the same hardware schedule as sales people, although developers were running app servers, message queues, databases and IDEs on their machines and sales people used Outlook and IE. Astonishing.

    Peace
    -stephan

     
  4. PDS, 11. July 2007, 13:07

    What motivates programmers? An BMW CS3.

     
  5. Scotch Drinker, 11. July 2007, 14:18

    If when you say “average programmer”, you really mean “above-average programmer”, then maybe you’re on track. But if you really think that the average programmer is significantly smarter than the rest of the workforce, I’m guessing you’ve always had the luxury of working with above-average programmers.

    Average programmers are just that, average. They live in Dilbert-land and they are motivated typically by a paycheck and a job that doesn’t completely suck. If you give them a project with 90% of the requirements drawn out and a technology they are comfortable with, they do OK. On anything else, it’s a crapshoot.

    The sample of programmers is no different than doctors or janitors. You have a few that are well above average, a few that are well below average and the rest are just right in the middle. You start off the article referring to star programmers and that I can buy. I’m guessing that’s what you meant throughout.

     
  6. Chris Smith, 11. July 2007, 14:32

    The article overgeneralizes quite a bit. The “motivated by hardware” bit may be true for some people, but it’s also quite untrue for others for example.

    Programmers see meetings as a waste of time when they *are* a waste of time. Meetings that are useful to programmers involve talking to other programmers or about things that affect programming tasks. My experience is that good programmers expect this, and want it. Managers, on the other hand, need to hear all the perspectives and understand things from everyone’s perspective; sales and marketing, documentation, support, etc., and assess how the overall project is going. Managers spend lots of time trying to get all these perspectives, and that’s why managers aren’t expected to have a lot of time to do the actual work. The problem arises when managers decide that it’s good for programmers to do this as well. This often arises from the even more tragic phenomenon where good programmers start to be “groomed” for management. There’s no more justification for this than for asking salespeople to sit in on tech support every once in a while, or tech support to attend code reviews.

     
  7. Josh, 11. July 2007, 14:44

    Good, solid read. Nice work.

    Everytime I read something like this I feel obligated to force it upon the missus to read and understand, but unfortunately, she doesn’t oblige.

    While I’ll agree that doesn’t summize ALL programmers, it does summize me, whether I am happy with that or not :)

     
  8. Jean-Baptiste Potonnier, 11. July 2007, 14:51

    Hum.
    I Don’t agree with you.
    As a developper, I don’t want to be treaded like a geek, who just want to play with the last hardware. I just need a descent machine to run my IDE, a good keyboard and a good screen.

    I don’t think it’s judicious to reward a developper particularly.

    In case of success, I think it is more adapted to reward the whole team (offer a restaurant, or a drink for the whole team).

    If you want to keep your dev, do not forget to augment their salary, at least at the level they can find elsewhere.

    In a well-functionning team, everyone will find his place. A very good developper will become a natural referent, and this is also some reward.

    By the way with a manager like Tim Bryce, I think it wont be late before I quit. I don’t think he understands the activity of programming.

    Sadly he disabled the comments on his blog…

    PS: sorry for my english…

     
  9. Nick Halstead, 11. July 2007, 14:52

    Scotch Drinker, I have certainly been rather blessed by working with above-average programmers for most of my career (I have recruited most of them.) so yes my management style and experience is based around dealing with above-average programmers who’s average IQ is in the high range. Dealing with below-average is a totally different article.

    Chris, I have overgeneralized because I could write a bible on on the varying instances of how to deal with each programmer I have ever worked with. I did a recent post on ‘programming and management’ - http://tinyurl.com/2pgaod which covers some of your points. I certainly have never pushed any programmer into management, I enjoy doing both but I am a rarety (i believe), I have a friend who works for a big corporation who has been pushed up the ranks and now is leading a large team and it is stressing him out big time. Would he rather just be a programmer? god yes, but he also wants the money.

    Josh, Glad you like it, hope the wife does as well :) My wife has to read most of my posts as shes the one who checks my grammar. (this one hasnt been checked so if its bad I am to blame!)

     
  10. chuck, 11. July 2007, 14:57

    I see writing documentation as a solving problem, which is maybe why I enjoy it more than it seems other programmers do. You’re solving a communications problem: given a technical concept and an audience, find the optimal sequence of words to transmit the cconcept without boring the reader to death.

     
  11. Craig, 11. July 2007, 15:27

    This is great, i’ve been a programmer for many many years, and this PIN POINTS my motivation. Great Read.

     
  12. Chris Smith, 11. July 2007, 15:33

    Nick, I actually didn’t mean to be entirely critical. I completely agree with the part about solving problems, and there’s some good advice there. It’s just that leading with the technophile stereotype got me off on the wrong foot.

     
  13. Zlatan, 11. July 2007, 16:05

    In response to Chris,
    The tragic phenomenon where good programmers start to be “groomed” for management usually doesn’t happen in more “intellectual capital” conscious businesses, basically company usually can’t afford to lose the level of skill that the programmer in favour of a better management candidate, as resource management is sometimes not as important as marketability of a particular skill/level of skill.
    What this sometimes results into is even more tragic phenomenon where companies groom sales and/or business analysts into management positions, which is the most detrimental decision a company can make; worst case example being, letting a sales person to be in charge of the programmers (or any technical staff).
    In my opinion, the answer to this is to let more highly skilled programmers with leadership potential develop (be groomed into) leaders and/or thought leaders for one and then multiple dev project teams and essentially become resource managers of those technical teams with continuous involvement in more critical areas of work so that company doesn’t lose out on their intellectual capital, and the company can also benefit from being sure that all of their projects are going in the right direction following the best practices (as prescribed by the most skilled/experienced programmers) .
    Also, important thing from management side is to remember (as noted in the article) that we’re not all equal. And treating them all as equal can sometimes be very detrimental, especially to the more valuable professionals in that group. Equaling sales and programmers especially when it comes to hardware and similar things is just crazy, and can and will create many, many difficulties to the management.
    Real art is creating and maintaining the equilibrium between sales, project managers, programmers/system architects, and business analysts.
    Sales is only motivated by money.
    Project Managers by timely delivery and adherence to project timelines and policies.
    System Architect/ Programmers by the challenge and appeal to solving a problem, as mentioned in this article (yeah and money) as well as the recognition.
    Business Analysts is sometimes only by client interaction and relationship with the business (although it should be by correctly conceptualizing business process in order to allow for creating the best possible solution and better relationship with the technical/development team, but hey)
    So go figure out, and manage these guys.
    (all this is just my personal opinion, which can change if proven wrong so please feel free to discuss and disagree).

     
  14. Ed, 11. July 2007, 16:10

    The article isn’t just over generalized by a bit. It’s by a lot.

    “I have a friend who works for a big corporation who has been pushed up the ranks and now is leading a large team and it is stressing him out big time. Would he rather just be a programmer? god yes, but he also wants the money”

    This reply contradicts your argument that programmer prefers than money. Unless if your friend is not a star programmer.

    I guess your friend isn’t up for the challenge to become someone higher. Why can’t he view it as another “problem solving” situation? or does “problem solving” only refer to coding these days?

    A company needs continuity. That’s why they groom people to be leaders. If all star programmers never gone up the ladder, they will leave your company in 3 years. Outside the big companies like Google/Yahoo!/Microsoft/IBM and others, programmers are writing code for a specific products. Once these products hit version 3, your star programmers will move to another company because star programmers don’t see any problem needs to be solved. It’s more of fix the bugs. Even Google can’t keep their star programmers longer than 5 years.

     
  15. The Letter A, 11. July 2007, 17:28

    grammar check

     
  16. What Motivates Me as a Programmer » Ryan Price (Pingback), 11. July 2007, 18:57
     

    […] realize what actually motivates me to do the nerd work I do. I read an insightful article today at Nick Halstead’s […]

     
  17. Retrospector, 11. July 2007, 19:59

    I wrote a very similar post about this time last year on motivating geeks. I think motivation of geeks/nerds/coders/programmers/whatever is difficult for some employers to understand, but it’s also known by many and just pushed aside as a secondary priority. You hit the nail on the head for the points you mentioned in my opinion. Good post.

     
  18. John, 11. July 2007, 20:22

    I don’t agree with your assumption that a “smart programmer” would prefer a new monitor to the money to buy a new monitor. If the company buys me a monitor and I leave, they keep the monitor. If I buy the monitor with the money they give me and I leave, the monitor comes with me. Seems like a no-brainer.

     
  19. Mark, 11. July 2007, 20:33

    I tend to think that, as a coder, I am more motivated by money than a large monitor or being taken out to lunch with the boss.

    If people can’t afford me they can go fuck themselves. Why would I work for 17″ monitor when I can buy one myself?

     
  20. The Bleeding Edge (Trackback), 11. July 2007, 20:53
     

    Someone is working with bad programmers…

    del.icio.us popular pointed me here which linked back here. Thats an ittoolbox blog! With a not very nice link to it. So I read the ittoolbox blog (the first one is pretty standard and ive talked about this before so……

     
  21. daniel, 11. July 2007, 20:58

    Who cares whether this reflects The Truth or not? It’s well written and funny, and I enjoyed it (and I’m a programmer too, and I hate meetings ;-))

     
  22. Wynand Winterbach, 11. July 2007, 21:09

    Jean-Baptiste Potonnier makes a good point (at least, this is what I read into it): don’t assume things about your programmers.

    This is true for any kind of company. Managers who recognize employees as individuals and who make efforts to reward individuals according to their preferences, will see a beneficial effect.

    For my part, I craved respect. I worked in a very noisy office. The monitors were CRTs, but I would gladly have continued using CRTs if they just did something about the continuous ringing of phones and if they could have cut down on the number of meetings and other frequent disturbances.

    It comes down to stopping with this “subordinate” B.S. and seeing employees as valuable.

     
  23. What really motivates us? - Zlatan's Blog (Pingback), 11. July 2007, 21:13
     

    […] http://blog.assembleron.com/2007/07/11/what-motivates-programmers/ Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it! Published Wednesday, July 11, 2007 11:05 PM by Zlatan Filed under: Rant […]

     
  24. What really motivates us? - Owner Blog (Pingback), 11. July 2007, 21:14
     

    […] http://blog.assembleron.com/2007/07/11/what-motivates-programmers/ Published Jul 11 2007, 11:02 PM by admin […]

     
  25. Nick Halstead, 11. July 2007, 21:33

    Thanks to everyone for some really great comments! too many for me to individually reply to but I have been overwhelmed by the response on here and by people using the contact form to get in touch.

    My only regret is that it gave too much coverage to Tim Bryce (he wont get a link again) but I notice the comments have been very negative, he says he will be posting a article about on recruiting programmers, well Tim come read how to do it properly on here first, your ideas are 20 years out of date you should start up gardening instead rather than sour our industry with your comments about programmers.

    (p.s. I notice he has not even included the pingback from my article to his) scared of something?

     
  26. James Van Lommel, 11. July 2007, 22:47

    Care to fix the sentence fragment “And should certainly not be attempting to write about how to manage them with views like the above.”?

    I’m afraid that in my business world, the credibility of an unknown author varies directly with the quality of their writing. My manager would be less inclined to believe the claim you’re making if he feels you can’t write well, and it would be really nice to have a 24″ wide-screen flat panel…

    :-)

     
  27. Guy!, 12. July 2007, 0:28

    I think for some people, such as myself, you are spot on with your assessment. Hell I’d just like to move away from the 17″ CRT and 3 year old computer at my work. And appreciation for what we do…yeah that’s a freaking joke. People who get the new computers…have only worked there…well they’ve just started.

    Really enjoy the blog. Keep up the good work.

     
  28. WebGyver, 12. July 2007, 1:13

    Well, you know, as long as I can get a free T-shirt, free food or free gadgets, I’m usually pretty happy. Yes, the paycheck matters, of course, but by and large, most of the programmers I hang out with still grab every conceivable freebie at trade shows.

    And, in all fairness, Nick’s article describes rather accurately how 90 percent of the development departments that I’ve seen (and worked in) over the past decade or so actually function.

    Then again, we all live in different “realities” and may perceive our environments in a myriad of ways. Nick, as far as I’m concerned, I can only hope that my CEO will read this article. Thanks for a job well done.

     
  29. ProjectX Blog » Blog Archive » Links... (Pingback), 12. July 2007, 1:43
     

    […] What motivates programmers […]

     
  30. John Nunemaker, 12. July 2007, 2:36

    Get out of my head. Scary. :)

     
  31. fabiopedrosa, 12. July 2007, 3:00

    Very good article.

    Although I find the money a very appealing motivation (especially, because that’s what keep us going to work), Workplace Environment does play an important role.

     
  32. T, 12. July 2007, 3:44

    1. Respect
    2. Interesting work
    3. Room to solve problems
    4. Ability to get code into production without 75 levels of test theocracy
    5. Machinage
    6. Ability to work with other smart programmers
    7. Stupid programmers actually fired and not kept on, just getting in the way
    8. Quiet, comfortable environment
    9. Market rates
    10. No big brother Internet watching/time card reporting/micro task statusing

     
  33. Darth Sidious, 12. July 2007, 5:26

    One other thing that we do in the Empire to ensure our programmers are working at 150% is an inverse approach.

    Those who function below our standards are initially electrocuted by myself, and if they continue to fail the Sith, Lord Vader will choke them using the powers of the dark side.

    Sometimes, to instill maximum fear, we’ll feed the lowliest of programmers to a Panna Monster in front of others…just so they get the message.

    We’ve found this technique really helps to motivate our technical staff.

     
  34. JTW, 12. July 2007, 5:36

    I tend to think that, as a coder, I am more motivated by money than a large monitor or being taken out to lunch with the boss.

    How would you feel if you had (as a programmer) to work with a 5-10 year old machine with a tiny 12-14″ screen while even the boss’s secretary has a brand new machine with all the goodies?

    And before you say that’s a hypothetical situation, it isn’t.
    I’ve encountered it myself several times. Programmers (even in software firms) are usually at the very bottom of the pile and tend to get castoffs from other departments.
    In this case sales and upper management got the very latest, when their equipment was upgraded every few months to a year it went to their secretaries, percolating down through human resources to project management, etc. etc. until several years later reaching the pit where the programmers were relegated to working in.

    That was an extreme case, but to some degree it’s visible in most environments I’ve encountered over the last decade.
    So much so in fact that programmers tend in my experience to purchase things from their own income just to have something decent to work with at the office (mostly laptops, keyboards, and software).

     
  35.  

    […] What motivates programmers? Related PostsAn unpleasant truth?Want to know a secret?Life with Bill…Bookmark […]

     
  36.  

    […] der Frage, wie man Programmierer motiviert beschäft sich der Programming and Management Blog. What is important is that you find ways of […]

     
  37. Shenouda, 12. July 2007, 7:21

    great subject ….

    we can discuss what motivating programmers by Environment they work in, Benefits they have , how the Psychological factors affect Programmers at work ….

    and how does that change from country to country …
    so we can discuss what is the benefits that the country gives to the programmers ,
    every one can tell us about the benefits in his country to programmers ..

     
  38. Reuben, 12. July 2007, 7:46

    Great article

    I’m a programmer and in my opinion I think you got all the points right. I was really happy when i got my 2 20″ lcd monitors and yeah I get really bored when a meeting goes over 20 -25 mins. :)

     
  39. Paul, 12. July 2007, 11:02

    Wow! I just read Tim’s article, what the hell! Im speechless!

     
  40. Juan, 12. July 2007, 13:20

    Excellent article. Soooo true.
    I’ve been developing on a 500MHz PC and that was in 2006! God, was that machine slow!
    Nevertheless, management did not want to shell out the extra cash for that additional programmer before he’d proven he was worth his salt. Needless to say: I was out of there in a couple of months.
    The daily meetings were such a killjoy. I just wanted to solve problems. Give me the clients needs and I’ll translate them to a database driven application.

    The next job instantly gave me a laptop and a nice paycheck.
    The multiple meetings (again) and the noisy environment (10 developers in a space smaller than my living room) made me bail out again.

    My current job is noisy and cold (due to the sysadmins which I share the room with liking the cold very much). I’m thinking of switching jobs again.

     
  41. Brad, 12. July 2007, 13:38

    There are 2 kinds of programmers; those that are no different from other office workers, and those as you describe. The 2 are opposites. Maybe you’ve been fortunate enough to associate only with the latter…

     
  42. RoLo, 12. July 2007, 14:32

    OMG…. Nostradamus?

     
  43. Kit, 12. July 2007, 15:24

    In one of Scott McConnell’s books (can’t remember if it’s Code Complete or Rapid Development), he talks about what motivates programmers, and what managers think motivates programmers (and likewise what motivates managers and what programmers think motivates managers), and how out of alignment they all are.

    IIRC, managers are motivated more by status and power, and programmers by public recognition of their skills and abilities. I think this is why many top programmers get a kick out of working voluntarily on well-known, high-kudos OSS projects and standards bodies.

    Speaking for myself, I’m not that bothered by the speed of my laptop or size of my LCD screen, so long as it does the job. But I get mightily upset and demotivated if, given a job to do, a) I am not given the time to do it properly, or b) it gets dumped for reasons unrelated to me. The chance to solve interesting problems, and do it properly, is what motivates me the most.

     
  44. jeremy, 12. July 2007, 16:36

    It’s weird but there are a lot of similarities in the way graphic designers are treated in the larger companies as well. We also believe meetings are a waste of time. I’ve also noticed that many of the programmers where I work have side projects they do when they’re bored at work… I have a lot in common with that.

     
  45. theGeneva.com » New job & programmer motivation… (Pingback), 12. July 2007, 17:45
     

    […] I just read a great article about what motivates programmers over at Assemble Ron - click here to check it out! […]

     
  46. links for 2007-07-12 | The Marketing Technology Blog (Pingback), 12. July 2007, 18:21
     

    […] What motivates programmers? If you have a spare £400 in your development budget do you A) Reward your star programmer with a £400 bonus or B) Buy him a 24 Inch 1920×1200 LCD screen? (tags: management programming motivation productivity people employment) […]

     
  47. joe, 12. July 2007, 19:51

    Yeay! The company is going to spend my bonus money on a piece of hardware they own! WTF!! Why wouldnt a smart programmer take the $400.00, buy the montior, then take it into work.. at least that way they own it!
    Fool.

     
  48. Walt, 12. July 2007, 20:13

    Tim Bryce is absolutely correct, your average team of programmers are a bunch of hacks who abuse acronyms to sound elite but are nothing more than copy/paste gurus who poke at API code until it does what they want. There’s very few individuals out there who can actually program properly… thankfully true programming skills aren’t needed by your average companies day to day operations, all you need is a hack who can poke an API enough to get it to do what he wants.

     
  49. Walt, 12. July 2007, 20:18

    May I add that the ones who are fascinated by gadgets such as LCD monitors are usually the hacks who get by copying and pasting code. You are correct in that real programmers are interested in solving problems not playing with fancy gadgets.

     
  50. Stuart Dallas, 12. July 2007, 20:45

    @Walt: It’s not about “fancy gadgets”, it’s about having the tools you need to make solving the problem your focus while working. Battling against a slow machine or a shortage of screen real-estate takes a developers focus away from solving the problem and that doesn’t lead to high productivity regardless of the individuals skills.

     
  51. Walt, 12. July 2007, 20:56

    Stuart, you’re correct, decent equipment is necessary to get any job done properly. HoHowever this post doesn’t speak merely about decent equipment, it speaks about reward and rank through superior equipment. Owning or working on a great machine doesn’t make a a great programmer and true programmers don’t care whether they’re using a top of the line machine or one that simply allows them to get their work done properly.

     
  52. Stuart Dallas, 12. July 2007, 22:07

    Walt: I don’t think Nick is saying that superior equipment makes for better programmers. He’s saying that good programmers know that better equipment will make their lives better and if good work gets rewarded with better equipment then they’ll make the connection and that will motivate them.

    There’s a huge difference between not caring about something and wanting it because it will make life easier. Where I am at the moment I’m working on a very basic machine which drives me nuts, but that doesn’t make me a bad programmer, it makes me a frustrated one. Having said that I don’t care too much, but I do know that if I was given a better machine I would be a happier programmer. I do know that happiness and not having to wait 2 minutes for my machine to switch between my mail client and my IDE will make me a more productive programmer.

    At the end of the day it’s simple maths. It’s definitely cheaper to spend some cash on better machines than to have your programmers twiddling their thumbs while their tools catch up with them.

     
  53. Stuart Dallas, 12. July 2007, 22:14

    Oh, and on the whole rank thing… the best sales people drive the nicest cars to their sales meetings, so why can’t it be that the best programmers have big screens and fast machines to develop on? To me this makes sense.

    I think it’s important to note that not everyone is alike. There are programmers out there for whom money is the biggest motivator, and that’s fine. But I’d prefer to work with a developer who’d take a bigger monitor or a faster machine over a bonus any day of the week and twice on Sunday.

     
  54. Chris Smith, 12. July 2007, 22:16

    Honestly, the article just got this part wrong. Walt’s praise of Tim Bryce is inexplicable, but the comments on hardware-as-reward in this article are equally silly. Any business should be providing their programmers whatever hardware makes them most productive as a matter of course; it shouldn’t be a reward for past performance. If the hardware is impacting a programmer’s ability to do good work, then the employer is throwing money away.

    To give a programmer new hardware because it makes them look cool, though, has problems. (1) This isn’t what motivates many good programmers… though I’d stop short of Walt’s inferring anything negative because someone likes playing with hardware. (2) Joe is right that programmers who do like this sort of thing would probably rather buy the hardware themselves and just own it.

     
  55. Stuart Dallas, 12. July 2007, 22:31

    @Chris: Maybe if you’re in a company with a large budget for hardware. Unfortunately the vast majority of programmers work for smaller companies where hardware purchases are usually a compromise between cost and performance. We’re not talking about programmers who are given the option to get their dream machine for the office.

    I think Nick’s opening statement is incorrect and that unfortunately leads to comments like Joe’s about a developer preferring to own the equipment. The choice is unlikely to be between getting new equipment or getting the equivalent value in cash. A company is more likely to offer less hard cash than they would be willing to spend on new equipment because cash is instantly lost whereas hardware depreciates. Your 400 quid monitor is probably worth less than 150 as a hard cash bonus.

     
  56. Steve Parker, 12. July 2007, 22:46

    I would largely agree with the article, heavily generalised as it is.

    However, one thing which I would note, is the line that “some cope better with dealing with a higher ‘non-solving’ ratio of tasks than others. Understanding your programmers and who can cope with what level of ‘non-solving’ is important to keeping an overall smooth operation.”

    Some people will take more crap than others, before they complain. It does not mean that they are any happier to do it, than those who complain earlier, they are just more “eager to please”. Take care to be very aware of how everybody actually feels about different tasks, not just the opinions of the loudest and most outspoken.

     
  57. Fred Bob, 12. July 2007, 23:27

    I think the differing views of Nick and Tim, in addition to the chaos of viewpoints that follow in these comments, demonstrate very solidly what Sturat Dallas has said - there isn’t an accurate “1 size fits all” answer on this topic.

    I’ve been managing for 16 years, programming for (gasp) 33, and I’ve seen:
    - poor & good programmers motivated by money
    - poor & good programmers motivated by working conditions (I’ll include hardware in this)
    - poor & good programmers make great managers
    - poor & good programmers make poor managers

    I’ve known senior top performers who worked on 6-year-old hardware by choice, because they didn’t want the fuss of rebuilding their system.

    There just is no single answer. Any attempt to ignore that means you’re not doing your job as a manager, and you’re most likely hurting productivity and increasing attrition.

    Treat your employees as individuals and coworkers, not subordinates. The job they do is as important as yours, just different. While you’re at it, treat your boss that way, too. Someone has to sit in the stupid meetings while you do the fun stuff.

     
  58. Fred Bob, 12. July 2007, 23:35

    (Stuart, sorry for the typo in your name in my last post)

    One other thing on hardware upgrades… if you’re budget-constrained (can’t buy all the truly performance-enhancing equipment you should), I’ve always had good results with the developer who’s been at the company the longest getting first right of refusal, and then on down the line, regardless of their productivity or grade. It’s always seemed to work well, and has been perceived as fair.

     
  59. Jorge, 13. July 2007, 0:12

    I have to disagree I’ll take the 400 and buy the monitor for my house.

    sidenote your theme has this ugly click thing, when I click the left it marks everything yuck

     
  60. Dongyi == 冬屹 » links for 2007-07-13 (Pingback), 13. July 2007, 1:23
     

    […] The Programming and Management Blog » What motivates programmers? (tags: programming management motivation productivity psychology employment) […]

     
  61. Adam, 13. July 2007, 3:40

    It sounds like someone doesnt like what they do. Im not sure you need the ‘extra’ perks in order to stay happy. Think about what you do for a living; sit at a desk in front of a computer and make things, and when youre not making things you are surfing the net, something that alot of people wish they could do, but cant. Personally I am thankful for my job as a developer.

    Id go on, but my brain hurts, I had a long day.

     
  62. Nick Halstead, 13. July 2007, 7:34

    Joe, the question was not for the programmer to make, it was for the manager. And therefore the manager is certainly not going to be thinking ‘if I give this guy £400 will he buy something and then bring it into the office?’

    I accept that the whole question is not the best example but as some of you have already stated (and in some cases much more eloquently than I could) that you cannot over simplify to this level as every programmer is different, but I think taking a quick poll from peoples reactions that at least 50% agree with me. (p.s. I liked ‘Get out of my head. Scary’)

    And for the other 50% I would either not have have hired you (sorry but it’s probably true) or I would try and motivate you differently.

     
  63.  

    […] I have been really busy this week with development and replying to people after the response from What Motivates Programmers? which has been amazing. Although as I stated in the comments I was partly peeved that it gave Tim […]

     
  64. Alex, 13. July 2007, 8:49

    You are crazy man. A LCD doesn’t motivate me at all. Give me money!

     
  65. headwedge, 13. July 2007, 8:52

    Bryce says: “There are very few true artists in computer programming,
    most are just house painters” My friend quit his job as a house painter and now has an art degree, he’s no richer (yet) but is a lot happier. Another friend is still a decorator(not for long perhaps) but is having his first showing of his paintings in New York next year. So, never, ever underestimate your house painter!

     
  66. KBac, 13. July 2007, 12:01

    Super duper hardware is good to have, but it is really icing on the cool environment. IMHO, what really motivates is the interactions and technical challenges.

     
  67. Func. News (Trackback), 13. July 2007, 19:34
     

    What motivates programmers?…

    http://blog.assembleron.com/2007/07/11/what-motivates-programmers/any resemblance to reality is pure coincidence …

     
  68. David Mills, 14. July 2007, 13:20

    I like your characterization of programmers as a bunch of loose nits.

     
  69. Rob, 14. July 2007, 21:26

    Outstanding! I was a programmer at one point and I now manage a larger group that includes software guys and you are right on the money with characterizing them.

     
  70. Todd Jordan, 15. July 2007, 3:40

    Nice piece. It sums up some key points I’ve seen here before and other places. The most important one for me is the nonsolve situations. Second is probably when the manager tells me how to solve a problem in the same meeting he asks me to do the design. Can’t you just put that in a table and do an If compare against blah blah blah. I just start nodding and scribble a doodle on my pad, and smile.

    Good post.

     
  71. !LogicalNot, 16. July 2007, 12:52

    Perhaps you should change the title to “What motivates passionate programmers” because I see alot of responses from people who I’m sure are programmers but just dont care as much as the passionate ones. OR they failed to read your article in its entirety.

     
  72. CDriK, 16. July 2007, 13:17

    Nice article, it’s the first time I see these ideas clearly explained to non-programmers.

     
  73. Kurt Frank, 16. July 2007, 14:46

    Just a quick comment on rewarding a programmer with $400 cash or a $400 monitor.

    I was actually asked by my boss once if I would prefer a new $2000 development machine or $2000 cash as reward for my good work. I took the cash.
    Then I asked for a new development machine. My boss said that I just got a $2000 bonus. I said that I just got a $2000 bonus that benefits me. A new development machine would benefit the company.

     
  74.  

    […] an article last week about motivating programmers, Nick Halstead […]

     
  75. Marco Gomes, 16. July 2007, 19:06

    Very good!

     
  76. www.programame.net (Trackback), 16. July 2007, 19:44
     

    ¿Qué motiva a los programadores?…

    Interesante artículo sobre la gestión de programadores, creo que la premisa es básica, un programador no es un empleado más y no puede ser motivado con los mismos incentivos. Como dice el primer párrafo, si tuvieras dinero extra en tu presupuesto …

     
  77. Gabe Chino, 17. July 2007, 15:25

    Good article. True with most programmers. But I am only motivated by money :)

     
  78. Shams Mahmood, 18. July 2007, 3:01

    Excellent article,

    I agree with most things you have said especially the
    ‘The appeal of solving a problem’ part

    just great.

     
  79. Hardware never motivates anybody, it only helps to be productive :) But money isvery important too, it helps to be productive too ;)
    Actually I do not think there is no much difference in programmers and other normal people. Just imagine motivation of a bookkeeper if each simple calculation takes 10 minutes!!! Will he stay motivated? Definitely no!
    I am a programmer for many years and do not think that hardware is some king of fetish. It is a requirement. If you have good programmer, but slow equipment, than programmer cannot be productive even if he really wants to be. So, that is not a motivation - it is a requirement.

    As for the problems to resolve - that is absolute truth :) And lego helps a lot on the meetings :)

     
  80. futureboy, 18. July 2007, 7:31

    I sincerely doubt that whoever wrote this article has actually asked the programmers which they’d rather have–a new monitor at work, or the money to buy themselves that new monitor. I was part of a very large survey of programmers at a previous job, and by far, the one thing that almost every single person pointed out is that we’d rather have more money, not more “perks” or a better laptop. Anyone who thinks otherwise is fooling themselves.

    I used to work for an organization that, by rule, couldn’t spend extra year-end money on employees, but we could buy hardware for the office. So all we got were dissatisfied employees, who left the company for more money, and pretty good hardware.

     
  81. Melvin R. Zamora, 18. July 2007, 7:31

    What motivates programmers? Well, If you are a boss ask your programmers what motivates them. And if you are a programmer tell your boss what you want. Then your in - deal! What if not? Ah… its a another challenging problem to solve! Isn’t it motivating?

     
  82. Nick Halstead, 18. July 2007, 7:48

    futureboy, Well the company you worked for obviously attracted the wrong kind of programmer, just look through the comments and you will see a much greater number agreeing with me, I have run studios with 100+ developers and I can tell you first hand that I have asked the question and the response has always been better equipment, passionate programmers want to program and better equipment lets them do a better job of it.

    If you are just doing it for a job and not for the enjoyment of programming, I suggest you go do something else.

     
  83. pratyush sinha, 18. July 2007, 11:39

    If you mean a programmer who actually wants to program then yes you are right but
    a lot of people are there just because they are good at it not that they like it. In that case one comes under the above average category but still such things will fail to motivare me.

    I will say too much of a generalisation.

     
  84. Turt99, 18. July 2007, 17:29

    I didn’t find any of this to be true, except the problem solving part.

    I’m a programmer, and I don’t want my computer are work to be upgraded if there is an option to have the value of the new monitor in my pocket. Sure a new computer would be nice, but money in my pocket is why I’m working for a living.

    Also I enjoy meetings. I don’t want to have tons of pointless meetings but like someone above said what programmers need in meetings is meeting with other programmers to talk about programming related issue. My office doesn’t have any programmer meetings and it sucks because every programmer is on their own and knowledge is not being shared.

    Ohh and I love programming, well maybe not programming exactly because syntax issues are annoying but I love the problem solving.

     
  85. da phloidster, 19. July 2007, 4:13

    i am a programmer; have been for over 30 years; what motivates me most is money

    yes, i like problem solving, yes i like new hardware, and yes, i even like pizza

    but if you are my manager and want to motivate and reward me, then show me the money! i expect good hardware just like you expect lights and telephones

    it galls me that managers of all stripes get paid more to get in the way of what i do than i get paid to do the real work that creates the real value that the rest of the hierarchy is leeching off of

    programmers deserve an order of magnitude more money than any manager

    one of the measures i apply when considering a new job is the ratio of programmers to overhead (overhead = everyone who is not programming)

    i once interviewed at a company that had 3 floors of offices and staff, and only 4 programmers supporting them all; needless to say i turned their offer down

     
  86. T, 19. July 2007, 12:56

    Yes, all of the developers want the money. Yes, they also want all of the toys (new monitor). The point of giving money is to let the developer know they’re appreciated. The point of giving toys (which stay in the office) is to let the co-workers know that that particular employee’s actions are appreciated.

    If you give me the new monitor, you’re telling me that I’ve done a good thing for the company, and that you want other people to emulate. I personally want the cash, as well as the recognition of ability. To accomplish that, you need to give me both.

    To satisfy both you could also give personal non-work-related toys which benefit the company, but are personal (and owned by the developer). For example, give me that shiny new cellphone with gps/mp3/etc built in. Etch a thank-you onto the back of it so when I leave it on my desk, people see “For all of your work on the BlahBlah Project, Company thanks you.” Now when I’m using it everyone will see it, and I personally gain too.

     
  87. dark_questor, 19. July 2007, 15:22

    For me, a $400 incentive is a short-term motivation while the hardware upgrade is for long-term. I still remember that after 2 months of giving me a bonus (only 2 of us received it from the whole team of 12) for a job well done, I left my previous job because they didn’t give me a system upgrade that I’m requesting for a long time.

    I love the money but I can’t force myself to work on a system that crashes everytime and won’t let you open more than 5 applications at the same time. I’d rather shell out $100 a month from my previous salary in exchange with a decent machine that can cope with my skills.

    I like solving problems… But how can I do that when my system won’t let me do what I want to accomplish. If I will stay in a company for 10 or more years, I prefer the one that will give my machine a yearly $600 upgrade than the one that give me $50 more on my paycheck but no upgrade for my whole tenure.

     
  88. kid, 20. July 2007, 3:23

    man that’s like borderline programmer prejudice lol, talk about stereotyping. some of that i agree with.

    meetings in general are a waste of time, they’re a show to put on for the higher ups and a medium for people to ask questions to which the answers have no bearing on their work and will be forgotten the next day resulting in more wasting of my time.

    micro managing does come off as questioning my competence. every software developer has their own routine, but everyone knows efficiency is key, so if you’re needing to micro manage me, you’re telling me i’m not being efficient, which is pretty much saying i can’t do my job … don’t do that unless you intend to lose an employee.

    don’t however tell me what i would want, because a monetary reward is always better than a material reward, but there should always be an announcement so that everyone knows of the accomplishment. monetary wins though because i could care less what pos machine i’m working on at the office, i want something for me chosen by me.

    software developers do in general have higher-iq’s because their math and logic oriented people. an iq test primarily evaluates a persons ability to follow logic, patterns and solve mathematical problems, if you’re a developer and you’re not better then the average person at those categories it’s probably time to consider another career.

    most developers i’ve met also do have relatively large ego’s … when their work comes into question, it’s rare i find them condescending as your article suggests we all are.

     
  89. Steve, 20. July 2007, 8:47

    Good article, but its point is weakened by poor grammar. That is, be careful with “you’re” vs “your” and “who” / “whom”. “You’re” means “you are,” whereas “your” means “belonging to you.”

    And no, I am not an English teacher.. I myself am a programmer.

     
  90. Nick Halstead, 20. July 2007, 8:56

    Steve, of 80+ comments you are the only person complaining about my bad grammar :)

     
  91. Jrock, 21. July 2007, 0:50

    As a high school senior and programmer id like to point you to a competition, no one participating in this competition is getting money, however, as of writing this 152 people had submitted something to the competition. All of these programmers are motivated SOLELY by an interesting challenge.

    http://www.topcoder.com/longcontest/?module=ViewStandings&rd=10859

     
  92. Satya Prakash karan, 21. July 2007, 11:04

    Intrested article. I agree with the article.

     
  93. Vasiliy Sharapov, 21. July 2007, 21:52

    Allow laptops to replace/augment the machine you give them, that way if they really need better hardware, they will buy it.

     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值