Here are a few consistent sentiments we saw across various developer levels:
We hear it all the time, relationships are important. I'm, personally, not a fan of the "family" adage that lots of organizations proclaim to make it seem like their culture is fantastic. But I do believe that strong team relationships can help boost efficiencies, reduce redundancy, and make a better product overall.
From the sentiments above, one thing, in particular, stood out: lack of understanding leading to lack of relationship. Sometimes as managers we forget that learning with our team can bolster positive relationship outcomes.
This isn't just about coding language per se - and more about understanding the work your team is doing. If your team is using Go and Kubernetes, then learning Go and Kubernetes can help you understand their struggles and victories a little more authentically. Without this, at most, all we can do is act like a cheerleader when things go wrong or a wedding planner when things go right. But by learning about the work your team is doing, you'll have a deeper level of understanding for what they're going through on a daily basis; therefore, being authentic and trustworthy when victories or struggles arise.
This is a continuation from point #1. By learning, it has a few positive indirect effects. One being that you're showing the team you're willing to go to where they are and that they don't always have to come to you. It shows you're reaching across the divide. Whenever I set out to learn what my team is working on, I get positive feedback at my intention to learn more about their work first-hand. The second is creating an environment for learning and questioning. Developers can see the divide but are powerless in crossing it. By taking the first step to asking questions, you open up the doors for them to feel comfortable in meeting you halfway.
Now developing a relationship and learning more about their work doesn't mean picking up production tasks or pretending your main job is engineering. Your job is still to lead the team. Work to create an environment where everyone can fully contribute to problem-solving. This environment that you create will always benefit from more trust and understanding between you and the team. The goal here is to build deeper trust relationships, and the way to do that is by staying close to the technology to really understand it not to become another coder.
It's ok to acknowledge that you have a dependency on your team because you do. By learning and asking questions, you're placing them in a position of teacher/coach and putting yourself as the student. This inverts the power dynamic and will remind you every day how much you need them while helping them to feel the power that they hold. Most managers feel threatened or out of control by the idea of their team holding power over them but I encourage you to think of how it can boost respect, understanding, and trust.
Learning is underestimated in management. It can feel like we're taking two steps back or wasting time on something developers should have under control. I urge you to see the other side, and block off time on your calendar to gain a better understanding, ask questions, and be a student - your team will be better for it.
Do you have any tips on helping your team manage their careers? We'd love to hear them. Leave us a note at firstname.lastname@example.org or on our socials!