Formalizing our Engineering Principles

Since I joined Cash in August 2021, we’ve undergone unprecedented levels of growth. Growth brings growing pains: the effects of missing organizational structure that become relevant at scale. With the Afterpay merger on the horizon and ambitious plans for growth that would nearly double Cash’s engineering org (as of August 2022, 47.7% of Cash Engineering has been here less than a year), all of us had questions about how Cash’s culture could adapt to this huge change. Especially given the fact that we had a hard time explaining how Cash’s engineering culture was meaningfully different from that of Block’s other business units. What were the defining features of Cash’s Engineering culture?

These questions materialized as candid discussion threads on Slack. People from across Cash Engineering got involved to share their opinions. The one thing we all seemed to agree on was the value of bottom-up decision-making. We decided to create a working group to discover and formalize Cash’s Engineering Principles, with the goal of creating an intentional engineering culture that we describe with a shared vocabulary that will serve as a baseline for iteration as we keep growing.

What are Engineering Principles?

Engineering Principles, as we’ve defined them, describe the ways that engineers and engineering teams work at Cash. Many companies publish principles of some kind; Amazon’s Leadership Principles are a well-known example.

In contrast to organizational values, principles tell how we work, rather than what we value. Many companies don’t make a clear distinction between principles and values – plenty of companies’ “values” look like other companies’ “principles”. We found this distinction helpful when describing what we hoped to accomplish by formalizing Cash’s Engineering Principles.

The Working Group model

Working Groups are a popular model for driving organizational changes at Cash. Once we knew we had sufficient interest among engineers, our Working Group started with an asynchronous discussion in a public Slack channel. We had 8 people RSVP to our initial kickoff, and eventually, based on our individual bandwidth, we became a group of 3-4 engineers who met at fortnightly-to-weekly working sessions for 6 months, where we’d workshop the principles together, write reports, and decide on homework, action items, and next steps.

What we did

Our working group was not the first effort Cash had made to codify its culture. Before discussions started in earnest, we dug up some previous attempts at Cash Engineering Principles and used those as a starting point for an open discussion. We also researched other tech companies’ engineering principles and values and found things worth emulating or eliminating from our own.

As we kicked off discussions and saw how many people had the bandwidth to actively contribute to this effort, we thought critically about what we could achieve as a group of just a few individuals from across the org. Rather than publishing principles that reflected an ideal or aspirational state of Cash Engineering, we focused on establishing a cultural baseline – principles that reflect how Cash Engineering teams actually work, right now. We felt that not only would this give our working group a realistic, incremental milestone, but also that it would allow for iteration: morphing the principles over time to reflect how we want to work as an organization.

With our goals in mind, we took an initial pass at describing the principles, drawing heavily from prior efforts. We tried to keep each principle focused on positive action – what a Cash Engineer at their best should do. If a principle took more than a couple of sentences to explain, that probably meant it was too complex. We also tried to keep a consistent grammar for each principle, but when that wasn’t possible, we focused on writing for clarity instead.

Our first draft contained 14 principles that we hoped to whittle down to fewer than 10. To get feedback on our draft principles, we sent out a survey to all of Cash Engineering. After asking some basic demographic questions, and before presenting the principles themselves, we asked everyone to optionally answer our free-text question: “What are two or three ways Cash engineers act when we are at our best?” Then, we asked the following questions about each draft principle:

  1. Do you agree that this principle reflects Cash Engineering currently? (possible answers: Strongly Disagree, Disagree, Agree, Strongly Agree)
  2. How distinct is this principle from the industry baseline? (possible answers: Not very distinct, Somewhat distinct, Very distinct)

We ended the survey with another optional free-text question to collect any feedback on what might be missing from the principles we presented, or to capture any questions, comments, and concerns from respondents.

75 people in total responded, representing many levels of both managers and individual contributors around the world. Many respondents indicated that they belonged to a group that is underrepresented in tech. We read all of the heartfelt, thoughtful comments and did a detailed analysis on the survey results to understand whether different groups perceived the draft principles differently. Interestingly, we found that respondents belonging to overrepresented groups and respondents belonging to underrepresented groups disagreed in a few different areas, and respondents from Canada seemed to feel the principles differently than respondents in other regions.

From these results, we discarded the 5 lowest-scoring principles outright and reworked the remaining 9, which were all sufficiently reflective of Cash and distinct from the perceived industry baseline. Our most reflective, distinct, and perhaps most controversial principle, Bottom Up Empowerment, sparked a lot of conversation among respondents. We saw a lot of recognition that the desire for autonomy also creates divergence and low coordination in the org as we scale. We finalized our principles by creating an internal report with a detailed breakdown of the survey results and our current principles, and distributing that report to Cash.

Then what?

Work remains for us to socialize the principles and make sure they have the correct amount of internal focus and traction. We’ve embedded the principles into our onboarding process, and they also live in our internal development guide.

Stakeholders around Cash Engineering have asked us about updating the principles to ensure they’re guiding us towards an engineering culture that serves our growing organization long-term. We’re on board with that! But we want to give everyone some time to live with the principles as they are and see how they feel, rather than jumping to the next steps. We can do more to disseminate the principles in the short term; some ideas we’ve had are

  1. Taking over one or all of our many “kudos” streams for a day or more to publicly praise people who are living the Cash Engineering Principles.
  2. Following up with newcomers to Cash Engineering around the 3-month mark – once they’ve had some time to experience the principles and understand how they work– to get their feedback and fresh perspectives.
  3. Working with specific underrepresented groups to understand their relationship to the principles, and to gather their feedback on how we can improve the principles.

We hope these principles help new hires onboard to Cash Engineering and tenured engineers make tradeoffs in their day-to-day. One way we’ll know the principles have adequate traction is if we start to see people use the principles as a vocabulary.

The next steps for the Engineering Principles are still up in the air. We hypothesize that the process to update the principles will necessarily diverge from the way we created this initial baseline. We’re still thinking about how we can leverage these principles to drive cultural change at Cash; while our goal for this initial working group was to create an artifact that outlines how we actually work today, we know that engineers at Cash are wondering about principles that point to where we want the organization to go, and give us something to aspire to. The Cash Engineering Principles as they are today give us a starting point for discussing the challenge of scaling our bottom-up culture.

You can read the Cash Engineering Principles in full on our blog. If the principles, or our process, resonates with you, come join us at Cash!