On becoming an Engineering Manager - Part 1
This is intended to be a multi-part series because I have a lot to write about here. This one is about my background in leadership and where my interest in moving into an EM role came from.
As an Engineering Manager I've been asked a lot by colleagues who also want to take a similar path - how did you do it? What does an EM even do? How can I do something like that? Why did you go down that path?
I thought I'd write some thoughts on my journey into the role of an Engineering Manager at work, what the role typically entails, how you might become one and some general thoughts on leadership that you may find interesting.
That one time I lived in Mallorca...
When I worked at trivago as a Señor Software Engineer in Mallorca - which helped fund a replacement Ducati after writing off the one I'd crashed back in England* (*it wasn't my fault!!) - after six months~ish I was asked by the department lead to take on "one of the most important projects for the company" (brought in several hundred million euros per year, exciting). I would be placed in a Technical Lead role and given the ability to build a team and the software as well. I jumped at the chance - it sounded really interesting. Given that I had no experience in any sort of lead role, I knew this was going to be a real challenge for me. I had no idea what I was in for...
Two years later I was almost burned out. Burned out as in, having lost all enthusiasm for coding, creativity, working or anything in general (which is stress), but also more physically ill than I'd ever been before in my life! I'd hired a team of developers having done the recruiting, interviewing, onboarding and upskilling myself - let me tell you, the recruiting took absolutely ages on it's own - one of the first more junior guys to join the team was about to be fired by the department lead because of ineffective behaviour over a long period of time that I had no idea how to handle because I'd never experienced that before, and the project had been grossly over-engineered. I remember buying books on how to better communicate with different personality types, attending training courses to try and get better at the communication side of things, and trying everything I could to learn what I needed to improve on.
Another one of the first people to join the team barely spoke a word of English and didn't have any experience with distributed systems, so there was a huge communication barrier and learning curve for them. I remember them getting a little frustrated and almost giving up sometimes, just nodding and saying "yes" when I tried to explain something because the language barrier was difficult and playing charades and joking can only get you so far when you don't speak the same language. But by the end of two years together, and it did take a lot of effort from both of us, not only had their English vastly improved so they could communicate with everyone better but they had also become a key member of the team with very valuable contributions. My whole journey there I believe aged me about 5 years.
By the end I had two teams: one team of developers and the other devops. I'd learned an absolute tonne of different technologies and their positives and drawbacks, from distributed systems, docker swarm, real fully automated CI/CD - I implemented upsource and automated our production deployments when code reviews were approved and closed by the code owner - to communication with colleagues and stakeholders and agile processes. Each new member of the team had their own specialisation that they brought in with them and I am immensly grateful to them for having taught me so much in such a short period of time. But the 'startup culture', extreme pressure, zero support and lack of leadership above me had taken it's toll on my health - I was in hospital for random things more times when I was in Mallorca over a sixt month period than I have been over here in Bavaria in two years - even more than ever in my life actually - and it was simply because of this stress.
So it was kinda good, but kinda bad too...
My time at trivago was bittersweet. I met some awesome people there. But looking back it was also stressful to the extreme and definitely affected my health both physically and mentally. You know all those people on twitter that like to say "mental health is important!!" and go on about it forever - they're absolutely not bloody wrong!! At the end when the company was going further downhill and a while before they closed their offices in Mallorca, I left and joined Sixt in Bavaria (which is an absolutely amazing place to live) with the intention of learning Go and working more with distributed systems.
Sixt
The move was pretty simple: Sixt flew me to Bavaria in October, interviewed me, I went to Oktoberfest, flew back to Mallorca and got the job offer from them all within five days. At Sixt I did exactly what I planned on doing - I learned Go (and I'm not just talking about the syntax here; I'm talking best practices, edge cases to be concerned about, the purism from inexperienced developers in the Go community specifically etc.) and then I gave a conference talk at GoDays in Berlin on some of the things I'd learned and some crazy automatic reflection-based dependency injection implementation I'd tried in that time all within two months.
At Sixt I was tasked yet again with leading a team to rewrite another over-engineered piece of software, but this time I focussed on ensuring the team did so with a really decent dose of pragmatism. It was a resounding success! After doing this I said to myself hey, I've done this with Swift before, now I've done it with Go, I could do it with Rust next... and then I realised that actually what I was doing wasn't really a challenge for me any more. The only way up was for me to learn completely unecessary architectures and technologies for 99% of use-cases and then sell them to inexperienced developers as a salesman on twitter! I'm only 32, I don't have to be a sellout just yet...
I'm lucky to be a very fast learner though so picking up a language, learning the frameworks and best practices and then building something production-ready and scalable was just a bit easy for me now. I wanted something else: to have more impact. And so my enthusiasm for work and drive to learn and progress returned. That took a while... burning out is no laughing matter folks.
So why after all the stress at trivago would I want to be in any position of leadership again? I was given some parting words by a colleague of mine there that really had an impact on me:
James, you might not know it, but your team loves you.
I still keep in touch with a lot of these people by the way - before the pandemic we met up for drinks, visited eachother's countries and I went with a bunch of them abroad for a two week bachelor party in Vietnam... but that is an entirely different story that is absolutely not in the scope of this blog post!
But most importantly for me: to know that I had such an impact on the people themselves, their careers and the team that I built and led is still something I think about regularly. Messaging some of them on telegram and telling them that I was considering an Engineering Manager role quickly filled my screen with words of encouragement and praise in response. I want to replicate that success again, this time not in a startup culture, this time with support from those who have done this successfully themselves, and this time with a healthy dose of pragmatism, the knowledge of how to communicate expectations properly to all parties and the maturity, growth and experience behind me needed to be successful.
Figuring out just exactly how to move into another leadership role was to be my next challenge.
Onto what an EM actually does...
So what is an EM? What do they actually do? Here I provide the favourite words of consultants everywhere: "It depends".
Saving this one for Part II. Coming soon...