Every organization holds certain values and beliefs that shape their culture. In the HubSpot Product org, we believe in moving quickly and iterating to constantly evolve with our customers’ needs. We’ve found, for example, that a small team empowered to make decisions and relentlessly drive toward their goals will deliver results and insights much more quickly than a larger group. That said, we also know that any organizational decision — like having these small, autonomous teams — will both solve problems and introduce new ones that require effort to solve. The primary challenge in this small team model is continually driving design and technical consistency across the organization for a quality customer experience and efficient development cycles. poses an obstacle that requires teams to collaborate and communicate effectively to avoid silos and diverging user experiences.
With this organizational structure in mind, we have 200+ frontend developers who must be able to efficiently create consistent user experiences in our product while maintaining fast-paced iteration cycles, shipping to production multiple times a day. While these teams are autonomous, they still need to work closely together. Over the years, HubSpot has organized a Frontend Platform team to provide a strong foundation for our frontend stack. This keeps HubSpot frontend developers as productive and efficient as possible in continuously creating value for our customers, and helps those small autonomous teams operate together.
Frontend Platform Principles
- Optimize for small, autonomous teams. The tools are optimized for tons of focused apps that teams can own themselves. A single team owns several repositories of separate apps and libraries. Our microservice architecture has over 500 applications and over 500 libraries. With teams owning their own apps and libraries, they are completely empowered to make iterative changes for their piece of the product, when a monolith would only slow them down.
- Many teams, one stack. We believe in the benefits of shared knowledge between teams, and a fractured stack means a fractured org. Additionally, developers shouldn’t have to relearn everything when they change teams — where’s the efficiency in that?
- Pick one and stick with it. When it comes to stack decisions, the Frontend Platform opts into picking one technology and sticking with it. It’s better to have an organization of developers built around being excellent at one technology than mediocre at a bunch of different technologies. By picking only one UI framework, or only one acceptance test framework, we’re able to create opinionated support, tooling, and guidance around them, making all teams more efficient in getting their jobs done.
- Continuous delivery. We build a platform that lets teams deploy confidently, several times a day. Since we believe in the learnings gained from iteration, this empowers us to continue to support our customers in a rapidly changing problem space.
Focus Areas within the Frontend Platform
Frontend Platform, Small Autonomous Teams, and Continuous Delivery