Motivate Your Software Developers
April 29, 2007 | Author: PM Hut | Filed under: Motivation
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.
Related Articles
feel free to leave a comment
Comment Guidelines: Basic XHTML is allowed (a href, strong, em, code). All line breaks and paragraphs are automatically generated. Off-topic or inappropriate comments will be edited or deleted. Email addresses will never be published. Keep it PG-13 people!
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
All fields marked with " * " are required.











1 person has left a comment
In my opinion the article confirms the theories that we got familiar with in class. It doesn’t say anything about motivating by salaries because it is obvious that it is one of the basic ways to encourage employees to work harder.
The first part about the need to be challenged is, I think, refers to two top parts of the Maslow Pyramid. The article sais that we should give new kinds of tasks to our programming team or allocate new people to projects if we develop similar software all the time. If we do this we will take care of our programmer’s self-esteem internal needs and self-actualization needs. Whole this part also refers to the achievement need from the McCleland Theory of needs. People are satisfied when they work hard instead of facing same kind of tasks all the time, which I believe refers to flow experience theory and intrinsic motivation.
Next part sais about programmer’s interests. This refers to the highest level of the Maslow Pyramid. It is very important to help employees in their self-realization so we should now what is their area of interests and then allocate programmers adequate projects.
The preferences about when and with who work is probably connected with the previous part about area of interests but it is extended by social needs and work environment. Social needs are in the middle of Maslow Pyramid. Work conditions as well as relationship with peers can have strong bad influence on workers as we can see from HERZBERG’s Motivation-Hygiene theory so it is important to take care of these things while managing software development.
Team organization is very important. It influence social needs, it can make senior programmers feel self respect (internal self esteem need) and of course it provide support for junior programmers. If you mix junior and senior programmers you will improve faster junior’s skills and learn senior programmers management.
Supervision as we know from the HERZBERG’s Motivation-Hygiene theory can have major bad influence on our developers. This probably refers more to senior than junior programmers. People without experience sometimes prefer when you pay a lot of attention to them and say exactly what to do, while more advanced developers want to feel independent and be let to work their way. Supervision, according to McGregor’s Theory X, is also good when managing employees who dislike work, are lazy or dislike responsibility.
The last part of the article sais about consulting your programmers for ideas. This tip has strong reflection in the theory provided in class. According to McGregor’s Theory Y, if we assume, that employees like work, are creative, seek responsibility, and can exercise self direction, we should inform employees, listen plans, objections and suggestions and allow self direction. Also the Goal setting theory sais that workers will work harder if they participate in setting the goal. So as in the article - not only will you get useful ideas, but your software developers will feel more involved to program their suggestions into the project.