Motivate Your Software Developers
By Matthew Schwartz
Programmers are motivated by more than just money. By paying attention to their desires and interests, you can motivate your software developers to be happy and productive. Consider these six motivations and watch your team’s productivity and software quality soar.
Programmers need to be challenged or they become bored. While tedious tasks are often necessary, programmers need occasional obstacles. If a programmer has already built a few forums, another forum won’t be a challenge. Hire people who are eager to be challenged by your project. A programmer who has never written a game, yet knows mathematics and graphics, can be very motivated to create a quality game. Productivity will be high for developers who are obligated to learn in order to complete a task. Many programmers like to learn new programming languages and platforms. So consider overall programming skill, not just skill in one language.
The overall project needs to match with your programmers’ interests. If your team is building a game, hire programmers who are truly interested in games and computer graphics. This should seem obvious, but many people hire based purely on technical skill. That’s not enough to have high productivity. Programmers who have a long-time personal interest in your project’s niche will put more effort into quality and speed of development.
Each programmer manages their time differently. Some developers prefer to work alone for hours. Others like to talk with one or two teammates throughout the day. Some work best in the morning and others in the evening. Programmers are rarely very productive when working for eight consecutive hours. Occasional breaks help with focus. Consider each programmer’s style as their work environment is extremely important to their happiness and productivity.
Consider team organization. Many junior programmers like to have a very knowledgeable senior developer available at all times. A mix of senior and junior developers on one team will bring junior programmers up to speed faster and help the senior programmers gain responsibility and learn valuable management skills. Junior developers can also take on tedious or simple tasks which would waste a senior developer’s time. Therefore, mixing skill levels and seniority within one team can often help everyone.
Close supervision motivates some programmers while alienating others. Typically the senior developers will want more independence from management. This also relates to time with clients. Most developers do not want to spend too much time speaking directly with clients. Give your developers a clear list of tasks and let them go on their own to accomplish them.
Consult your programmers for ideas, rather than only tasks. A programmer creating financial software may have ideas for new analysis algorithms or reports. Often fresh, valuable ideas come from those on the team who don’t think about the topic every day. Not only will you get useful ideas, but your software developers will feel more involved in the overall project. They’ll be more motivated to program their suggestions into the project.
A good manager or team leader will recognize all of these motivations and use them for the benefit of everyone. Also consider these motivations when interviewing for software developer positions. You’ll show applicants that you recognize and care about their interests. Keep all of these things in mind and you’ll have a happy, productive team of programmers.
About the author: Matthew Schwartz is a professional software developer who maintains a programming wiki: DocForge. His primary focus is in the PHP articles. He’s also a long-time critic of Microsoft.