Should Engineering Managers Code?
Photo by Fabian Grohs on Unsplash

Should Engineering Managers Code?

I am often asked as to what it takes to be an engineering manager, especially by those wanting to transition from full time technical roles. The most significant question in this regard is whether the role is entirely about people management and do they need to continue to have a grip on their technical expertise. Another follow-up question invariably is: "Most managers divide the majority of their time hopping between meetings and solving unending crisis situations, so is there really any time left to code?" So here are my two cents on this topic.

I believe that the primary, non-negotiable responsibility of an engineering manager is to ensure that his/her team achieves the highest efficiency in order to deliver on its commitments. Towards this goal, the manager needs to mentor the team by focusing on the four pillars - competency, quality, customers and culture - in alignment with the principles of the organization. And trust me, this requires a lot of time and dedication from the manager. This does not mean, however, that new managers need to discard all the technical expertise they have painstakingly acquired over the years. In fact, technical expertise is an asset that they need to nurture and use for the benefit of the teams.

So how does a manager find the time to code when there is a perpetually long to-do list to tick off every day? The good news is that coding on a daily basis is not the only way to contribute to or stay updated on the technical front. Here are a few ways I have found to be beneficial and could be useful to you as well.

Firstly, participate in key technical discussions where your diverse experience and background can help the team in getting perspectives that they might otherwise overlook. By participating in high level technical deliberations involving requirements, architecture, automation, CI/CD or even deep dives into critical bugs, one can quickly jump in and ideate with the team while at the same time keep abreast of the key decisions that are being made that have a bearing on the team's ability to deliver. Once these decisions are made, it is up to you to go deeper into the design or even the implementation, if you so wish. However, if you do not find the time for it, it’s perfectly OK - you should trust your team to make the right decision and support them to move it to execution in the most efficient manner.

Secondly, read, listen and watch a lot! There are an unlimited amount of technical updates out there and your only barrier is the limited time to catch up with all of it. In an era of short attention spans and the need to shift priorities frequently, blogs and podcasts - given their compact structure - are mighty useful. Medium is the one place that I have increasingly turned to in recent times for smart perspectives from fresh and passionate voices. I make it a point to read at least one article every day related to my topics of interest like Data Science or Software Engineering. I also listen to a variety of podcasts - a wise thing to do, especially while on the move in the unending Bengaluru traffic! Also, do not miss out on opportunities to attend webinars and tech conferences both offline and online. And while doing all of this, do share the interesting stuff with the rest of your team and foster a collaborative learning culture.

Thirdly, review the work items that the team is working on. Code reviews are ideal but since they consume a significant chunk of time and attention, you might end up blocking your team. Instead, I find it useful to browse through the code offline whenever I can find the time. Also participate in group reviews as and when they happen. More than code, you can add significant value in reviewing the requirement and design specs and more importantly - customer facing guides and runbooks. Doing so will ensure that you get a better understanding as well as an opportunity to improve on the key deliverables critical from the process and customer perspective. Given my passion for UX, I have also frequently jumped into detailed discussions on that front and have derived the satisfaction of making sure that the products we ship are less complex and more intuitive to use.

Finally, use your 1:1s with team members to understand the technical challenges or risks that they are already dealing with or foresee in the future. Your team members are the people battling it out and have the best idea of the situation on ground. You need to make sure that their voice is heard loud and clear as it will also give you better ideas to support and unblock them. Also, seek out experts outside of your teams over informal outings like lunch or coffee. Listening to them on their areas of expertise will leave you more wiser and also help in broadening your network. At Philips, there are organizational initiatives involving cross-sectional team members that focus on key and emerging technical topics like Software Excellence, Blockchain, AI etc., and participating in these have certainly helped in deepening my knowledge on those topics.

To summarize, for an engineering manager, it is always a fine balancing act between maintaining a mastery over technical topics and managing the organizational responsibilities that come with the role. And since your team will always look up to you for guidance regarding the organization, their careers, their growth and many other aspects, make sure that you do not lose track of them while you dive into the technical part of your work. Organizing your priorities and making the best use of your time will go a long way in being a fine engineering manager with strong technical leanings.

#leadership #engineering #career #technical #philips

very detailed, it is almost like a complete instructions for tech managers. 

Like
Reply

Well written. I also believe that by default managers should code. 2 things that I'm doing, and are working for me besides code reviews, and technical meetings are: 1. Taking small coding items that are not in the critical path, for instance, bugs, refactoring, tech debts, tools, lower priority features etc. 2. Some code reviews are done on the developer's machine where I am taking the driver's sit, and debug the flow step by step. Again, very nice article!

If engineering managers could code it would at least help them by asking realistic questions to candidates in an interview. If an engineering manager is interviewing me for a position in his team I expect him to be realistic.

To view or add a comment, sign in

More articles by Suyog Gaidhani

  • Patient Access to Radiology Reports

    In today's connected world, information is available to each and everyone of us on any topic of our choice. So it is…

    15 Comments
  • Who should pay for your health?

    Providing affordable and quality healthcare to its citizens remains one of the great challenges for India. The…

    2 Comments
  • Disrupting the Pharmacy Business

    Anyone with the experience of taking multiple medications at different times of the day would realize how cumbersome it…

    3 Comments
  • Smart Scheduling

    This is the kind of breakthrough that healthcare desperately needs to solve mundane yet critical problems. Building on…

    1 Comment

Others also viewed

Explore content categories