<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=490755098261949&amp;ev=PageView&amp;noscript=1">

NEW CASE STUDY: See how we built a custom digital platform for Melissa Wood Health

How We Redefined Heady’s Engineering Team Structure

Chris Galatioto
Author Chris Galatioto
Published On Jun 20, 2023
featured_engg_team

During a period of immense growth at Heady, we recognized an opportunity to optimize the structure of our Engineering team.

Through significant research, extensive conversations with leaders and team members both inside and outside the Engineering department, and the spirit of collaboration that underlies everything we do at Heady, we've engineered a fresh blueprint for our team — a new structure that we believe will support the success of our organization, our clients, and our team members for years to come.

Knowing that many other organizations are or will eventually be in a similar situation, we documented our restructuring process in detail in order to share it as a guide. However, there’s no silver bullet here: Every team is different, and an approach that works for some organizations may not work for all.

Before we dive into our restructuring process, here’s a bit of background on Heady and our previous team structure, as well as what drove us to take a step back, look at the big picture, and make changes to set us up for both present and future success.

OUR ROOTS

Who We Are

Heady is a digital product consultancy that provides full-service strategy, design, full-stack development, and growth marketing services for the most innovative brands. We build industry-leading apps and websites and the systems that support them, managing the entire digital product lifecycle to ensure long-term stability and growth.

Our engineering team makes up 75% of the organization and is mostly based out of Mumbai, India.

The History of Heady’s Engineering Team

As of 2020, Heady’s Engineering team had a fairly simple and flat structure. We had five domains or disciplines — iOS, Android, Frontend, Backend, QA — and one lead who was responsible for overseeing the team and their day-to-day contributions, as well as their career growth. This lead employee was also responsible for a full coding workload on specific projects.

This structure served us well for years, and Heady successfully delivered mobile apps and digital products for major brands across North America (check out some of our work in action here).

Then, the unimaginable happened: a pandemic.

Chart@2x

 

Fast-Track Growth & A Boom in Business

During the pandemic, everyday folks struggled with disruptions to their lifestyle as they adjusted to new health guidelines and regulations in the hopes of maintaining a safe and semi-normal way of life. 

Meanwhile, businesses had to adapt to new consumer demands — and fast. The pandemic put a pause on face-to-face business interactions, and many turned to digital platforms to provide new services like curbside pickup and direct-to-consumer delivery.

The spike in demand for online services and new features meant businesses had to push updates to their digital properties and consumer-facing applications. New features, information, and workflows were necessary to accommodate the rapid shifts in how business was conducted in this new way of life. This kept us safe and ensured businesses were in compliance with pandemic-era regulations.

The pressure for brands to expedite their digital transformation gained unprecedented momentum during the COVID-19 crisis, with companies worldwide undergoing seven years' worth of digital transformation in just 18 months, according to a 2022 study by GHD Digital. As businesses sought to keep up with the “new normal,” they turned to Heady to assist with their digital needs. As we helped our existing clients and brought on new partners to navigate this dynamic new digital landscape, we underwent a transformation of our own, entering a period of significant team growth.

Scaling for Continued Growth

This period of rapid growth identified some structural issues within Heady’s team that needed to be addressed in order for us to continue to provide the highest quality deliverables for our clients and partners. More importantly, we needed to continue to provide the right level of leadership to facilitate the success and growth of our team members, both day-to-day and long-term.

Here’s a brief overview of the challenges we identified at Heady and believed we could solve for by restructuring our Engineering team:

During a period of immense growth at Heady, we recognized an opportunity to optimize the structure of our Engineering team.

Through significant research, extensive conversations with leaders and team members both inside and outside the Engineering department, and the spirit of collaboration that underlies everything we do at Heady, we've engineered a fresh blueprint for our team — a new structure that we believe will support the success of our organization, our clients, and our team members for years to come.

Knowing that many other organizations are or will eventually be in a similar situation, we documented our restructuring process in detail in order to share it as a guide. However, there’s no silver bullet here: Every team is different, and an approach that works for some organizations may not work for all.

