What is a Director Role?
What’s this person’s career path been so far?
What’s the difference between being a Director of Software Engineering and being a Software Engineering Team Leader? What should I expect as a Director compared to being a Development Leader?
These were the first two questions of someone I mentor when they were investigating a potential promotion opportunity. A Director of Software Engineering position opened up due to company growth and business need (yay).
This person feels they are ready for their next step in their career for the right reasons but they didn’t know if being a Director was the right path for them or not. They wanted to know more about what it meant to be a Director of Software Engineering before they threw their hat in the ring. Before we dive in, here’s some context.
What’s this person’s career path been so far?
This person has been a Software Engineering Team Leader for several years. They were previously a Senior Software Engineer and they still write code as part of their team today. As a Team Leader of Engineering, this person is responsible for a two-pizza team, or eight or so people.
They are responsible for their execution, the quality they produce, the speed and cadence at which they produce, but most importantly, they are responsible for the team’s culture, environment, and overall growth of the people on it.
This person entered leadership because they wanted to be a multiplier. They felt they could help a team and the people on it be better, faster, and stronger if he was leading it. Over the past few years, he’s done just that.
Now, he’s curious about expanding his impact and he sees this Director opportunity as just that, a way he can compound the impact he makes on the people and teams in his sphere of influence but he’s not sure what the role is all about. Let’s dive in!
Here are our assumptions:
Definitions of titles vary from company to company. The definition of a Director of Software Engineering we’ll use today assumes the following:
- If a Software Engineering Team Leader leads a two-pizza team, a Director of Software Engineering leads a team of multiple, two-pizza teams.
- A Director primarily leads Software Engineering Team Leaders.
- A Director reports to a VP or other senior executive title.
- A Director title is NOT a tenure promotion of an engineering team leader, it’s a role change.
So, what is a Director of Software Engineering?
A Director of Engineering is responsible for the exact same stuff an Engineering Leader of a dev-team is responsible for. They are responsible for the team’s execution, the quality at which they produce, their speed and cadence, and of course, the team’s happiness, fulfillment, growth, and culture.
The key difference between being a Software Engineering Team Leader and a Director of Software Engineering is the scale and scope of responsibility. Where a Team Leader helps their team focus on one set of problems to solve and spends a majority of time with their development team, a Director spans a number of teams, multiplied by the number of team members, multiplied by the number of problems to be solved. Let’s take a look at an oversimplified representation of this math.
A graphic of the Leadership Complexity Quotient, a fictitious formula I made up to highlight the scope and scale difference between a Director of Software Engineering and an Engineering Team Leader. (Leadership Scale Quotient = Teams * Team Members * Problems to Solve)
In the graphic above, you can see that the scale and complexity of a Director are twenty-seven times greater than a Team Leader if the Director is responsible for leading three teams of equal size compared to just one of the Team Leader. We’ve extrapolated this further to show the Leadership Complexity of a Vice President or a more senior executive title. While this math is made up, it highlights the difference in scale of responsibility really well between the levels of leadership.
As a Software Engineering Team Leader, I can keep track of eight-team member's careers and three business problems really well. I am able to have regular one on ones with everyone on my team. I’ll hold daily stand-ups and regular ceremonies to help my team execute and improve. I probably even have time to get my hands dirty writing code on a regular basis.
As a Director of Software Engineering, things start to break down. Using the graphic data above, it’s almost impossible to hold twenty-four hours of one on ones each sprint.
Most stand-ups happen around the same time each morning and cloning isn’t a thing (yet) so you can’t be in three places at once. Also, good luck knowing enough about the problem to find time in your day to write actual code that contributes to the solution at a high-quality level.
Being a Director is about learning how to scale your leadership!
Okay, cool. Now we know that being a Director is about learning how to scale your leadership. Let’s also throw in the riddle of having to do this one more layer removed from the team while being further away from the technical solution.
If the key difference between a Team Leader and Director is scale, how do I scale my leadership if I am further away and have less ownership over the code? Exactly! This is the role of a Director, to figure out how to solve this problem. We’ll cover some tactical “how’s” in a later conversation but here’s a clue, lead through your leaders.
What should I expect as a Director?
This was the second question my mentee asked. They wanted to be eyes-wide-open going into the interview so that they really understood what they were signing up for. Here’s a shortlist of what you can expect as a Director that we came up with in our conversation:
- The scale is much larger— We covered most of this above. More teams, more people, more problems to solve, and it’s your responsibility to make it all successful and grow. You need good mechanisms to help you know how everything is going. You need good information flowing to you so you can prioritize your time in the most impactful ways. At times, you’ll feel like you are drowning because you’re swimming in an ocean compared to a pond a day ago. Prioritization is your secret weapon.
- People will treat you differently — You have a fancy title now. Having a fancy title means people will treat you differently. People will approach you differently. They’ll share information differently. They’ll refer to you as “Sir” and “Mr./Ms. Last Name.” People might be afraid of you at first, just because of your title. You need to find ways to help people know you are still a real person and to curate an environment where you get truthful information, not information to make things look better than they are.
- You now play a business and strategy role — Whether you like it or not, as a senior leader, you are signing up to be a representative of the business just as much as you are a representative of your teams. As a Director, you need to be the voice of the business with your team and know how to navigate and communicate the needs of the business in a way that resonates with your team. You also have a seat at the table to help influence the vision and direction of the business. You’ll need to start to feel comfortable sitting in that chair and how to leverage it properly.
- You’ll write less production code — This isn’t true for everyone but I’ve found it’s rare for someone to move into a senior leadership role and still contribute to production code. You’ll still leverage your problem-solving skills, architecture skills, and mentorship skills to help your team but it’s possible that your team will remove your Git admin access, and they probably should! Learning how to still be a technologist while writing very little production code is a hurdle many technology leaders struggle with, and it’s one of the primary reasons people who’ve become leaders or managers go back to engineering. As a Director, you’ll feel your tech knowledge slipping and it’s very uncomfortable. This relates to the first point though. As a Director, you need to figure out how to scale your leadership. You can’t write code in every codebase and solve every problem yourself, you need to focus on developing a system and team that scales without you.
Directors should focus on the ecosystem
This statement is where we left our conversation, that Directors of Software Engineering should focus less on the day to day and more on the overall health, stability, and performance of the macro-team.
To me, this translates into building an ecosystem, a complex network of interconnecting people, problems, and opportunities. Our job, as senior leaders, is to help the ecosystem find balance, autonomy, and ultimately, to thrive.
Technologist, leader, writer, and I created BuildBetterTeams.org to help new tech leaders be better leaders and build awesome dev teams! #LeadershipLife