Progressing in your career and being asked what path you’d like to go down as an software engineer? Let me talk about my experiences as both a Technical Director and Engineering Manager; Hopefully helping you pick a route you’d love to go down.
Why write this?
I’m currently on vacation in Austin, TX. There is a thunderstorm threatening to come down outside and I don’t have a car (look, I’m from London – where’d y’all put the public transport). So instead of wandering around the city looking like a drowned cat, I wanted to put down some of my thoughts from navigating both sides.
I left my position at Zynga in November 2022, for a number of reasons, the main one being burn-out. Juggling between the dual roles of Engineering Manager and a pseudo-Lead Engineer whilst having far too many direct reports and external contractors.
Let me be abundantly clear – as a company, they were very supportive, and I’d work with them again. I put myself into a less-than-great position because I have a very ambitious personality that lead to me being known as a “firefighter” who jumped on grenades for the project.
Now, down to the things I’m sharing here – this isn’t something I figured out on my own – I was lucky enough to be supported by a fantastic team who helped me find my own path and shared advice with me when I was looking for it.
Hopefully, I can return the favor!
A fork in the road
Do you want to continue on as an individual contributor (IC) or do you want to move toward management? That’s a question that you will face at some point in your engineering career.
As a rule of thumb, the further into management you go, the less IC work you should be doing. Should you stop completely? In my opinion, no, I think it’s hard to manage people without being “in the trenches” with them as well. But others may disagree.
The path isn’t linear either, you can jump from an Engineering Manager to a Technical Director or vice versa.
The role changes from company to company, but in general your job as an Engineering Manager is to focus on the team and less on the implementation of features.
In short, you’ll be working closely with the production team to make sure schedules are accurate and reasonable, training up new members of staff and keeping your team happy.
I wrote up some of my experience over here.
In my experience, your day will be filled with more meetings than you may be used to as an IC. As an Engineering Manager you are going to be a facilitator across disciplines, gathering together the various engineering leads on the project to discuss ideas that need solutions for the project.
If you are the kind of person that hates meetings, you might dislike the role. On the other hand if you like hashing out timelines, allocations and headcounts you will really like this role.
When you are starting out a milestone, you’ll be working closely with your production partners to make sure you have the right people allocated to the right teams. This fun game of musical chairs deserves its own post in the future, but suffice to say it’s an art to get right.
On the other hand, Technical Directors (TD’s) focus solely on technical excellence on the project. They set out standards, strategies and are overall responsible for the technical quality of the project.
You are not the holder of ALL knowledge – though you are going to need to be the point of contact on everything. There will be others far more knowledgable about certain areas, however you’ll need to know enough about everything in the project to be able to efficiently deal with anything that comes up.
I wrote down some tips for new TD’s here.
You don’t escape meetings as a Technical Director either, sorry. You will be the primary point of contact when it comes to new and exciting problems on the project. Game breaking issue on the mainline? You bet QA will be raising the alarm and you’ll be one of the first people tracking down the cause (or you’ll find someone more familar with the area to look into it).
The timelines of your work will grow to stretch multiple milestones, as you start to think about strategic implementations for the long term; Tooling for Designers to make them more effective? You’ll own the how.
You’ll be doing a lot of code reviews (I go over some of this in the tips above), aiming to help expand the knowledge across the team and helping train up newer engineers.
Wrapping things up
By no means is this exhaustive – but it’s the first thing that came to mind when sitting down for a couple of hours waiting for the weather to clear up.
Being a manager and/or a technical director is a fantastic experience, so if you find yourself in a position to give it a try I couldn’t recommend it enough. There is no better feeling than having a laundry list of huge “impossible” problems disappear because your team is amazing at their jobs and helps make things into a reality.
Reach out to me on Twitter if you ever want to talk about this kind of thing!