Ethan Chiu My personal blog

Great vs. Bad Engineering Managers

As a software engineer, the manager you work under can greatly impact your job satisfaction and career growth. My first job in tech, back in 2016, was a small real estate startup in Philly where I was paid $14 per hour and provided free housing through the PennApps Fellowship. At the time, I thought I had hit the jackpot - I was able to work directly with the CTO on various tasks and learn a lot about different aspects of software development. However, I soon realized that my manager was not invested in my growth as an engineer. He gave tasks with unclear metrics, provided little guidance or mentorship, and simply wanted the tasks completed, rather than caring about my learning and growth.

Since then, I have worked at several companies and have had the pleasure of working with amazing managers and leaders. Comparing my experiences, I realized that a great manager can make all the difference in your job satisfaction and career growth. In contrast, a bad manager can stunt your growth and make your job unpleasant.

Characteristics of a Great Manager

  1. Receptive to Feedback: Great managers listen to and consider the feedback of their team members. They are willing to make changes based on this feedback, rather than ignoring it or always following their own path forward.
  2. Advocates for Their Team: A great manager cares about the success and growth of their team members. They will provide structured guidance and support to those who are struggling, and proactively work to help top performers advance in their careers.
  3. Challenges Team Members: Good managers give their team members tasks that challenge and stretch their skills, allowing them to take on more ownership and responsibility. They also listen to team members’ career goals and assign work that aligns with their aspirations for growth.
  4. Provides Clear Metrics and Focus Areas: Great managers set clear guidelines and metrics to help team members work efficiently and effectively. They match business needs with team members’ skills and give them opportunities to exceed expectations.
  5. Offers Mentorship: A good manager values the professional development of their team and offers mentorship through regular 1:1 meetings. These meetings provide a safe space for team members to discuss their careers, areas for growth, and any wins or promotions.

In my experience working at companies such as Amazon, GitHub, Etsy, and Alpaca, I have learned the value of having a great engineering manager. They can truly make all the difference in your job satisfaction and career growth.