How to Inspire Software Developers

Different organizations have different dynamics, and can affect employees psychologically in many different ways. For example, a software company that has implemented a regular release cycle may endure organized cycles of stress and release. Stress to complete changes, and then the release of stress once an update is fully tested, packaged and ready for installation. Psychologically, the stress can work to bind team members together toward a common goal, followed by collective elation when a project is completed. However, motivation suffers when a project enters the proverbial death march; when issues are so many and so complex that it seems the project will never end.

In other environments, for example in an IT support structure, the regular stress/release cycle of a well managed project may not exist. In a perfect world, development staff will always be isolated from day to day concerns, left to concentrate on complex development issues. In practice, smaller IT shops may need to involve a portion of their development staff in resolving day to day issues. Over time, this can result in even the most motivated employee feeling as though no matter how hard they work, they aren’t making a dent in the amount of work left to complete.

In over a decade of being led and leading development efforts, I’ve found that the following approaches to motivating employees work well in almost any scenario, whether it be a choatic IT support environment or a well organized SDLC project.

Positive Motivation
Any successful animal trainer will tell you that positive motivation works wonders. Reward an animal for a behavior and it will respond quickly. In the same way, rewarding an employee for researching a new technology or getting excited about a new technology is much more motivating that berating, belittling, or instilling fear. A fearful employee is never an effective employee.

I used to work for a fantastic lead developer who took great care in organizing requirements into a project plan that made it brain-dead easy to implement. All I had to do was go through the simple checklist of requirements and implement each one, one at a time. This approach removed stress for me (by eliminating confusion about what needed to be implemented, and when), and I’m sure removed stress for him, by making it very easy for me to communicate status.

My point here is that stressful projects can often be made much less stressful by adequately communicating requirements, and organizing them in a way that makes implementation requirements easy to understand. A complicated problem is really just a lot of simple problems. Stress often accompanies poor organization.

As the saying goes, “knowledge is power”. Another saying is, “everything is easy if you understand it.” One of the greatest demotivators I’ve seen in the work place is tossing a new technology “over the wall” to an employee and asking them to quickly implement or integrate a solution without any training or assistance. Give your employees the tools they need to succeed and they will approach problems with confidence. Knowledge is one of the greatest motivators.

Monetary Awards
Surprisingly, I’ve found monetary awards to rank surprisingly low on my list of day-to-day motivational factors, both personally and observed. Obviously, money is important and is a huge factor in someone joining and staying at a company. At review time, it’s important to reward someone’s hard work and extra effort with bonuses and appropriate salary increases so that they feel appreciated and motivated to continue to excel at the company. But on a day to day basis, money is often not the motivator that drives a developer to stay a little later, or research a little deeper. Unless a developer is living paycheck to paycheck, which I think would be extremely odd and rare, money is not the most significant motivator when a developer is up late at night hunting for a memory leak. I believe a much greater motivator (day to day), is simply appreciation.

When I first started out as a software developer I worked for a fantastic lead developer who would often tell me, “Bob, you do good work.”. Those four words, “you do good work”, put a spring in my step and an extra bit of fire in my fingers as I coded away. It was genuine appreciation from someone I respected and admired, and that was hugely motivating.

On the contrary, I’ve worked for people who would never give any form of appreciation, even after performing “magic”, and moving mountains, to resolve what I felt were ridiculously complex issues. Appreciation can be one of the greatest motivators.

I believe the most authentic appreciation is delivered in small packages. You don’t have to take your employees to a team building retreat or spend oodles of money on bagles and other treats, although those are good and can be rewarding. Let them know that even though the workload can be challenging, they are appreciated. Sit down across from your employee, look them in the eye, and tell them “you do good work”. And watch their fingers fly.