Before we dive into our restructuring process, here’s a bit of background on Heady and our previous team structure, as well as what drove us to take a step back, look at the big picture, and make changes to set us up for both present and future success.

Supporting Growth: Our engineering team grew 80% at Heady, and this created some challenges with scaling our current structure. What worked for a smaller organization must be reinvented and expanded to be successful and scalable for the future. 

Strengthening Leadership: Heady needed more leadership across projects. Our leadership team was focused 100% on coding projects, which didn't give them much time to oversee a team and help them with day-to-day duties, or provide guidance on their career growth.

Establishing Best Practices & Processes: We needed to establish best practices and processes for our engineering teams across all of our disciplines and ensure responsibility and accountability to those practices.

Supporting More Complex Projects: During the pandemic, our project complexity increased significantly. We went from managing a single mobile application to building full platforms that contained multiple apps, middleware, hosting, websites, databases, etc., and this required more dedicated leadership for the team.

Considering Operational Risk: The pandemic multiplied our need to deliver quality products while we increased our team size, number of deliverables, and a shortened timeline. Heady had to consider the risks of operating under pressure to deliver on schedule and on budget while continuing to meet our rigorous quality standards.

Providing Clear Career Paths: With a flat hierarchy, we noticed that our team members had concerns about their long-term growth at Heady, and providing a clear career path for our technical and managerial engineers was essential.

Establishing & Promoting Team Values: What does it mean to be an engineer at Heady? How can we use these values and best practices to define us while growing our engineers internally and attracting the best talent?

Keeping Culture at the Forefront: It was crucial that we didn’t lose sight of our internal best practices as a team. We wanted to continue to build on our foundation of engineering culture at Heady while promoting teamwork, learning and collaboration and ensuring that success in the short-term would lead to long-term growth and retention.

Rewarding & Committing to Key Team Members: In the absence of leadership, there were several employees who rose to the occasion and played an expanded role. Rewarding and demonstrating our commitment to these employees was important to us as a part of continuing to support hard work and dedication.

Now that we had a clear understanding of the issues we were facing and the challenges we wanted to solve for by restructuring the team, we set out to research and gather information in order to form a plan.

Research

Before we could come to a decision on how to evolve the Engineering team at Heady, we took some time to research how other organizations structured their teams.

As mentioned earlier, we believe finding the best structure for your team is a highly individualized process that will be different for every organization. That being said, our research turned up some clear themes that we set out to incorporate as we restructured.

 

Themes to Incorporate With Our Restructuring

Self-Sustainment: Each team should be a group of employees dedicated to a particular mission while also being guided by an overall strategy. 

High Alignment & High Autonomy: Leaders should identify what needs to be solved but give teams autonomy in how to solve them. Put simply, we don't want micro-managers.

“Aligned Autonomy”: Finding the right balance between flexibility and consistency is needed in order to make progress. Engineers should be given the autonomy to find creative solutions, but not so much freedom that they overthink and fail to move forward.

Squads: Product teams should be made up of different disciplines, similar to squads of independent employees working collaboratively on a specific project or product. (Note: This concept isn’t new to Heady; our project teams are mostly self-sufficient.)

Release Often & Make It Easy: If it’s difficult we’ll be hesitant to release often, which forces more changes for each release. Establish a cadence for deploying code and align these best practices across all project teams. 

Trust > Control: Establish trust across teams and disciplines; if you are trusted, you won’t need to be controlled. At Heady, we believe in our team and we trust them to work together to make the right decisions while upholding our core values as a team and as an organization.

No Fear of Failure: Fail fast, recover fast. Mistakes happen; let's learn from them and move forward.

Our Approach

After conducting research and outlining some basic themes our new Engineering team structure would adhere to, it was time to define our goals for the restructuring. Ideally we wanted to check all of these boxes to ensure our approach was successful and would fully support our long-term plans as an organization.

 

 

