5 Tactics for Engineering Managers
to Sharpen the Technical Saw
without affecting management responsibilities
When I first became a manager, this was a frustrating part for me. I had been a software engineer for many years. I enjoyed being technical and writing code. I also enjoyed unblocking people and providing direction. But I had limited bandwidth. How could I do both? These are some tactics I have used to sharpen my technical skills and still be able to develop my team.
Why is it important for managers to keep up their technical skills?
- You need the ability to provide technical direction to both technical and non-technical stakeholders.
- You need to ensure the software your team is building has a good scalable design, is optimal for your customer’s needs, and is not going to increase your operational burden.
- You need to understand the work your team is doing in order to create opportunities for their growth.
- Your technical skills and ability to participate in technical discussions will earn the trust and respect of your team.
How Can Software Engineering Managers Sharpen Their Technical Skills?
Keep Up The Learning
Learn from your team. Build a learning cultures that supports a quest for knowledge and shared learning.
Work On A Side Project
Participate In Design Reviews
To grow your technical chops, get knowledgeable about the system and technologies your engineers are working with, and offer input for design dilemmas. Build a solid understanding of the architecture patterns, design approaches, and technologies being used by your team. Your team will look to you for help with trade-offs to balance timelines, resources, dependencies, customer experiences, scalability, and extensibility of the software you are building.
Participate in your team’s design reviews to facilitate technical discussions. Your job is not to come up with the software design, let your senior engineers do this. You are here to ensure your team spends adequate time on design. Do a pre-design review so you are better prepared for the team review. When participating in design reviews, I use a checklist as a guide. This is not a secret list. I share this with my team and expect them to consider all these aspects in their design. Using this checklist helps me ask the relevant questions and keep the team focused on getting to a decision.
- What is the functionality we are building? Does the design get us the desired outcome?
- Has the team considered alternate approaches? What are their pros and cons?
- Can the design be simplified?
- How scalable is the system? What will be its footprint when it grows?
- How will failures be handled? This is often overlooked in favor of happy paths.
- What are the assumptions being made?
- What are the risks and how does the team plan to mitigate these?
Understand Software Metrics
You can’t improve what you don’t measure.
Participate In Hackathons
I love the concept of hackathons. I love the idea as it removes all unnecessary process; it is fast; it is quick and dirty; it provides a dedicated focussed time; it enables collaboration where teams “hack” their way. Personally, I participate in hackathons as I get to learn new tech, gain new skills, attain new knowledge, usually from a group of people I would otherwise have not had a chance to with. It is a very collaborative, yet challenging endeavor.
If you get a chance to participate in one, do get on board and join a team. It does not matter how or what you contribute to the hackathon project, you will certainly have an opportunity to improve your tech skills. Mingling with smart engineers, you are bound to gain an understanding of some new tech concepts. If you hear of new emerging tech, lean in and create some prototypes or build a proof of concepts (POC). Whether your hackathon project wins the prize or not, it will certainly help to sharpen your tech skills.
To ensure your hackathon is fruitful, be sure to plan ahead. It’s a waste of everyone’s time if you all show up to a hackathon with no plan of what to build and how to distribute the work. Understand that you have limited time. What will you build? What does success look like? How will work be divided? What prep is required? Do you need to install any software? Is everyone on the same page? Be sure to discuss with your team and finalize the goal of your hackathon.
Conclusion
For you to be an effective leader, you need to be skilled in management capabilities and have solid technical skills. It is important for you to keep sharpening your technical arsenal. You may or may not have the luxury of coding alongside your team, but don’t lose your technical abilities. Prioritize learning and create opportunities that enable you to engage in any or all of the activities I mentioned above. Be the leader your team deserves.
Get your FREE Guide for Effective One-on-Ones (1:1)
Use the Key Pointers and Tips from this Guide
to connect and build trust with every single person on your team.