HPE Developer Community Portal
You’re a developer. You spend the majority of your day clacking away at your keyboard outputting lines and lines of code and working hard to vet your solutions. At the end of the day, you check your code in and mark issues as closed. Each day, you deliver your daily dose of syntactic morsels for everyone to admire.
Because of the hard work you’ve put in, you earn the respect of others and move up to a technical lead position. You now spend the majority of your day architecting delightfully elegant solutions for technically complex problems. You mentor your team and keep them technically on-point while keeping an eye out for technical soundness. You pick up on the concept of delegation and really start to learn what it takes to be a leader. When you wake up in the morning, you know your team is on track with well-crafted and thoughtful solutions. When your day comes winding to an end, you feel satisfied knowing all of the project issues your team has closed. As you review the new and exciting features you’ve developed together, you feel pride in your team. Life is good!
Time continues to pass and now you are officially leading as an engineering manager. You spend your time delegating, communicating, planning, and strategically positioning your team and organization for utter success. Your technical skills are neatly packed away and put in a drawer. And now, when you wrap up your day, you have nothing tangible to deliver.
Having made this same transition myself, going from ending my day delivering tangibles to what feels like piloting a freighter on an endless journey at sea, I know how strange this can feel. At first, I felt as if I wasn’t being productive. When I wrapped up the day, I found myself trying to reflect on all of the things I accomplished – but was left with the feeling that the whole day was one giant blur of meetings and conversations I had with my team and the other groups I work with.
The transition from individual contributor to manager is not always an easy journey. The skillset used to technically lead or write code has very little direct carryovers to people management and thoughtful leadership. It wasn’t until I replaced “I” with “we” did I really start seeing the tangible deliverables of this new role. Enabling my team to achieve all of the end-of-the-day items I previously accomplished and keeping them focused on ‘full speed ahead’, while avoiding the occasional iceberg, becomes my new deliverable.
If you are traveling this same journey from developer to manager, you will face many challenges. Perhaps you have already transitioned and recognize many of these issues. The best advice I can give to folks making this transition is as follows:
Practice forbearance. Avoid the urge to open your code editor to quickly fix a bug in the app your team is working on. This practice is like leaving the bridge of the ship to focus on ensuring the cargo is safe. You’re not doing your team any favors by injecting your code into their projects. Instead, guide them to write effective code by transferring your technical knowledge to them.
Embrace failure. Let your guard down and accept the failure scenarios. We all fall down. It’s how we pick ourselves back up and prevent future failure that truly defines us. The best learning experiences will always come from failure.
Actively conduct retrospectives. Similar to allowing for failure, your retrospectives will be a great place for everyone to learn what worked and what didn’t work with a project.
Set goals. Make sure you set short and long term goals with your team. Reflect on these goals regularly.
Keep the skills drawer open. Find other ways to keep your coding skills sharp. You’ll still need them to remain a relevant leader to your team.
All in all, avoid focusing on the tangible deliverables. Focus on your team’s happiness and steering your cargo safely to port. If your team is well focused, happy, and motivated, the pieces they are building will fall correctly into place.