This happened to me a few years ago. I joined a new company as technical lead and within a few days, was ‘promoted’ to the role of manager, while still being the technical lead…. Over the next 3 years I built the team from 6 to nearly 30. Eventually I found myself trying to both remain technical, and be effective in middle management, and had to make a difficult choice.
These days my ’empire’ is a much more manageable 4 and I’ve regained my technical focus. 🙂
A lot of very good technical people have been turned into very bad managers over the years. My goal was (and is) to be at least tolerable. Here are some sources and a couple of observations I found useful along the way.
It sounds so blindingly obvious, and yet I’ve met many managers who don’t believe there’s anything to learn. If you’re in a small company and there’s no formal training, then you’ll have to do it yourself.
I found the following sources very useful, even if your company offers training.
Short and pragmatic. A great starting point. Johanna and Esther also both have great blogs as well.
These are more biased towards corporate America, but I’ve found most of their content is perfectly applicable to any company. There is a lot of focus and specific guidance on the basics of good management; One-on-Ones, Feedback and Coaching; as well as many other topics. At this point they’ve done well over 500 casts, so they have collected 30 or so core casts here
In an agile environment, your responsibilities may not be what you think
In a traditional development team, the manager tends to be the entry point to the team, while in an Agile (Scrum) team, work items flow directly from the product owner to the developers. This means that in an Agile team:
- The role of line manager is less focused on the work items and more on team well-being, coaching and mentoring, as well as the usual process work that comes with being a manager (expenses, hiring, resource allocation, reports, etc).
- You can scale a little further in an agile environment since some of the responsibilities of the role are taken by others (primarily the Product Owner and Scrum Master)
Be aware of your role power
You’re not a normal member of the team any more; your words and opinions have extra weight. If you find yourself as both a technical contributor and line manager you’ll need to work hard to clearly separate your roles. It’s very easy for the team to defer to your greatness, even when their ideas are better. In my case I explicitly raised it as a topic with the team.
It’s a journey
Management is a discipline just as much as software development is. It takes years to be an expert programmer in even a single language – don’t expect to be an expert manager overnight.
Expect to make mistakes; lots of them. Unlike software you can’t just fire up the IDE to correct your mistakes. Dealing with peoples feelings and ego’s is a whole new skill set.
Ultimately though, what made it worth while for me was seeing an organisation come to life. That can be very rewarding.