Airtasker’s Engineering Values

Yaniv Bernstein
The Airtasker Tribe
4 min readJul 25, 2019

Airtasker has a set of five excellent company values. These have served us well in Engineering: guiding how we conduct ourselves as Airtasker employees and as custodians of our vibrant community. As general values, though, they say little about our approach to building and running software. For that reason, we have decided to adopt a set of five engineering values that act as a complement to the company values.

What makes for good values?

First of all, while it’s OK for them to be aspirational, they have to be based on existing aspects of the team’s culture. Otherwise they ring hollow. In other words, values should be an artefact that reflect, articulate, and amplify existing culture. For setting culture, other tools are more suitable.

Secondly, good values should help define a team’s culture. Definition is about exposing boundaries: “these things are part of our culture, while these things are not”. It should be possible to disagree with values, or to propose other plausible values that contradict those values. “Values” that are universal and all-encompassing do not define anything, and hence say nothing about a culture.

With that preamble, I would like to present Airtasker’s engineering values, exactly as we wrote them. I believe that they meet the criteria above: they reflect who we are, while reminding us that we can be better; and they provide definition to our engineering culture, favouring one way of doing things (e.g. collaborative decision making) over other plausible alternatives (e.g. single-owner decisions). I’m proud of them, and hope they make for an interesting read.

Our job is to solve problems for our users

Airtasker engineers care about product. We care about design. We care about acquisition and distribution. We care about customer satisfaction. We care about retention. We make sure we use the tools and data at our disposal to understand our software and our users.

We collect data thoroughly, carefully, and with full respect for people’s privacy. We use data to inform us, but we don’t let it drive us. We never forget that behind the data, there are real people.

As Airtasker engineers it is not enough to write beautiful code. Until we understand how our work solves real problems for our users, we don’t start building it.

We embrace uncertainty

We believe in learning and iterating, because most of the time we won’t get it right the first time. We believe that every mistake is an opportunity to learn.

We believe that uncertainty is not the enemy of good planning. We believe that thinking before doing results in better experiments and better infrastructure. We write down our plans and solicit feedback from our peers. We acknowledge that uncertainty is not an excuse for a lack of rigour, nor for a lack of commitment.

We guard our codebase relentlessly

A well-architected, cleanly implemented, secure, well-tested, proactively maintained codebase is a competitive advantage. It enables us to delight our users, allows us to grow, keeps us productive, and allows us to make big bets.

We believe that simplicity is fundamental to quality, and fight complexity wherever it encroaches.

We are all guardians of the codebase. We hold ourselves and our peers to a high standard, and understand that committing code is never a right, but always a privilege. We invest in architectural design, clean up after ourselves, always try to increase the quality of the codebase… and expect no less of others.

We make decisions together

We believe that more heads are better than fewer, and that great ideas can come from anywhere. Therefore we strive to make decisions together, and on their merits.

We believe in vigorous but respectful debate.

The majority does not rule. We make timely decisions, and when it is not possible to do so, we respectfully escalate. Deciding together does not mean choosing a compromise that satisfies nobody. We trust that strong and honest debates about ideas tend to lead to principled outcomes. Once a decision is made, we all commit to it fully.

We are all engineers

We are engineers above all else. We believe that engineering is the craft of building high quality software systems, fit for purpose.

We understand that our tools are not our craft. Just as the basis of a carpenter’s craft is an understanding of wood, ours is based on an understanding of software. As engineers, we do not constrain ourselves to the set of tools we have mastered. Instead we seek to apply the tools necessary to complete the job at hand, confident that our mastery of our craft makes it possible to efficiently learn new tools.

--

--