Our Goals

Redefine Leadership Roles: We needed to redefine the Domain Lead role, again keeping in mind that what worked for a smaller organization needed to be reinvented and expanded to be successful. 

Multiple Levels of Leadership: We needed to provide a structure that had multiple levels of leadership with a clear hierarchy to provide checks and balances while giving the team a path to success. 

Scalability: Our new team structure had to be scalable. Would the same approach work once we have 100 or 250 engineers?

Roles & Responsibilities: We needed to define clear responsibilities for each new role. This meant creating new job descriptions and ensuring sure all team members understand what is required of them.

Managerial vs. Technical: We needed to provide different career paths for engineers who wished to remain technical and individual contributors, and engineers who wanted to focus on mentoring and leading and become managers.

Best Practices: We needed to remain focused on adhering to engineering best practices including code quality, security, testing, and internal methodologies, and ensure those best practices were followed both internally and externally. 

Promotions & Filing From Within: We didn’t want to hire outside managers, but rather promote the team members who had been contributing to the leadership of the organization and hadn’t yet been recognized.

Get Feedback: Possibly one of the most important steps in the process, we had several conversations with leadership across Heady to get their thoughts on our approach. This included the folks that work with engineers everyday and the engineering leadership team. We wanted to ensure this was a constructive change that would have a positive impact on our organization moving forward. In other words, we didn’t assume that we knew best and sought constructive criticism (kind of like user testing a new product).

Make Adjustments: We decided from the outset it was okay to make changes to our strategy if it wasn’t working as intended, but we also knew that we needed to first give it some time to work — then adjust if needed.

When it came to satisfying these goals, we didn’t accommodate just a few of them: We set out to achieve 100% of our goals in forming our new team structure. We went “all in” to ensure we covered all our bases and were able to devise a plan that would work for us long-term.

Solution

Based on our research, goals, and conversations with leadership and future leaders across Heady, we decided to make the following changes to our leadership team.

 

 

Technical & Managerial Career Paths

At Heady, we have an engineering manual that defines how engineers progress within the organization, including what skills they must perform to achieve the different levels of Software Development Engineer (SDE), from level 1 to level 6. We realized that there was no managerial aspect to this manual, so engineers were always solely focused on technical excellence. How would one become a manager or leader? 

Part of our restructuring was introducing a dual career path that will help our engineers choose their path within the organization:

technical or managerial.

Graph_01@2x-1
Graph_01@2x

What’s the Difference Between Technical & Managerial?

Technical Engineers

Ensure products are built correctly
Focus on technical excellence and innovation
Oversee tech mentoring, adoption, and alignment
Evaluate technical spikes and experiments
Conduct code reviews and give feedback
Prepare system design presentations
Handle production issues escalation
Review platform direction, patterns and practices
Spend 50-100% of their time doing hands-on coding
Have the ability to act managerial if required

Managerial Engineers

Ensure products are built on time and on budget
Focus on career planning, promotions, and coaching
Oversee team planning and delivery
Evaluate objectives, performance, and feedback
Conduct one-on-ones
Participate in technical decisions
Handle team-building activities and culture
Review team productivity and metrics
Spend 0-50% of their time doing hands-on coding
Have the ability to act technical if required

It’s important to clearly outline the difference between these two career paths as our team members move through the ranks at Heady, and these concepts are now built into our engineering manual.

New Engineering Roles

As previously mentioned, we wanted to introduce multiple layers of leadership and establish a clear hierarchy across our disciplines. This meant that Heady needed day-to-day technical leadership on a project by project basis, as well as higher-level leadership to focus on career growth and high-level decision making. 

We chose to split these functions and introduce   three new leadership roles for our engineers:

  • Engineering Manager: A managerial leader focused on overseeing multiple projects and multiple disciplines. The main purpose of this role is to ensure engineer growth and progression, as well as on-time and on-budget project delivery.
  • Staff Engineer: A technical leader who oversees a team of five to six engineers of a specific discipline (iOS, Backend, etc.) and ensures that products are built correctly and according to best practices. This role is also responsible for providing feedback to Engineering Managers and Principal Engineers.
  • Principal Engineer: A technical leader who assists the Staff Engineer with day-to-day  project oversight and focuses on internal technical best practices for a specific subject matter (iOS, security, DevOps, etc.).
