Throughout this series of interviews you will discover that Engineering Managers have a common set of paint points to tackle; but also that every leader has its own perspective and way to overcome difficulties.
If you're a Software Engineer considering to take the leap to management, these personal stories will point to the importance of self-reflection and perseverance.
For Engineering Managers, this is your space for discovering new perspectives and/or interpretations on all things related to software engineering workflows, software development and management, team management, engagement and motivation!
Could you tell us a bit about yourself and your professional journey?
I started coding at 14 on an Amiga 500, I learnt from a book I had borrowed from the library (which shows my age a little bit). At that stage though, I was more interested in giving myself infinite lives or making the race cars go 700mph in games.
At around 16-17, I built a simple database to track expenses on an old car I was restoring. From there it was onto University where I completed a Mathematics and Computer Science degree, after which I had had enough of computers and 2 months later I was standing in front of 50 12-13 years old teaching English in China.
On return to New Zealand, I got my first real software engineering job and within a few months I somehow ended up responsible for a team of 5 developers (their mistake, not mine). Since then I have continued to work as a Team Lead, Solution Architect, Engineering Manager at a number of startups and large global banks. Each of which has brought me their own unique experiences and helped me grow. Today I am the engineering manager at ReferralCandy, leading a small team of great software developers!
What made you decide to become an Engineering Manager?
I never really decided. I was fortunate that my University degree had a pure Software Engineering stream which also covered how to build software - that included items like effective testing and working in teams on a single product - so I had my eyes opened early to the fact that there was more to building products than being able to code. About 3 months into my first job, I was put in charge of about 5 developers on a small project. Looking back I had no idea what I was doing; fortunately, the company had some great software engineers and project managers so I learnt a whole lot.
Working in the engineering management space gives joy and satisfaction. You get to mentor and help people grow, and when you see them succeed it’s a great feeling. Yet, you also get to help build products, so that joy of creation you had/have as a software engineer is still there!
What is the role of an Engineering Manager?
Grease whatever is stuck. Your role as an Engineering Manager is to help the team deliver products with as much value and as efficiently as possible. This means you need to keep finding improvements to be made; this may mean you are mentoring your team, helping resolve technical issues, helping PO prioritise work efficiently, adding (and removing) processes and controls as needed.
For a long period of time, I would write my title as “getting stuff done” rather than Engineering Manager.
What advice(s) would you give to a software engineer considering to become an Engineering Manager?
You will find that you have to quickly become a swiss army knife. In one day you could be helping lead the team to solve a technical issue, write some business requirements, presenting recommendations for pay raises, and dealing with a vendor that has failed to deliver.
In order to be successful with this, you need to learn the jobs of the people that you report to and work with. Understanding their drivers and what their role is will help you communicate and support them, it is not enough to be a good coder who can help the team build the product, you need to understand the roles of the Product Owner, the Business Analysis, the Design team, the Operations team, the CEO, the Architects, the Quality Assurance team, etc.
During my career, I have worked as a Product Owner, Product Manager, Lead solution Architect, System Tester. I have written business requirements, supported production systems where I was on call 24/7, and passed the PMP exams.
Every organisation is different. In my current role, I am also the acting CISO, and the registered data protection officer, writing both security and data protection policy, writing business requirements, directing technical change, outsourcing work to vendors, recruiting, while mentoring and growing the engineering team.
You need to learn to let the little things go and let the Software Engineers make the decisions on the things they are working on, the practical parts. If the team wants to use AngularJS for the frontend but your favourite is ReactJS, you need to let them do it. Your job is to help them come to a conclusion, not to make that conclusion for them!
What has had the most significant influence on your growth as an Engineering Manager?
Interestingly, it has actually been words that have been said to me directly rather than any particular event, book, or learning experience.
The first was when I was a team lead and my boss said to me - “What I like is that you care about other people's work and not just your own”, this made me think about why is this important, it was what I thought everybody did.
The second time was actually from a member of another team in a different department at a small startup - “Thank you for letting me be me” - why would someone say that to me, and why is that important.
The third, and final, was before moving from a large global company, an ex-manager told me to - “Think Big” - which I did, and when you do that, it will surprise you how much influence and impact you can have and that it’s not just about your own team and space.
Would you encourage teams to include tech debt in their backlogs and make it visible to POs, etc.?
Yes (and no)!
In the past, I have created space for the team (maybe some overinflated estimates) to be able to get tech debt paid down. Today, I actually try to make the PO responsible for it. To do this you need to show the value in paying back tech debt, which means collecting some sort of metrics.
The PO is driven by delivering value to the customer, so you need to show that by paying back this tech debt you will be able to deliver more value in the future (and faster). Yes, you can make up the numbers about how much more efficient the team will be (how do you measure happiness to work on clean code?).
What metrics have you found most useful for teams to measure their performance?
I struggle with metrics when it comes to development. Direct output of the team is hard to measure. Direct output on the companies’ success, while easy to measure, is a reflection of the company as a whole. When I do need to measure, I look for items such as lead time between project start and delivery and whether on average it is consistent or getting better, and I also look for opportunities to improve these.
This does require a long period of time to measure, calibrate and reflect. These days, working with small teams when running a simple cadence metric of putting 2 new features out a month, if it is not met we have a discussion about whether it was from factors under our control or not and then make improvements as needed. As you get more experienced in the role and have worked in multiple companies, you get a natural feel for what is productive or not and can spot easy areas for improvement and as long as your boss isn’t chasing you for numbers this works fine.
How do you coach a highly skilled & empathetic engineer to become a Team Lead?
Number one is to find out if that is the direction they want to go. This is more than just having a conversation with them, it's giving small opportunities to see if they take ownership and lead others, looking at the responsibility they take for their own and others’ work.
Once it is established that it is where they want to go, have an honest conversation with them about taking up a Team Lead role and set the expectations of the role. This now gives you a solid base to work from and coaching becomes easier. Next step is to encourage questions and conversations and to observe areas for improvements, these can be discussed in 1-1s or as adhoc conversations if it is urgent. From there you can encourage or create opportunities to learn and grow.
Thanks Glenn for sharing your story with us! 👏
About our Q&As with Engineering Leaders
Every two weeks we will be sharing a personal interview with some great Engineering Managers, Directors, VPs, and CTOs. We are lucky to have a vibrant and dynamic community and it would be a shame not to share these experiences and insights with the growing world of Software Engineers and Engineering leaders!
If you’re looking to join our weekly intimate roundtables, or if you’re interested in sharing your perspective on the topics we’re covering, click here. See you soon!