Wednesday, February 9, 2011

Keeping a developer happy 101

As most developers know, our jobs our not glamorous at the best of times. We don't want or need them to be. What we do require, however, is that management provides basic provisions to keep us happy. The following is a list of basic requirements I have found over the years are essential to keep a developer motivated and happy.

1. Appreciation & Praise for work done
There is nothing better for a developer than to get some praise every now and then for the work that they have done. A simple "Wow, thats looking great" helps motivate developers more than one would think.

2. Keep developers away from clients
Yes, I am about to generalize. Developers are not, and do not want to be, people persons. They do not want to answer support calls and talk clients through "How to's". Whilst happy to fix bugs in systems, having to hear them reiterated over and over again over the phone harbors serious resentment towards the job and towards the system and company as a whole. Furthermore, reputation is King. Developers are (in general), not marketing / client liaison experts. Therefore it is best to keep communication between clients and the company through the correct channels. Support desks, electronic issue tracking systems, etc. Management, for crying out loud. Anyone but a developer.

3. Keep developers busy
A bored developer is an unhappy developer, and if bored for long enough will not stick around. Always ensure that developers have enough work to keep them occupied (and no, compiling a list of outstanding bugs / reports does not count as keeping a developer occupied).

4. Provide developers with the best tools for the job
If a developer can motivate a certain tool will increase their productivity on the job, provide it for him / her. Making a developer do things the 'long way round' makes no sense. A developer's job is to solve problems in the most efficient way. So give them the tools they need to make their job more efficient and you're already one step in the right direction.

5. Provide a casual, comfortable working environment
Good development requires serious creativity (as well as skill). You have to do everything you can to encourage creativity in your development team. Making your developers dress in smart, uncomfortable clothing is the first step to stifling that creativity. Freezing them to death with overrun air conditioners, or baking them in a room with no air conditioner, is the second way to stifle such creativity. Simple stuff, but get an office temperature and environment comfortable, and you will be surprised at the difference this makes to the productivity levels in your development team.

6. Provide regular training
The development sphere is continuously evolving. If you don't ensure that your developers are kept up to date with the latest trends, they will leave to skill-up elsewhere. Send all your developers on courses and open days. Even if they don't bring the knowledge learned directly back to the workplace, you are feeding a craving that all developers have to 'stay in the loop'.

7. Ensure that the work a developer is doing has purpose 
Last but not least, let the developers know the purpose of the project / section they are working on. If one cant see the purpose in what they're doing, they'll do it slowly, and badly. Ultimately, developers are problem solvers. If a developer cannot understand the problem, then it is safe to say that the solution will not be optimal.

1 comment:

  1. Completely agreed! Keeping the developers happy and the office environment a place where they want to be can only benefit the company from a productivity point of view. And just because the developers know the product(s) backwards, does not make them support staff for clients!

    ReplyDelete