Leading With Confidence: How Engineering Managers Can Avoid Technical Decay
An exploration of ways to improve low-level engineering skills and maintain effectiveness
Changing one’s career path from engineering to management can be an exciting journey, as it offers personal growth and development opportunities. This transition can also improve one’s empathy and support for team members. As an engineering manager, you always make trade-offs, possess a clear product vision, and make long-term decisions. However, after some time, it may become apparent that less time is spent on coding, which can lead to feeling a sense of distance from the engineers on the team.
Conversations with various managers have noted that many express concerns about a gradual decline in technical skills over time and the fear of being unable to manage a technical team due to this distance effectively. To combat this, some managers may resort to overworking, such as working on new product features during non-work hours. But this can be challenging as their skills may not be as sharp as their team’s engineers. This can result in feelings of disappointment and burnout. However, there are alternative solutions to this problem.
In this article, we will explore ways to improve low-level engineering skills as a manager, mitigate any feelings of technical decay, and maintain effectiveness in leading a technical team. It is important to note that the purpose of these solutions is not to be as sharp as senior engineers in finding technical bugs or developing features. Instead, the goal is to reduce the low-level technical gap between you and your team members as much as possible.
1. Ask for More Details From Individual Contributors About Their Challenges
As a manager, engaging in regular one-on-one sessions with your team members is important to ensure that everything is running smoothly and on track. Each manager may have their own unique approach to conducting these sessions, but one potential strategy is to incorporate a technical review part. During these meetings, review your team members’ work and challenges, and ask for more detailed information regarding their technical processes. This will allow you to gain a deeper understanding of the technical challenges your team is facing and provide insight into how they are addressing and solving problems.
It is important to note this technical part should not entirely replace the non-technical aspect of one-on-one sessions. In instances with low frequency of such sessions, it may be beneficial to schedule additional meetings to review technical challenges.
2. Establish Sessions for Knowledge Sharing and Solicit the Sharing of Recent Experiences
As an individual contributor, it is a given that you will encounter technical challenges daily. To overcome these challenges, staying up to date with the latest technologies and methodologies is essential. You can do this by reading relevant resources such as blogs, source code, and taking online courses. In addition, it is beneficial to establish a regular knowledge-sharing session where you and your colleagues can discuss and share your experiences. This allows attendees to gain diverse perspectives through discussion, and as an engineering manager, it provides you with insight into the experiences of team members.
Here are a few tips to make the most of your knowledge-sharing sessions:
- Do not pressure attendees to prepare extensive presentations or have all the answers. Instead, you can watch a video or conference together or read a tech blog as a group.
- Keep the group size small. In my experience, groups of 4 to 8 attendees work best. It can be challenging to share experiences with a large group of engineers, particularly if you are a junior engineer and not yet familiar with everyone.
3. Implement the Practice of Doing Side Projects
This is my favorite! As individuals working in the software industry, it is likely that we all have ideas for creating various software-related projects, such as products, open-source projects, and games. Additionally, it is important to continuously learn about new technologies to stay current and advance our skills. One effective way to do this is by using new technologies in practice and developing personal projects.
Personally, I make it a habit to work on my side projects during the weekends. By dedicating time to these projects, not only will you be learning new technologies, but you will also have a portfolio of fun and engaging projects that showcase your abilities. This approach allows you to combine your passion for creating software with your desire to learn and stay current in the field.
It is important to consider that working on personal projects during the weekends may not be the most suitable option for everyone, as it may lead to burnout. Find the most appropriate time for working on these projects based on your schedule.
4. Follow Technical Blogs From Tech Companies and Engineers
Tech companies and individuals in the industry maintain countless valuable technology blogs. These blogs provide a wealth of information, sharing their experiences, successes, failures, and lessons learned. It is highly beneficial to regularly check for updates on your favorite technology blogs to stay informed and up to date with the latest developments and trends in the field. I recommend creating a list of these blogs and setting reminders to check for new content.
As an additional idea for a side project, you could consider developing a tool or application to collect new blog posts from engineering blogs based on your set custom filters. This would allow you to stay current with the latest content and apply your skills and learn new technologies while working on a personal project.
5. Follow the Engineer/Manager Pendulum Career Path
Both management and engineering are valuable skill sets that can complement each other in a career. As an engineer, gaining management experience can help you become a better engineer by providing you with a broader perspective on the industry and the ability to lead and manage teams. Similarly, as a manager, having a strong background in engineering can assist you in making informed decisions and effectively communicating with your team.
The “engineer-manager pendulum” career path is a highly recommended approach that involves alternating between management and engineering roles over time. This approach suggests that individuals should return to an engineering role after a few years of management experience to sharpen their technical skills. Then after some time in an engineering role, they should transition back to management. This cycle can be repeated throughout one’s career and is believed to provide a well-rounded and holistic understanding of the industry.
For more information and deeper insights about this career path, I suggest reading “The Engineer-Manager Pendulum ” article.
6. Write About Your Technical Experiences and Getting Feedback
One of the most effective ways to learn is through teaching others. As a manager, it is important to empower and develop the skills of your team members to achieve greater results for both the team and the individual team members. One way to further enhance this learning process is by sharing your experiences and insights with a larger audience.
Sharing your knowledge and experiences with the wider software engineering community can not only help you to organize and structure your own knowledge but also provide valuable feedback and perspectives from other experienced engineers. This can provide opportunities for personal and professional growth and development.