I deeply care about programmer happiness. There was a major restructuring in our team and now I have been given charge to lead a team of 9 programmers in our company.
I want to know what are some of the Do's and Don'ts as a manager? How can I make sure that I am getting things done efficiently while keeping the work environment healthy?
In my past job I had encountered a few unruly programmers too. They were excellent coders, but took me for granted and refused to abide by certain policies. So, another question is how can I control these kinds of people?
I submit a few items but by no means a comprehensive list. What the other posters submitted covers it.
For me, there 3x2 sides to observe here :
TIPS :
That said, for each part, you & your team have to define :
One time by month, you have to iterate and do it again. As a ritual.
And don't forget, a good manager try to pull THE BEST of each teammate... even if it's not the BEST for your company. If each teammate is aware of this : (i.e your first task is to pull the best of them, with all the tools you have build together), you will build a something based on trust and respect. Not on fear and authority.
And of course, dude, don't forget to be yourself, to be human (with all goodness and badness, fears and joys, don't hide yourself behind the authority. Use the authority like a tool, not a mask).
Authority is like cooking, just having some good recipes and applying them with care.
I think that there are a couple of general rules of thumb, but as long as you try to reach understandings with the individual programmers everything will turn out fine. With that said, here are a couple of things that will keep workplace happiness at a high.
If you follow these tips, hopefully you'll have a great workplace environment and those you manage will like and respect you.
Simple - they are the people who are doing the job, keep them happy.
Give them cool game/movie/programming t-shirts. It always works :)
And food. Lots of good food.
Hey Arthur Brownl of your above points you mentioned. As you told now working with a team of 9 members, you should start thinking in that way and need to mark few point:
I do not know if developers can help you here because managing and development are in fact two different things. Usually problems stem from the fact that they both see their side of the task and think the other party has less work load. The truth is both are hard and I think if both parties would start to see the value added by the other, then harmony would have been achieved easier.
Jayme Edwards has some nice videos explaining these, I really like them:
So it boils down to this, to manage a healthy relationship:
I've never felt that it needs to be super complicated. Good management can be rather simple:
I'll leave you with one of my favorite talks on the subject:
Bence Varga
Full Stack Engineer and Game Developer. CEO at Webellion Ltd.
Having been a manager myself and after reading umpteen books by John Maxwell and Les Brown, the only advice I'll give you is to value and nurture them. Don't tell them what they should do, show them what they should do and they will start following you as a leader. Lead by example, that's what this industry truly lacks.