Graph_02@2x
Graph_02@2x

Engineering Manager

Managerial Track, Senior Engineer SDM

Primary Responsibilities

Coding: 50%
Hiring: For Level 5/6
Peer Review: Yes
Mentorship: Yes
Technical Debt: Yes
Document/Diagram: Yes
Code Quality & Standards: Yes
Architecture / Tech Stack: Yes
Research / Open Source: Yes
Review Processes: Yes
Support & Escalation: Yes

Description

-   Focused on team members’ growth and progress at Heady 
-   Ensures projects are delivered on time and on budget
-   Transition Software Development Engineer (SDE) to Software Development Manager (SDM)
-   Oversees multiple engineers from a project and career growth perspective
-   Responsible for a maximum of 12 engineers
-   Works on resource requirements for the team and refining the hiring process
-   Works closely with PMs across all projects

Staff Engineer

Technical Track, Senior Engineer SDE 5-6

Primary Responsibilities

Coding: 50%
Hiring: For Level 5/6
Peer Review: Yes
Mentorship: Yes
Technical Debt: Yes
Document/Diagram: Yes
Code Quality & Standards: Yes
Architecture / Tech Stack: Yes
Research / Open Source: Yes
Review Processes: Yes
Support & Escalation: Yes

DESCRIPTION

-   Focused on technology, ensuring products get built correctly and according to best practices
-   Oversees a team of five to six engineers (not direct reports) 
-   Provides mentorship, identifies and tracks technical goals for the year
-   Provides feedback to Engineering Managers on existing processes
-   Works on implementing new processes and changes internally
-   Enforces and implements internal best practices as it relates to code quality and standards, documentation and diagrams

Principal Engineer

Technical Track, Senior Engineer SDE 5-6

Primary Responsibilities 

Coding: 50%
Hiring: For Level 5/6
Peer Review: Yes
Mentorship: Yes
Technical Debt: Yes
Document/Diagram: Yes
Code Quality & Standards: Yes
Architecture / Tech Stack: Yes
Research / Open Source: Yes
Review Processes: Yes
Support & Escalation: Yes

DESCRIPTION

-   Works with Engineering Manager & Staff Engineers on implementation and focuses on technical excellence
-   Not directly responsible for a team of engineers, but assists across multiple teams
-   Takes feedback from the team and conducts research for internal processes
-   Documents best practices and enforces and implements these standards

Rules of Engagement & Scalability

How exactly would this all be implemented, and at what point does an engineer begin transitioning into these new roles? Would this apply to all team members? These are all questions we asked ourselves as we looked ahead to implementing the new Engineering team structure.

When setting out to reorganize our team, one of the most important goals was scalability. Meaning, if we put a structure in place that was unable to scale, we’d end up restructuring our team every few years, an undertaking that requires an intensive amount of both time and resources.

More importantly, we needed to understand how to recognize when we might need to make changes. At what point does an engineer take on too much that they begin falling behind with their coding responsibilities?

With all this in mind, we put together the following guidelines and diagrams to guide us.

1Team Size Boundaries

Engineering Manager: Oversee up to 3 Staff Engineers, 1-2 Principal Engineers
 
Staff Engineers: Oversee a team of 6-8
 
Principal Engineers: Work with up to 2-3 Staff Engineers

2Introduce New Roles, If Needed

Engineering Manager transitions to Director of Engineering
 
Staff Engineer transitions to Sr. Staff Engineer or Principal Engineer

3Add Tiers to the Leadership Structure

Add Layers: Scale the model as we add new team members, horizontally and vertically if needed, adding more staff engineers and principal engineers 
 
