How to treat your employees in software development

It is fascinating that the management of a lot of software companies are wondering why their employees are demotivated, quitting all the time and why the quality of their software products is so low although they need ages to develop. In most cases the reason for this is that they are simply treating their developers in a wrong way. I've now worked for a lot of IT companies on a lot of projects of different types, and especially since I am freelancing, I have seen the internals of many companies from different branches. There are very good managers, but there are a lot of bad ones. And most of them don't even have a clue what they are doing wrong. Here is a short list of things I think managers should know about us:
  • Programmers are intelligent people. If you treat them like stupid assembly line workers, they will behave like this after some time, and the quality of your software will decline.
  • If your developers have ideas how to improve your product, listen to them. It will help to improve your product and make the developer starting to indentify with it, making him want to improve it even further. If you don't like their ideas, tell them why. Simply ignoring such inputs is more than just demotivating for developers.
  • Reviews: Regularily sit down with your developers and ask them what they are thinking and what they need. Even ask them about what they are thinking about how you are doing your job. And tell them how and if you are content with their work. Why? If a programmer has the feeling nobody cares about him and his work, he starts not to care for his work as well, which usually results in really bad software.
  • If you tell your developers 2 hours before a deadline that this deadline actually exists, you did something wrong. Really. You cannot expect a programmer to implement a totally new huge feature instantly without proper planning. Well, you can. But then you should expect some.. well.. side effects at least.
  • Team building: Regularily arrange events outside of the office, so that people get to know each other better. If you are working in a team of people you don't know, your performance is everything other than optimal.
I bet there are some more items I could add on this list, but I think these are the basics.

five comments, already:

THank you very much for sharing your experience. Very useful post.
Saulius () (link) - 10 03 08 - 22:22

apparently my epic long reply was marked as spam ;D
FuzzYspo0N - 11 03 08 - 08:54

did you mention via__a or other spam products in your reply? :)
niko - 11 03 08 - 09:01

thanks for your post niko.

but for me there is another problem and thats the customer!
i am working for a big IT company in germany and it just happend, that the company i am working for made a software for the company my parents are working for.

so i had a good view from both sides.
and i have to tell you, that if the customer sends their managers, and none of the later users, to do all the planning with the software architects it has to fail.
because no manager knows what the people, who have to work with the software later, really need in points of workflow and such things.

and the worst thing is that the workers are not allowed to complain about problems they have with the software because the high level decision makers have forbidden this.

and at least it could be really annoying if the customer himself dont know what he wants and has change requests all the time …

the IT business can be really hard xD
thats why i am going to be a part of it! i like the challenge ;)

greets jens
jens - 11 03 08 - 18:30

Very interesting to read this Niko!
Here in Brazil my mom always ask me what’s wrong with IT, cause a LOT of people here are hanging their jobs every time.
I’ve managed (after 6 years of software development) that most part of managers don’t know or don’t care how to treat their developers.
Too bad to see this is not only here, but as I can see this is a problem of the “entire software world”.
Anyway, thanks for this precious information :)
Eder Nucci () - 17 03 08 - 06:03


Name:  
Remember personal info?
yes
no
Email (optional):
URL (optional):
Enter "layered" (antispam):
Comment:Emoticons / Textile

  ( Register your username / Log in )

Notify: Yes, send me email when someone replies.  

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.
Note: If you type in your email adress above, it will be visible to other visitors, although it will be hidden for bots using javaScript.