Part 5 in a series on managing programmers

Here’s a list of some of the things about management that I expect from myself, and from people I work with and for:

Communication: I believe that 95% of all problems can be solved with better communication. Good communication is appropriately clear, comprehensive, timely, and frequent. Good communication adopts the right tone and is and channelled through the right media. Communication is often more about listening and asking than talking.

Honesty: It is the responsibility of leadership to be honest and forthright in their dealings with people inside and outside of their organization. Leaders are able to share both good and bad news in constructive ways with peers, team members, and customers. Good leaders encourage people to be honest with them.

Trust: Believe in people. Actively demonstrate confidence in their abilities. Look them in the eye and openly affirm your trust, keeping any private doubts locked away. These are things that empower. Delegate actively but always with a commitment to help, to teach, and to learn. Tell people you have their back, and then be there when they need you. We gain trust from others when we actually do what we committed to doing.

Compassion: Always try to assume positive intent, and that bad actors are rare. I believe there are at least two sides to every story, and that people generally have a reason for doing what they do. Reserve judgment as long as possible, and avoid assigning blame before you have talked to everyone involved. Deliver bad news in private whenever possible. Work to build up relationships built on mutual respect and understanding, and prefer talking with someone to talking about someone. Never say anything you wouldn’t say to their face.

Leadership: People expect leaders to act like leaders. Stand up on stage and play the role to the best of your ability (yes, everyone is always watching). It is your job to make (hard) decisions, so make the call, take the shot. Leaders understand that inspiration is better than motivation, and that people matter more than processes, systems, or things. Leaders are often friendly but rarely friends with those they lead. Parenting may be a useful mental model if you remember that good parents are always responsible, always making mistakes, always learning, always doubting themselves, always and deeply caring, and always willing to make sacrifices and put the needs of their family in front of their own desires.

Positivity: Radiate positivity and celebrate wins. Focus on solutions, not finding more problems. Find the middle ground, the happy medium, or the best compromise possible that results in everyone getting at least some part of what they wanted. Your job is to get folks thinking about solutions not roadblocks. Yes, you are supposed to have a vision, a plan, and be a bit of a cheerleader for your team and the organization. And yes, you are supposed to smile and give positive feedback for things done right. Negativity is very easy for engineers, and it’s part of your job to set an example and focus on what can be done and what’s getting done correctly. Smile more than you frown. Give energy to the room, rather than take it away. When people come to you they should leave feeling better, not worse.

Coaching: Actively mentor, guide, and provide feedback to your team members. Embrace your role as coach or guide, with the understanding that the best coaches are not necessarily the best players. Good coaches get players to believe in themselves. Good coaches build players’ self-esteem by focusing on the positives more than the negatives. Good coaches understand that every player is different and seek to understand and utilize these differences to the team’s best advantage. Good coaches continually challenge themselves and their players to do better. Good coaches communicate feedback constantly.

Predictability: Fear, uncertainty, doubt, and randomness are the enemies of productivity and happiness. Work to make sure expectations are clear. Strive to minimize surprises at all times. Timing is everything.

Responsibility: Stand up and take ownership of the situation. Generate solutions, not additional problems. Be willing to take the blame, and quick to admit mistakes. Do not make excuses.

Service: Embrace servant leadership. Lead with humility, and be ego-free when searching for the best ideas and solutions. Do what needs to be done, and believe that it’s never not your job. Treat people with respect independent of their status or disagreement with you.

Mastery: Expect the best from yourself and from the people you work with. Challenge yourself and others to deliver quality. Know, follow, and create new best practices. Identify root causes. Note that true mastery is intensely pragmatic, and avoids letting perfection become the enemy of good enough.

Curiosity: Always be learning. Always be improving. Always be seeking a new and different perspective. Admit what you don’t know, then go find out. Avoid stagnation, and embrace change even though it’s always hard.

Humor: Laughter really is the best medicine, and also a fantastic way to forge a common bond. Humor is a tool that should be used very intentionally, always with compassion, and always with the goal of building up rather than tearing down. Humor can soften harder blows, and can delivery feedback with subtlety. And if you can’t at least act like you’re having fun then do not be there.

This is definitely a work in progress, but it sums up a lot of what I think and feel are important.