Managing geeks is hard, not because there is anything fundementally difficult about it but because managers just don’t understand them. A few people have written at length about this online including some fairly books.
Developers are subset of geeks that while similar do have some subtle differences over the average geek. The main points are as follows.
1. Not paying your developer what they’re worth to you.
If you’ve got a great idea that wil produce a great amount of money, don’t expect your developer to work on the project for a low amount of money, especially if they’re aware of what their programming will produce for you. Geeks value fairness and asking them to create something that someone else will reap all the reward for just doesn’t strike most as fair.
2. Not meeting your developers basic needs.
It’s not just about the money. It’s about having something to eat or drink when your developer would like to or being able to clear their headspace when they need to. Find out what your developer needs and likes, and make sure they have some. You don’t have to go as far as google in trying to give them everything that they could desire though.
3. Not making sure your developer has all the tools they need.
If your developer is working on outdated equipment with outdated software, you can expect outdated results. You would be surprised how inexpensive new laptops are, and how much faster the project can be completed with newer equipment.
4. Not ensuring your developer has limited interruptions and distractions.
Newsflash: Developers hate unproductive meetings. They don’t need to know what your latest and greatest idea is unless it is directly related to the project they’re working on. They also don’t like phone calls from end users being transferred to them to deal with. They’re not a help desk. Likewise, asking them “how’s it going?” six times a day does not speed things up. In the same sense, do make sure they’re not being distracted by bright lights or shiny things.
5. Not forcing your developer to do something different.
Developers, just like anyone else, get into ruts. It’s important for you as an Employer to make sure your Developer does see the light of day now and then, no matter how much they complain. A change of pace is always a good thing.
6. Not bragging enough about your developer.
Again, it’s not just about the pay cheque. When you brag to other people about your Developer, and it gets back to them, it gives them an instant self esteem boost, which will translate into more productivity.
7. Not describing end-goals in detail to your developer.
Developers do what they do because they possess a unique skillset. A basic of that skill set is being able to reverse engineer things – even an idea. More often than not, when a developer knows the end goal, they can usually cut the production time by a substantial amount. They can also make you aware of pitfalls in your overall idea.
8. Not understanding the schedule your developer keeps.
Some developers are known as “farmers“. Those are the ones that work when the sun is up, and sleep at night. Others work best during the night (because of all the interruptions they get during the day). Still others work what amounts to swing-shift hours. It’s up to you as a Manager and Employer to find out what works best for your developer, and (provided you can live with those hours), make sure your developer is allowed to work them.
9. Not taking the advice of your developer.
The quickest way to kill a relationship with your developer is to ask them a question, listen to their answer, then not take their advice. If a developer gives you an answer, it’s because they know the answer – that’s how developers’ brains work. If you then do not accept the answer, you’re basically calling the logic and intellect of your developer into question. They will reciprocate. (As a extension of this, don’t simplify a conditional yes into a solid yes, the developer gave the conditions for a good reason and discounting those reasons often causes issues at a later date.)
10. Not giving your developer the freedom they need to develop.
Yes, your project is incredibly important. Yes, it’s going to put the bread on the table. However, consider what would happen if you told your developer to take 20% of their paid time and work on a project that interests them. Google and many other creative development firms do this. They understand that keeping the developer’s mind engaged is a key component to the developers happiness, which is directly linked to the success of a relationship and project. Additionally, sometimes projects done in this talk to them about their projects.
Developers aren’t normal. They’re not ordinary. They’re not complicated, either. It just takes some basic understanding of their nature to ensure a positive relationship with them.
– with thanks to Andy Stetzingertags: