“I started wondering if being a Team Lead was for me…”
The Real Work of (Software) Management — Part 2
Six months into the job, I started to wonder if being a Team Lead was for me. While I felt important being included in so many meetings, my new job didn’t feel nearly as valuable as my old one. It felt like I didn’t do anything besides sit in meetings or send email. I missed the feeling of accomplishment I used to have at the end of each day when I could see (and show!) the results of my efforts.
I also started to fear that others wouldn’t feel I was doing anything important either. Imaginary conversations played through my mind where team members snickered behind my back, or my boss wanted to replace me. After all, people who don’t “add value” don’t last long at any organization, and I certainly didn’t feel I was adding much value!
I dove back into the IDE, trying to code my way into feeling good. This resulted in a dozen half-built projects, which gave me the feeling I was doing real work, but never actually got shipped to customers. Worse, now I had a dozen more things to finish hanging over my head! But at least I had gotten some “real work” done that I could show my boss and team (in case they ever asked).
I finally brought up the subject with my boss, spilling out my questions: “How am I doing at this management thing? I feel like I don’t do anything, yet I’m busy and stressed out all the time. Maybe I should just go back to coding.”
He leaned back in his chair, a knowing half-smile on his face. “You’re doing fine. Your new job is to build your software team and keep it running smoothly, so they produce what’s needed. Let’s look at how your activities in the past few months are doing that…”
He went on to show me the why behind the what of all my “meaningless” activities. I had learned what to do from watching him and other managers, but I’d only been mimicking their actions without understanding why they were important. This is a normal way to learn something new, but now it was holding me back. I needed to get to the next level.
As he connected the dots for me, my guilt over not coding eased. The fears that my team would think I was a slacker melted as I saw that my management job had purpose and value. I was the only one on the team who could do it, and I could see what would happen if the job wasn’t done well.
As I found the reasons behind the actions of leading my team, I learned that “Everything you do is Management.”
Recall from my last article that successful software managers know their only job is to create teams that deliver valuable software for their organization. All of their activities are in support of that goal, no matter how little it looks like management.
Let’s look at four things good managers do that might not look anything like management to you…
1) When you are “just visiting” with your team members
You build trust with your team when you take the time to visit with them, individually or collectively. When you learn about their families, hobbies or weekend activities you show that you care about them. People follow leaders they know care about them, their families, and their goals. Building individual relationships through actively listening to their struggles, coaching them through challenges, and keeping their confidence is vital to effective team management. Visiting with them in casual situations is when this magic happens.
To the outsider this might look like “shooting the breeze” or “slacking off”, but the experienced manager knows the more she invests in relationships with her team members, the more enthusiastically they will follow her leadership. She knows most people want a boss who cares about them, and in return they will “go down with the ship” for her.
If this is a challenge for you, try keeping a short file or notepad on each employee. Knowing their spouse’s name and occupation, the names and ages of their kids, what they enjoy doing on vacation, and other personal information is too important to miss. During your 1:1 meeting with them ask about their challenges, what projects and activities they enjoy or find frustrating, and what their goals are.
Don’t mistake this advice for just acting like you care about them. You actually have to care about your team members, each and every one of them. If you’re struggling with this, you need to step back and ask yourself if they are the right fit for your team, or else you might be subconsciously trying to sabotage their efforts or play favorites.
2) When you are helping get the project shipped out the door
When you are doing technical work side-by-side with the team, you are observing and improving your team’s skills. It doesn’t matter if this is coding, debugging, architecting, testing, or writing documentation. Managers who pitch in know this is a prime time to invest in their team’s training, give informal feedback, and judge skills up close.
Early in my career, my manager and I were working shoulder to shoulder to fix some critical systems, working late into the night. About 11:30 pm the VP of Information Systems (two steps above my manager on the corporate ladder) appeared to see if we needed anything or if he could help. When he heard we had not eaten dinner he bought sodas and pizza, thanked us for our dedication and told us he was confident we would get it fixed. He stayed about an hour and then slipped away quietly. I never forgot that he cared enough to drop by and see if he could help, and he did help, as I was getting really hungry!
Good managers practice servant leadership, making sure the greatest needs of others are being served. They never hesitate to invest in their team, knowing that this effort pays back tenfold. Your programmers want to get better at their jobs, they want to improve, and when they do, it benefits you and the company.
Additionally, managers who spend time mentoring their staff create a “train the trainers” culture. This culture encourages programmers to help each other and makes onboarding new developers much easier. Finally, training requires sharing yourself and what you know, which increases the bond between you and your team. People appreciate being trained and invested in, and they pay it forward to others when given the chance.
3) When you are meeting with customers
Has your team ever asked, “Why do they want this feature?” or “Why is this due-date important?” These two questions represented 90% of the push-back I got from my team, and they weren’t being disrespectful. They were ensuring that the feature and deadline deserved their commitment.
You see, your team fears investing themselves into work and deadlines that don’t matter.
These fears aren’t hypothetical. Most of us have sacrificed our evenings and weekends to hit a due-date that turned out to be unimportant to the customer. We’ve put our sweat and blood into solving hard problems only to learn that the customer didn’t care about the feature. When that happens, we wither inside. We feel deceived; we stop giving 100%. We become cynical, and we start protecting ourselves. We ask those two questions because we don’t want to be hurt again.
The solution: meet with your customers regularly and make sure the work and deadlines are important. Don’t commit to them unless you are convinced, and keep asking questions until you have answers. Meeting with your customers to learn the specifics of why projects and deadlines are important is the only remedy. I know this might feel like “yet another meeting”, but if you don’t believe in the projects and features you can never defend them to your team.
Poor managers often have the attitude, “We just do what we’re told, we don’t ask why.” That’s not management, it’s cowardice. You must ensure your team has valid answers for these questions, or you must tell the customers “No”. You sit in the gap, even in the most agile organizations, and you need to have answers to these questions at your fingertips.
You must meet with your customers regularly, and you must communicate what you learned back to your team. It is fundamental to protecting the health and morale of your team.
4) When you are empowering your team, and letting them make decisions
When you are listening to your team in meetings and work sessions, you are building trust by sharing control. This might not look like management to the uninitiated, but good leaders listen to their team’s ideas, concerns, and opinions. They know that simply holding the title of “Manager” does not make them smarter than everyone and that the best way to earn trust is first to give it.
Listening is a prerequisite to trust building. It shows that you can put your agenda aside and let someone else lead the discussion. The confidence to let others speak and be heard helps others trust you. Many times I’ve heard employees say, “I didn’t like the final decision, but I appreciated that he took my viewpoint into account.”
If good leaders listen, then great leaders let the team make the decision, gently guiding along the way. They know that when the team makes the decision they are committed and excited about what needs to be done. The manager doesn’t need to force their will, but simply ensure the team has the best knowledge of goals and constraints (often called “context”) to make good decisions. It might appear that managers who let their teams make decisions are abdicating their role, but in reality they are trading a small amount of control for a large amount of enthusiasm and team building. As Kent Beck says in Extreme Programming Explained, “There is no substitute for enthusiasm.” I couldn’t agree more.
As the months continued, I became more confident in my new management role. I saw that everything I did was aligned with growing, protecting, and guiding my team, even at the coffee machine. I realized that management was much like parenting: teams, like kids, are always watching how I behave, so I’d better be setting a good example. As the years went on, I became subtler and more intentional in my management style. I learned the importance of caring for and serving my team members, of letting others make the decisions, and of protecting the team from demotivating arbitrary tasks and deadlines.
Next time we’ll talk about strategies to prioritize and balance all the demands that compete for your attention. In the meantime, hang out around the coffee machine and visit with your team!