Engineering is the closest thing to magic that exists in the world. - Elon Musk
The path of an engineering leader can be tricky. The shifting balance of technical and leadership responsibilities can be especially challenging. In this article, I share three ways to be a great engineering leader.
All engineering leaders have at some point in their careers reached a fork in their career path. The fork offers them a choice; remain "on the tools" and focus on the technical aspects of engineering, or pursue the path of leadership, playing a more visionary albeit hands-off role. Now the two are not necessarily mutually exclusive, but time is limited so effort spent on one invariably means less effort can be spent on the other.
A new or mid-level leader might have a more even split between the tools and the leadership, but as one progresses further down the leadership path - or up the corporate ladder - their perspective needs to broaden; they need to think and act more strategically. This can be a massive challenge for people who embarked on their careers because they were passionate about the hands-on aspects of engineering - the making of things.
Generalise
Often the technical path will see one specialising in a certain area, gaining a depth of knowledge in that one particular area. Leaders though, benefit more from being generalists, gaining knowledge across a breadth of areas.
Being a generalist equips leaders with a broader base of knowledge they'll almost certainly need to define and execute a strategy, providing direction and making decisions. While not impossible, it is unlikely leaders could develop the same depth of knowledge across all aspects of their domain as a specialist... that's why we hire specialists!
Take software engineering for example. Even full stack developers will rarely (although it does happen!) have the same level of proficiency across mobile, frontend, backend and integration as specialists in those areas. What a leader needs is a general knowledge and understanding of those areas and how they might relate to each other. Then to be able to source people with the necessary knowledge and skills in those areas, and support them to be successful. Specialising is what you need to solve problems yourself. Generalising is what you need to solve problems with a team.
Generalise by trying obtaining a working understanding across as many applicable domains as possible. By that I mean, try to understand at a high level how things work, why they are important, when to use them. For example, I have deep understanding of integration - it was my technical specialisation - but I also have a working understanding of frontend frameworks, mobile frameworks, and networking. I strive to understand what I need to know to provide direction and make informed decisions. It may be necessary to understand a subject in greater depth from time-to-time but those should be the exception rather than the rule. It's also important to remember that leaders don't (and often shouldn't) make decisions in isolation. We hire talented, knowledgable people; discounting their input or advice can be foolish.
Let Go
This was the most difficult thing for me to do and I know many leaders - new and seasoned - that struggle with it too. A leader needs to learn to step away from the tools and get out of the weeds.
There are a few facets to this problem that make it particularly difficult.
- Passion for the work - When someone loves what they're doing, it can be hard to let it go. Whether it's the problem solving, the creative outlet or just the act of creating something, stepping back and giving up some or all of ones direct involvement in that can be extremely difficult.
- Key person dependency - It can be very easy for someone to carry the baggage of their technical roles with them as they transition to leadership. They can carry this baggage for a long time - I have carried some for years. Afterall, it's often the trust they've established through their technical work that's contributed to them becoming a leader in the first place. It stands to reason they will continue to be sought to help out on the front lines.
- Change can be hard - Changing ones behaviour requires constant, conscious effort. It can feel uncomfortable, even frightening. It's only natural for people to revert to behaviours they are comfortable with especially when under pressure.
To let go, a leader must put their faith in the team and trust they can handle the technical stuff. They need to understand the importance of their leadership responsbilities and how they contribute to the collective success. Just because you're not designing or coding or assembling, doesn't mean you aren't making a meaningful contribution to the goal. Leaders need to know when to say "No." when asked to do something one of the team is otherwise capable of doing. Finally, leaders must be resolute and steadfast as they bear the discomfort brought about by change, and draw upon their courage to overcome the fear of change. With time it gets easier as new habits and behaviours are formed, replacing the old.
Hone Your Technical Skills
Just because you step back from the tools does not mean you have to stop doing technical things. In fact to completely step away can be a huge mistake. While a leader might not be able to get hands-on as often as they used to (if at all), staying informed of changes in the domain or industry in general, and getting stuck into things like personal projects outside of work are great ways to hone that technical edge.
The key here is to keep learning and adapting to change which is absolutely crucial to being an effective engineering leader. It really doesn't matter if your personal projects work or if you never even finish them. What matters is you gain greater knowledge and understanding that may help you be a more effective engineering leader. You might not be king or queen of the engineering hill anymore (or ever again) but that's OK. If what you learn ultimately helps you make better decisions, support your team in technical discussions, or innovate, then it's a win!
Personal projects are obviously easier for some engineering disciplines than it is for others. That is why I also suggest staying abreast of happenings in the domain or industry. There is no shortage of information sources online so you're spoiled for choice in terms of medium - blog, video, podcast, ebook, social media. Then of course there's the physical world (if you can believe that!) - meetups, conferences, workshops. Pick your poison.
Parting Thought
Leadership can be incredibly rewarding and it might require sacrificing some of what enticed you into your career in the first place, but it doesn't mean you have to completely divorce yourself from the engineering. As an engineering leader you design, build, create, through your team.
For me, being an engineering leader is the best of both worlds, developing both things and people.