Our Engineering Culture
Intro
Codifying an engineering culture is always a bit of a challenge. The culture of a company is so ever-shifting and you don’t want to be too specific or too vague. If it’s too specific then we don’t allow for true diversity and allow everyone to flourish in their way. On the other hand, if it’s too vague then it’s just a generic set of guidelines.
The idea was not to come up with a set of principles or new behaviours but purely codify how we already work, our processes, expectations and interactions. This helps us when sometimes we lose context or when onboarding someone new! This was the work of a few months and a few revisions ending up with an engineering all-hands session where groups discussed every principle. It was amazing!
Without further ado…here are the principles.
Level Up
What do you owe to yourself
Levelling up is about constantly growing. It is seeing beyond what is to imagine what could be.
This is about being an agent for change. It is about challenging ourselves and the status quo. It is about having big ambitions.
It requires that we can face facts and accept hard truths. We accept constructive criticism, we have a growth mindset. The feedback we give is always positive and constructive and comes from a good place. We want to learn all kinds of skills, personal or technical ones.
Levelling up means pushing out of your comfort zone. You have to be willing to take risks, manage risks, and make a reasonable decision when you have imperfect information. We will make mistakes, and we embrace them.
Inclusivity, Safety & Trust
What do you owe to the team
Great teams are not just great people, it is how they relate and enhance each other.
You need a high trust team to be a great team. You need an environment where individuals can focus all their energy and creativity on moving forward and not be drained by politics, debates, or self-doubt.
On a team like this, you are not scared of bringing up your ideas, because you know your colleagues will listen to you, it doesn’t matter where it comes from. No one will judge you, and everyone always helps each other. By working with others you elevate yourself and the team and we achieve things that would not be possible alone.
On a high trust team, you feel safe to have hard conversations. It is about working on difficult problems, not with difficult people. It is known that everyone is coming to the table with their best intentions – and when things go wrong, we solve them together. We don’t debate to see who is smarter or to be proven right.
Feeling safe means knowing that you can be your most honest, authentic self; because that is when you bring your best. We want well-rounded teams of unique individuals who assemble to create a wider, more inclusive perspective.
We want to build products for everyone in the world, and we need to represent and be open and curious about that wider world to achieve our mission.
Ship it sustainably
How we do it
Great companies are marathons, not sprints.
You have to be part of a sustainable team and build a sustainable business. We are building the future of fashion, and our customers need us to be successful and around in the future to deliver on that promise.
It means balancing speed and investment with long term missions and being pragmatic. It is about being practical instead of dogmatic. Sometimes a feature just needs to be hacked together to see how people use it. Other times, it is about taking a more strategic approach.
Building sustainable systems means doing only the complexity you need, and no more. Prefer maintainable and defensible over clever and optimized. It means we don’t build stuff for the sake of building stuff.
It means we choose simple, robust and reliable technology and focus on the bits that differentiate us from the others. We build reusable code we can share across teams and we use code that other teams or people have built. We put the effort into the important bits, the stuff that makes us leaders.
Do the right thing
What we do
Not everything that is important can be measured, and not everything that can be measured is important. Don’t confuse having good numbers with doing a good job and doing good by people. Use your best judgment and do the right things. Do the things that are right by the product, the company, and the customers.
We don’t “own” the products. They are owned by their users. We are the ones that help users achieve their goals, making the right decisions. It means having our product hats on when thin*king about what to do next, and not only caring about the technology.