In an article last week about motivating programmers, Nick Halstead claimed:
“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.”
He then goes on to say programmers are typically motivated by equipment upgrades and the need to solve problems, whereas micromanaging and meetings hurt productivity. While I can agree that programmers generally love top notch equipment, hate bad managers, and loathe unproductive meetings, I think it’s dangerous to believe that programmers are smarter or easier to motivate than anybody else.
Programmers are Average
When it comes to the average programmer’s intelligence, I would have to agree with Tim Bryce when he said:
“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”
If you speak with a knowledge worker that’s at the top of their game, like an accountant or a writer, you’ll probably be amazed at how skilled they are at their craft. A writer may not be as analytical and mathematical when compared to a programmer, but that doesn’t mean their IQ or intelligence is any lower. To believe so would put you at a disadvantage since you might not be open to all of the knowledge they are willing to share. The truth is that some programmers are brilliant, some are alright, and some are terrible. The danger in believing that all programmers are all highly intelligent is that you’ll have new or less talented programmers finding it hard to say “I don’t understand.” The real managerial challenge is to deflate egos enough to make it alright to ask for help.
Motivation is Complex
Motivation is a complex subject and motivating a programmer is hard work. I would agree that the motivational factors that work on a lawyer might not work on a programmer, but different programmers are motivated by different methods. It’s true that some programmers love to solve tough problems all day, but some could care less about complexity and are more interested in making beautiful software or making people’s lives easier. By understanding that different factors motivate different people, you’ll be able to better attract and retain different types of programmers. The key is to learn what motivates people, and then be open and honest about how to tie that motivational factor into their jobs.
Reading Material
Since programmers, motivation, and management are all complex topics, the only way to get better is to learn and so here two solid resources that I’ve come across to get you started.
Joel on Software - Joel has a bunch of great material, but his article on A Field Guide to Developers is pretty relevant to this discussion.
Harvard Business Review - The Harvard Business Review is expensive at $99/year, but it’s a top notch magazine and full of quality articles. One management article in particular, Leading Clever People is all about understanding and managing “clever people”.
I am offended, I have a much higher IQ than my fellow ex-students with a college degree!
Maybe you’re one of the brilliant programmers =)
The ‘programmer’ is outsourced so it does not seem that the job itself needs much IQ anyway… Why would you need to motivate the outsourced ones ????
Everyone needs a hug.
Well, usually the first mistake, is assuming that all programmers / knowledge workers are motivated by the same things. Managers not willing to get to know the people they work with, are mostly useless, and will never get their team to deliver excellent results, since most of the time the manager ends up standing in the way of excellent results.
Another good read would be “Behind Closed Doors”, which gives you lots of insights on stuff good managers are doing, and stuff lots of managers are skipping.
Isn’t it time to stop using IQ as a measure of intelligence? Classifying any group using an outdated, biased metric is just as bad as managers thinking that a group of people who happened upon the same career have similar personalities.
Now how do you get a manager to read that ? :)
Most people, programmers included, are motivated by seeing results. The quicker you see usable results you can show off to people, even if only to co-workers, the easier it is to remember why you’re working on it in the first place.
Programmers have traditionally spent inordinate amounts of time building the framework, just to get to the point where they can actually start working on the real project. It’s one of the reasons the game development industry has such high burnout (a new framework is developed for each iteration), and it’s also part of why platforms like Rails have seen such popularity.
It wouldn’t surprise me if most [good] programmers/engineers have a higher IQ/intelligence than most people since an engineer’s mind is usually wired towards problem solving and logical thinking. More intelligent doesn’t necessarily mean smarter, though.
Primarily, I’m motivated by challenge and trying new things (i.e. a new environment or a technique I’ve never tried before).
I agree with you that motivating programmers is difficult as they tend to be very individualistic people. There is a good article on relationships in software development: “Fear of Intervention - How Subordinates Grow to be Entrepreneurs” (http://www.methodsandtools.com/archive/archive.php?id=54)
1.) I never ever want to work for Tim Bryce. 2.) I’ll tell you what, let’s swap an equal number of business majors and CS majors at the school of your choice. At the end of the semester/year, according to Bryce’s unsupported assertion, we should see no difference in GPAs.
“I would agree that the motivational factors that work on a lawyer might not work on a programmer, but different programmers are motivated by different methods.”
Chris, this is a very accurate assertion, and I was happy to read it! Motivation by profession alone is a ridiculous concept. An individual’s personality, and personal pursuits, is more likely to affect how they view work. Some people are very family-oriented, and simply want to be home for dinner — letting them do so should motivate them to make the most out of the 8 hours they are in the office. This has nothing to do with being a programmer, but unless a manager takes the time to figure that out, they will never be able to motivate.
The premise of associating IQ and motivation is totally flawed. I’ve seen someone is super intelligent have the motivation of fly. They let their ego dedicate whether you want done is worthy of the brilliance!!!
I’m a BA and from experience the difference between biz people and developers is like talking right brain / left brain. Biz folks are about ideas while developers about getting the facts so that they can do their job.
I learned the hard way, that there is a huge difference between programmers and developers.
But the crux of the issue is really about screening and hiring the people - whether it’s developers or a sales person. I would argue that if we did generalize about the IQ of a developer vs. a sales person, the developer would win hands down ;) Developers and even a lot of programmers know the business rules better than the actual business which is sad story in itself.
I agree on some points, and disagree on others. As a PHP developer, I don’t believe that motivation and IQ are connected in any way. I know a ton of programmers/developers who have the ability to do things, can problem solve with the best of them, but can’t push themselves to start projects for anything.
No, I find for most developers it is the challenge that motivates them. Whether the challenge to create a program/app that hasn’t been done before or just fixing a problem that no one else can figure out, I get motivated by problem solving which begets creativity.
I agree however that the creativity (or lack thereof) of the manager/supervisor can be either detrimental or a tremendous encouragement to developers. I’ve worked with managers from both ends of the spectrum, and can testify to the idea that if a manager is motivated to get things done and do them well, the programmers/developers under them have a tendency to be more willing/eager to work. I can’t stand working for someone who is just coming in to work, earn money, and go home. As service providers, programmers/developers need to be in an environment in which they work as a team to make things easier for end-users and create newer technology to streamline processes.