New Roles: Introduce new roles and layers of leadership as follows:
  • Principal Engineer
  • Director of Engineering

4Realignment of Teams

Adjust teams for new projects and clients, as well as when engineers join or depart the organization

Among the myriad tasks involved in mobile app lifecycle management, strict compliance to ADA rules, for most brands, falls towards the bottom of the to-do list. Achieving 100% accessibility coverage for a mobile product can be a Herculean task without an urgent pay-off. As a result, other priorities have come first.

Diagrams & Team Examples

Example of a Full Team at Capacity

Adding additional engineers will require scaling horizontally

Diagram_01@2x

Team Horizontally Scaled

Additional staff and Principal Engineers


Diagram_02@2x

Team Vertically & Horizontally Scaled

Additional Engineering Managers, Principal & Staff Engineers; Introduce Director of Engineering

Diagram_03@2x

Next Steps

During a period of immense growth at Heady, we recognized an opportunity to optimize the structure of our Engineering team.

Through significant research, extensive conversations with leaders and team members both inside and outside the Engineering department, and the spirit of collaboration that underlies everything we do at Heady, we've engineered a fresh blueprint for our team — a new structure that we believe will support the success of our organization, our clients, and our team members for years to come.

Knowing that many other organizations are or will eventually be in a similar situation, we documented our restructuring process in detail in order to share it as a guide. However, there’s no silver bullet here: Every team is different, and an approach that works for some organizations may not work for all.

Before we dive into our restructuring process, here’s a bit of background on Heady and our previous team structure, as well as what drove us to take a step back, look at the big picture, and make changes to set us up for both present and future success.

In 2023, we announced our new Engineering team structure to the Heady team in an all-staff meeting. So far, the leadership team has been full steam ahead and the adjustments have been well-received by the team. Our disciplines have more structure and mentorship while our project teams have more dedicated leadership across the board. 

We’ve introduced new initiatives to ensure our leadership team is on the same page while also focusing on some internal housekeeping items. Here’s what we’re working on now that our new team structure is in place:

Distributing Job Descriptions & Roles and Responsibilities

As mentioned, it was essential for our team to understand their day-to-day, as well as long-term, responsibilities in their new leadership roles. We crafted detailed job descriptions and distributed them to the team so they were aware of what was expected.

Organizing Sub-Teams & Touching Base Regularly

Our Engineering team was assigned to Staff Engineers and each team was grouped into teams of six to eight based on the defined project. These teams meet regularly to address issues and also focus on future advancement.

Setting Engineering Goals 

The leadership team has outlined a full set of goals for the engineering team. These ladder up to our company goals at Heady to ensure we’re aligned and contributing to the overall success of the organization. 

Internal Audit of Best Practices & Tools

We’ve begun documenting and auditing our internal processes and best practices across all disciplines. This ensures we’re staying up to date on the latest technologies and allows us to clearly define the Heady way of doing things. Once defined and refined, our leadership team will be responsible for enforcing these best practices. 

Focusing on Security Policies & Access 
As always, we continue to focus on internal security and access management for all systems, software, and third-party platforms, ensuring the highest level of security both internally and externally.

Looking back on this initiative, it’s clear that these changes were necessary for Heady in order to facilitate our continued growth and success. Of course, what works for one organization won’t necessarily work for others, but we wanted to share our story and our approach to potentially help others, particularly since looking at what other organizations were doing was so inspirational to us in the research phase.

Pay attention to the details and remember: The decisions you make will affect the lives and the work of your team. Make sure to seek feedback at every phase, including and especially from those outside your department, and remain flexible, as adjustments may (and most likely, will) be needed. 

We hope this blog can serve as a helpful guide for those embarking on similar initiatives. As for us:

We’re excited to move forward with our new Engineering team structure in place and support the continued growth of both our individual team members and our organization as a whole — and we believe the outlook is Heady.

LET'S TALK IT OUT.

Figuring out your next step? We're here for you.

Or drop us a line.

hello@heady.io