I have been around the tech world for a bit. Now that I am a lot more confident and comfortable as a software developer, what do I want to do next? It was unclear to me what was the difference between an engineering manager and a staff/principal engineer. Not to mention, I barely understood what was the difference between tech lead and engineering manager. What was with all these titles when everyone worked together in very similar capacity? At every stage of my career, I am often confused by what the next title truly meant. I had a similar question when I was progressing through junior to intermediate. As I am looking down my future career split road, I wanted to understand what being a manager and staff developer truly means. This had been troubling me for awhile until recently.

Back in May, I attended the Women in Tech Texas 2022 conference. This was my first conference. I was unsure about what I want to get out of it. I took this question with me to the conference. I had a lightbulb moment when I was in Sarah Kim ’s talk - Leading High-Performing Distributed Teams. Unfortunately, the recording is not publicly available. I will try my best to summarize it below.

Talk summary: As a manager, you need to be clear about what’s your ideal dream team (leadership philosophy). Distributed teams might have additional challenges, but the management considerations are very similar to co-located teams. You need to pick new hires who would help you build your dream team. You need to translate the company’s goals and strategies to your team and match those with your team members’ goals and aspiration (alignment). Alignment is achieved by thoughtful communications, e.g. 1-on-1s to engage with your team individually; lunch and learns for people to share new ideas; all hands meetings for C-suite to share the company-wide strategies; water cooler “meetings” for building connections within the team. A big part of your job is to decide the means and content of your communication.

I sat in for this talk because I was curious how teams are adapting to remote work. Sarah did a great job on delivering what management really means. However, I became increasingly disengaged throughout the talk. I categorized both engineering manager and staff developer in the same realm of software development. While engineering managers need to have technical skills, it is about managing people at the core. Both roles are about software on the surface, but they have very different focuses underneath. I think of them as different dishes. When I am eating an omelette, the eggs are the star. The omelette could have meat or vegetables in it, but they are there to compliment the eggs. Meat and vegetables could be the star in other dishes with eggs as an accompaniment. People management is the main and software development is the side for engineering manager and the opposite for a staff developer. As she further elaborate the nuances of people management, I understood that is not what I would like to pursue.