Hi there! My name is Mitchell Katz and I’m an Engineering Lead (EL) here at HubSpot within the Structured Content Platform. I wanted to share what it means to be an EL at HubSpot.
First, for a bit of background on myself: I’ve been at HubSpot for about four years now. I started off as a Backend Engineer (BE) on the Theme Framework BE team, working to improve the rollout process for our default assets (like the Growth theme or the Drag and Drop Email Templates). I then became the Tech Lead (TL) of that team, working with the Product Manager and Product Designer to shape the roadmap and goals.
Eventually I became Engineering Lead (EL) of the Theme Framework BE and added the Content Assets and Content Ecosystem teams. This expanded my scope to include considerations of the asset marketplace, internal default asset development, and unified branding. My most recent role change has been a shift over to the Structured Content Platform team, helping manage the teams working on HubDB, CRM dynamic pages, GraphQL, and the Knowledge Base tool.
Let’s get into it…
On being an Engineering Lead
As an EL, my job is roughly akin to an Engineering Manager at another tech company, but definitely has some key HubSpot-y differences.
My high level goal is to ensure that the teams and individual engineers I manage are creating impact for our customers. This is, of course, a super abstract and high level goal, but it’s also pretty indicative of how fluid and ever-changing my role can be.
Building a successful team can mean a bunch of different things. There are some things that are pretty standard for a role like mine at any company. I spend a lot of time collaborating with Product Managers, Designers, and other ELs across the organization to help unblock my teams. I help oversee the technical side of large projects, scoping out goals and making sure that we’ve sequenced out work appropriately so every engineer working on it has a clear runway.
On what makes HubSpot unique
One thing that definitely makes being an EL unique at HubSpot is what we call a Player/Coach position. As an EL, I have a mix of direct reports and individual responsibilities. I have two TLs reporting to me who own the day-to-day of their teams, but I am also the active TL myself of a third team. As a “coach” position, I collaborate with individual contributor engineers (ICs) and TLs to help them grow in their roles. As a “player” position, I am also responsible for being deeply ingrained in the technical work, working directly on the code base and making technical contributions to the team.
On the mentorship/coaching side of things, I work closely with each of my reports to make sure they understand what success looks like in their role with clear expectations on performance. I give feedback and advice when they are struggling, and make sure they are recognized and rewarded when they succeed.
The player side of my role means that I remain the TL of at least one team, and TLs at HubSpot are a deeply technical. This means that I’m still developing features, fixing bugs, writing and reviewing systems designs, etc. Candidly, it can definitely be a challenge to find time to sit down and dig deep into the code, but it’s refreshing to exercise that part of my brain and it’s a fantastic way to maintain a strong understanding of the day-to-day for my reports. Having this deep knowledge of “how the sausage gets made” helps me do a better job helping them.
Since I have a mix of relationships to teams, helping them all find success can mean a few different things. With my IC engineers, it can be a little bit more straightforward. I want to make sure they are growing in their role, that they are building a strong product vision, and that they have the tools and information they need to build a delightful product experience for our customers. Managing TLs gets more challenging. I need to make sure they are growing in their role too, of course, but also need to make sure they are providing this same level of coaching to the ICs on their team. This is often me being a sounding board for what they are currently working on,talking through problems that they are facing and collaborating to come up with solutions or new tactics to improve them.
Regardless of whether I’m the TL for a team or not, I am responsible for making sure they are successful overall. Typically, TLs are more concerned with the daily operations of a team, whereas an EL thinks more on a 6+ month horizon. This means that I spend a lot of time making sure teams have the right number of engineers, they have compelling mission and vision, and that ownership lines are drawn appropriately. All of this combined means that we have a team that has everything they need to focus and execute effectively on a mission they care about.
The EL role is absolutely a challenging one: it’s got ambitious goals and there are dozens of different ways to get there. There’s no one single way to build a successful engineering team, and how I get there changes every week. But seeing the impact my teams have had on our product and customers is unbelievably satisfying and makes me proud of the work I do.
If you’d like to stay informed of all things Product & Engineering at HubSpot, check out our Product blog here. And if you’d like to join us in building products that you’re proud of, we’re hiring!
Originally published Apr 27, 2023 6:00:00 AM, updated April 27 2023