Culture is the default way a team operates: how people make decisions, how they treat one another, and how they behave when no one is watching. A few years ago I started writing this down for my team. Not as a manifesto, but as a working document: here is what we value, here is how we work, here is what good looks like.

I'm sharing it here because the questions it tries to answer come up constantly in hiring, in onboarding, and in the day-to-day of running an engineering org. If any of it is useful to other teams, all the better.

↓ Download as PDF

Engineering Culture

Culture is what the team defaults to without being told. It shows up in how people respond to an outage, how they handle disagreement, and whether they fix the broken thing they stumbled across or walk past it. Three values anchor how I want the team to operate.

Ownership

You build it, you operate it. If you see something broken, you fix it. Ownership is not limited to your service or your ticket but is a mindset: the difference between observing that something is broken and doing something about it.

Agency

Agency is the degree of control individuals and teams have over their work and their ability to influence outcomes. High agency looks like reaching out to unblock yourself and pressing on rather than sitting on a ticket waiting for another team to respond.

Customer Empathy

Engineers need to feel customer pain directly, not through two layers of abstraction. Rotation through support and customer-facing roles creates a virtuous loop that feeds back into engineering design, and the reminder worth repeating is that we are solving a problem, not writing code.

Engineering Principles

These are the principles that guide how we design, build, and operate. They are not rules to be followed blindly but the condensed output of hard lessons.

  • Start small, iterate, refine. Design for the future, but be pragmatic about what needs to be built today, bias for action over lengthy analysis, and learn by iterating on both the business side (adoption, customer demand) and the technical side.
  • Speed is good; velocity is better. Speed is a scalar but velocity is a vector: it has magnitude and direction, and the team needs to be aligned on where it is going, not just how fast it is moving.
  • Our job is to solve customer problems, not write code. If open source or commercial software already does what we need, use it and do not reinvent the wheel. Ask why before asking how.
  • Focus is everything. Spreading thin sets us up for failure, so stack rank the work and resist the trap where everything is top priority, which means nothing is. Avoid yak shaving.
  • Write things down. Documenting decisions, designs, and meeting notes with precision brings a level of clarity that verbal discussions do not, supports remote work, and reduces single points of failure on people.
  • Automate all the things. Automation brings repeatability, reliability, and scalability, and if you are doing something manually more than twice, it should be automated.
  • Measure outcomes, not effort. Have quantifiable goals measured at a regular cadence and make the metrics actionable. When quality trends the wrong way, pause feature development to address it, because customer-facing features shipped matters more than tickets closed.
  • Debate vigorously, then commit. Be open to ideas that are not your own, and once a decision is made, commit to it as a team rather than continuing to relitigate it.
  • Shift left on quality, security, and observability. These are not afterthoughts to be bolted on at the end but are built in during the initial planning and implementation phase.

Getting There

Culture does not change by writing a document. It changes by changing what gets rewarded, and some questions worth asking honestly are: Are engineers rewarded for shipping fast or for writing maintainable, scalable code? Are managers rewarded for velocity or for building strong, sustainable teams? Are teams rewarded for fixing outages quickly or for preventing them in the first place?

What you reward gets repeated. The culture described here is the one we are working toward, and holding ourselves to these principles in practice, especially when it is inconvenient, is how we get there.