HubSpot’s Engineering Values

As our team has grown, we’ve reached a point where tribal knowledge just doesn’t get transmitted as easily as it used to. For much of this tribal knowledge — like why half our infrastructure team recently Photoshopped lasers onto their eyes in their Slack pictures — it’s not a big deal if not everyone's in on the joke. But when it comes to our team’s values — the very principles that shape how we work, and why — well, we want everyone to be on the inside.

At our engineering leadership offsite last month, we realized that as we scale, we need to share our engineering values — our most important tribal knowledge of all — more plainly, more publicly, and more often. While much of our value system gets transmitted by osmosis during everyday interactions between people and teams, we recognized that it was time for more explicit reinforcement and articulation. If we aren’t deliberate about exposing new hires to these principles early and consistently, as time goes on, we risk eventually diluting (and possibly losing) these important and hard-won values altogether — values that have shaped the team and the company that we are today. 

As Dharmesh, our co-founder and CTO, says in our Culture Code: “Many companies start out being exceptional. As they grow, there’s a dark, powerful force that pulls them towards the average. If we regress to the mean, we fail. It’s that simple.”

As we started to craft our principles, we looked at the writing that Netflix and Amazon — companies we admire — have done about their engineering and leadership culture. Our own guardrails were:

  1. We want these values to be opinionated (and maybe even controversial). We think HubSpot is a special place that does things differently from many other companies. Instead of coming up with middle-of-the-road values that most people would agree with, we wanted these values to represent what makes our engineering culture unique and powerful. While they might be interesting or inspiring to other companies, they won’t necessarily be applicable to every business.
  2. These values should be a useful heuristic for decision-making in how we design our systems and how we allocate our time and effort.
  3. We have another set of values, called HEART, which Dharmesh talks about in our Culture Code. While our engineering values are close cousins of these company-wide values, HEART describes who we are, while these values are more focused on how we work.
  4. These values aren’t set in stone. Like all of our work here at HubSpot, we’re likely to iterate on them over time.

Below is the list we came up with, roughly ranked in order of importance: 

Customers Come First

Everything we do should bring value to our customers. We’ll only stay in business if we continue to provide value to and maintain trust with our users. Customers don’t care about our teams, organization, processes, or promises. They care about what they’re seeing, using, and feeling in the tools every day.

Complacency Equals Failure

We know that software companies can go from apparent stability to ruins in a surprisingly short period of time. The market moves quickly and customers have options. We don’t take our successes for granted and recognize that we must continue to deliver value to customers and grow better as an organization in order to survive.

Think Like an Owner

We are all granted tremendous autonomy to make decisions, but we all, in turn, have a responsibility to be critical, flexible, curious, driven, and accountable. We have a responsibility to run towards fires instead of away from them. We also keep the long-term interests of HubSpot and our customers at the top of our minds, without letting short-term or team-specific goals get in the way. We don’t believe in “not my job” when it comes to building great products.

Move Quickly & Iterate

Software in general, and SaaS software in particular, is temporary by nature. Our work, while informed by data, research, and the business, is only ever just a best guess of what customers want — and their needs evolve over time. But luckily, software (unlike most other types of engineering) is gloriously malleable, and we therefore favor rapid iteration, experimentation, and improvement over attempted perfection. We want to strike the balance between planning and doing, because we acknowledge that code that never ships has no value. As inspiration, we look to the many imperfect but useful architectures and libraries which have provided the building blocks that our product and much of the software industry are built on. We’ll never get everything right on the first pass, but we’ll learn from our experiences and grow better over time.

Small Teams Win

We believe that a small team empowered to make decisions and relentlessly drive towards their goals will deliver results and insights much more quickly than a larger group. A small team is more likely to engender stronger psychological safety and avoid groupthink. Lastly, small teams have limited resources, forcing them to prioritize and focus on only the most important problems. This leads to less feature bloat and obsessing about technical details that don’t add customer value.

Keep It Simple

We favor simple solutions to problems over complex ones. We acknowledge that we can’t build a perfect system that will solve every problem, predict every edge case, or prevent every possible failure. Our systems will fail occasionally, and when they fail, they should do so in obvious ways. 

We apply this principle to all aspects of our work. From a system design perspective, we prefer microservices to monoliths and simple, straightforward objects to larger building blocks. From a product design perspective, we prioritize ease-of-use for the majority of users, even if it sometimes comes at the expense of the most advanced use cases. And from an organizational design perspective, we have a relatively flat organizational structure, stay flexible in how we plan and manage, and avoid elaborate processes.

Embrace Organizational Change

We embrace change in our product and organization. At times, we even push for it. We grow through change: by changing roles, pivoting teams to meet new customer demands, and recognizing that part of our job is to enact changes to make HubSpot better, even if it extends beyond the formal bounds of our roles.

Scale Each Other

We intend to continue growing rapidly and recognize that having the best people to deliver value to our customers is the biggest bottleneck on growth. We acknowledge that interviewing, coaching, and growing the next generation of leaders are some of our highest-leverage activities. We’re always thinking about how to replace ourselves, and as a result, we don’t insulate others from risk, information, business constraints, or making and learning from mistakes.

 

The values listed above aren’t common knowledge — they represent the years of hard-won wisdom as we’ve built a lot of product, worked with some very smart people, and encountered many successes and failures along the way. We’ve avoided mediocrity and built the business that we have today by working according to these principles.

As such, we’re working to make sure these values are deeply embedded in everything we do — because this tribal knowledge can’t be lost. 

Whitney Sorenson

Written by Whitney Sorenson

Whitney is HubSpot's Chief Architect.

Comments

Subscribe for updates

New Call-to-action