Managing and Motivating Developers: Tips for Management Cluefulness
Encouraging productivity from your programming staff--at least in the developers' estimation--requires a few special techniques.
Tue, June 24, 2008
CIO — In many ways, managing a developer is just like managing any other employee. Developers want managers who'll help them solve business and technical problems, who'll protect them from unnecessary office politics and who will help them meet their personal career goals. But programmers are...different. Like musicians, these creative folks can alternate between big-picture thinking and persnickety detail in a heartbeat. They can be sidetracked by silly toys, and convinced to work overtime by the promise of pizza and a T-shirt. Trying to understand and motivate these people can drive managers—particularly nontechnical managers—to distraction.
This is not, of course, a new challenge. Managers have been trying to inspire programmers since mainframe days, and several classic books still have relevance today. For example, Tom DeMarco's Peopleware was probably the first to recommend that developers be given telephones with ringers that could be turned off to minimize distractions from the warm, creative fog in which a creative person innovates.
Stan Rifkin, an advisory services provider with Master Systems, referred to a Harvard Business Review essay called "Who are your motivated workers?" by M. Scott Myers, written in 1964 (vol. 42, issue 1, pp. 73-88, if you want to look it up). "'How to motivate engineers' is an old, well-known subject; note the date of the article cited," says Rifkin. The article, in turn, relies on Herzberg's pioneering work, published in HBR a year or two earlier. He added, "So many of our questions have been answered by research and evidence. We just have to learn how to find those answers."
Based on plenty of conversations with developers, however, most managers still haven't learned the proper skills.
So, in the expectation that developers know how their managers can motivate them and can manage them most effectively, I asked in several online communities and social networks, "What one thing, one thing, should the CIO understand about managing and motivating developers?" Developers did give me quite a bit of input, though not at the volume I saw from earlier articles in the Getting Clueful series (which highlighted IT workers' opinions of the key things bosses should understand about telecommuting, software requirements, Agile development, fighting spam and computer consulting). I've summarized the responses below; as you'll see, the introspective nature of the question gave some surprising answers.
Trust Developers to Do Their Jobs
Some managers act as though developers, left to themselves, would never write a line of code, and instead would spend all day playing computer games. That just isn't true. The primary wish among developers who responded to my question was that managers recognize their own and their team's abilities, and trust them to get the work done. ("Try and challenge me. I'm so much more than what you use me for," wrote one anonymous developer via Twitter.)
"All motivation comes from within," says SQL consultant Rudy Limeback, who was a developer for 30 years. "Developers need to be allowed to develop because that's what they love to do," he says.
Managers can appeal to the pride a developer feels in his work. "Find out what the developers like to do, and find a way to let them do it so that it benefits the company," suggests Ilja Preuß software developer at disy Informationssysteme GmbH. "The most motivated people are those who do what they like doing."
"I want my IT manager to understand that I care about the quality of my work," says Bruce Lindman, senior database consultant for Quick Solutions in Columbus, Ohio. "I comment my code with my name, and thus 'sign' every script or procedure I write. Nothing frustrates me more than having to do a shoddy job or compromise quality."
"Developers, as a general group, are highly competent individuals," wrote Paul Danielson, IT director for a newspaper publishing company. "They need to be given room to develop solutions on their own (although perhaps subject to peer reviews to some extent) without being hand-fed work and methodology by management—especially at the CIO level. Nothing quashes the spirit of a good developer quicker than being given a task and then told how he/she must accomplish it."
Nor should managers expect software to be cranked out by factory methods. Software development is not a Six Sigma activity. "You're discovering, not producing widgets," wrote James, a senior developer.
Instead, give developers the big picture. "The more work I am assigned in advance, the better," wrote one via Twitter. "I can see the endgame on my own instead of having it fed to me by someone else."