We all know what a Manager is, that person in charge, who tells those under them what to do. Someone who has done the time and earned the respect and adoration of their peers and has not just vision, but a way to communicate that to those that they lead. As a Leader the Manager inspires, directs, encourages, and helps their people grow.
At least they should, but we've all had Managers who did, and didn't, do all those things. I have seen a lot of this in my 25+ years in software.
Now though, or it seems like its more new to me, we have the Technical Manager.
All the People Skills plus the ability to still step in and help the Team out.
So how does it happen...
In the beginning you get a person on the Team who can code, and does it well. Design and architecture are easy, all the hard skills that come with the territory and the job. Some who has risen through the ranks, done their time, and put their stamp on code. Lead a project, helped mentor junior members, and provide insight on tasks the Team takes on.
At some point we all rise though to the top and there is that choice, or the one we used to get, Management or Architect. If you want to lead and grow and be in charge, and if you have the soft skills, you can move on up to Management and go through those fancy titles of Manager, Director, VP, CTO, and so on. Or you get Architect and the world is your playground.
Although in some places, and I used to think this was just me in startups 20+ years ago (I did mention I was old right?) where I was not only leading Teams but also doing deployments, writing automation, testing, coding, and so on. I didn't know it at the time but I was a Technical Manager. Someone expected not only to be able to lead a Team but someone who could be ON the Team.
So not as new as I would think, except now I see the title more often than I used to.
How did I get here?
For me, at the moment, its because I was asked to lead a Team, but was still on a Team that didn't go away. As there was still work to do, frameworks I worked on, and environmental components only I knew how to support, I kept that going. So while leading one, I worked on another, managed both, and that was my foray into it now.
It's not just keeping your technical skills up to par, I still sit in on reviews and design sessions and provide valuable input. There are also the soft skills that one needs, being diplomatic in communicating with other Teams, seeing the strengths and weaknesses in people and being able to provide them a plan to work on them. Being able to build a cohesive Team with skills that compliment not contrast or collide.
It always seems to be a progression, I tend to fall into this because I am not hesitant in providing feedback; especially when I see the Team or department doing bad things. I see holes where we have them in reporting, insights to code stability and quality, and look for ways to bring that information out. Look for new tools that can be useful for others, I tend to do a lot of tooling, and being able to find them and hand them off to my Team is a plus. I guide them to where I want to go, but listen to their input when they come up with good ideas.
Leading is hard, because at times you need to be able to hand things off, and as a Technical person that is tough. Watching someone work I at times think, I wouldn't do it that way, but its not me. Part of Leading, and one of the hardest for me, is being able to let go and let my Team do what they think is best. Often I am pleasantly surprised with what they come up with, and I can watch them grow as a bonus.
So what's next?
Often I think of that next step, but I have a lot of fun doing what I do now and that's satisfying for me at the moment. Some people want to keep climbing, and others find their place and are happy to keep going, until the next thing calls.
Top comments (0)