Our engineering values at TransferWise

Engineering

Written by: Harsh Sinha, CTO of TransferWise

Over the years, I’ve been asked questions like “what is it like to work at TransferWise as an engineer?” or “what are your organizational values?” or “what are the principles the engineering org at TransferWise operates on, cares about?”

I thought it may be worth sharing a post I wrote internally a few years ago as we published our Engineering values — the shared values we agree to live and build by as we build TransferWise together.

At TransferWise, we live by our values. We use them during heated debates about our next technical or product change, when interviewing candidates, talking to customers or presenting ideas within the company or externally.

Our company values allow us to scale our organization by building a shared understanding of what’s expected of each of us and how we’re expected to build TransferWise together.

While our company values help us in a lot of ways, they can sometimes be a bit higher level than needed for us to use them day-to-day when building the technology that powers TransferWise.

As our Engineering organization is growing, having a common set of values we agree to live and build by can help us execute better in the long run and build a platform, product and team together we’re proud to stand behind.

We had conversations with our Engineers on the values they believe our organization should live and build by. Taking all the feedback from these conversations, we’ve built our Engineering values together. We believe these outline the organization and environment we want to build and work in.

We divided the values into specific themes below:

Ship often. Learn. Iterate. Have impact.

One of the biggest strengths we have as a smaller company versus the larger corporations is to learn fast and iterate. Our Product Engineering culture focuses on being close to our customers and problems we’re solving while making sure we’re always learning and focusing on impact.

Be replaceable — single ownership is no ownership.

We’re building systems to move money around the world. That’s a big responsibility our users entrust us with and we should take it very seriously. Part of scaling our systems includes scaling our organization to remove any single points of failure in ownership and knowledge.

We encourage our Engineers to work themselves out of their current job in the next 18–24 months and aim to always actively support their career development.

Move fast, but build for tomorrow.

High velocity and good quality can go hand in hand. When designing systems, we encourage our Engineers to think beyond the current scope, region and implementation. Their implementations should always adjust for the capabilities to extend things in the future.

If someone’s aiming to cut a corner here, they should be honest to themselves, their team and the rest of TransferWise by acknowledging the decision and setting a date or milestone when they’ll either sunset this functionality or fix the shortcut. We encourage to document the shortcomings and share these decisions with the wider team before shipping.

Taking on shortcuts without acknowledging it and setting a plan to fix it with a milestone isn’t tech debt, it’s just bad code!

Nothing great has been built without strong opinions and people discussing and arguing (at times) to build the best thing possible. We shouldn’t shy away from strong discourse to get to the right solution. We hire smart people who tend to have strong opinions on design, architecture and implementation specifics.

Strong opinions and being opinionated helps us go deep into our domains, build good technology and products and understand the trade-offs of different approaches.

That said, we acknowledge there are multiple ways to solve a problem and we should avoid scenarios where strong opinions prevent us from making progress in a reasonable time. We value Engineers with strong opinions who are open to different approaches, open discussions on pros and cons of each approach that are documented and shared to eventually make progress, learn and avoid stalemates.

Finally, no matter how heated a discussion gets, we always keep it professional — never personal!

No question is stupid, no answer unappreciated.

Goes without saying — we’re all here to learn and the first part of learning is to be able to ask questions without feeling judged.

We’re all putting in some of our best working years building this revolution called TransferWise. For us to achieve our mission, we need to continuously grow and learn individually and together as a team. Part of this is pushing each other to get better over time — leading by example, starting with oneself.

team activities

Like our company values, we use these values as our guiding light for our day-to-day work. We hold each other accountable when we feel some of us are behaving in ways incongruent to what we agree is our way of working. Additionally, using these values as sign posts when interviewing candidates can help us make sure we are hiring folks who believe in our way of working.

Are these values unchangeable? No. Organizational values and culture are built by the people in the organization so we should always be looking at things that may need changing and iterate when they aren’t relevant anymore. These values are broad enough to last us for a long time, but we’ll review them and may add a few more over the next few years if and when needed.

P.S. Interested in working with us? We’re hiring! Check out our open Engineering roles here.