* a schedule is to measure progress not to dictate progress. When deadlines are missed it is a failure of planning, not engineering.
* Deadlines will be missed and don't always expect me to have a clue either. Together we can nearly always work it out and account for it in the future.
* don't make me update the schedule when there are changes. It's not a good use of my time
* don't change the numbers I give you for time scales
* don't merge the tasks without telling me.
* don't change the order of my tasks without a conversation and realise that by changing the order you may lengthen the overall time it takes to complete the set of tasks.
* don't be afraid to challenge the order I think is best, you understand the entire project, I understand and focus on my code and sometimes little else!
* don't move deadlines without telling me, move them after we've had a chat though.
* don't fear me, although I can at times appear to be a right royal pain in the arse I will respect you more if you are straight, consistent and honest with me. Honesty is a big thing with programmers.
* there is no compensation for late nights. Over time the late nights build up and I get slower, less creative and less willing to compromise.
* when I fail to deliver ask me why and don't accept any bullshit from me. Learn how I, as a programmer, talk and learn to detect the odourless bullshit that comes from programmers at times. Warning, late nights increase the volume of bullshit you will have to wade through over time.
* It's difficult to know when to talk to programmers so encourage me to come to you regularly. In general your work
has a lower cost for interruption then mine.
* realise that I love to code but that there is some code I love to write more then other code. Make sure I am getting through some of the shit work and not just screaming through the 'cool' stuff first.
* Coders may seem like robots but there is a lot of ego in code and breaking this ego barrier down will make code teams work better together. If you can foster an atmosphere where programmers are grateful for bug fixes/reports you are doing well.
* Read Peopleware and understand it. Good programmers have all read it and will respect you for seeing them and the project through it.
I've worked as a PM and Senior Coder so I've seen both sides of this. Above everything be honest and polite. The fact that you are even asking this question puts you in the top 10% of managers already!
Good luck.