My path from Intern to Staff Engineer at Monzo

Read the article

Hi 👋 I’m Jacob, and I’ve recently become a Staff Engineer at Monzo. I started as an intern on the Loans team in 2018 and after rejoining in 2019 I’ve worked on all of our Borrowing products, connecting your mortgage to Monzo and most recently current account growth.

Staff Engineer means different things at different companies. At Monzo, it’s a Director level position on the individual contributor framework. This means I don’t have direct reports, but I’m expected to play an instrumental role in helping Monzo to achieve its business goals by working on highly ambiguous problems, breaking them down and mobilising teams to deliver solutions to them.

In practice being Staff leads to quite varied work. I can often have an outsized impact by engaging with the very early stages of a project, using my knowledge of Monzo systems to work out what’s feasible, scoping out effort and adding context during decisions where business, product and technical choices impact each other. There were lots of decisions like this when we designed Monzo Flex, exactly how we modelled the loan for each transaction had a large impact on how easy it is to do calculations like “how much do I owe” that we need to show to users whenever they open the app, but it also impacts how much interest customers pay and how well the product meets the needs we identified in user research. If I can influence decisions at this point in an initiative then that impact is multiplied over time as we see the costs and benefits of those decisions play out.

The difference between this role and being the tech lead for a single squad is that my scope is much broader, spanning multiple squads and products. This means I’m often involved before work has landed with a squad when it is very ambiguous, and I have to be more selective about where I invest my time because there are so many options.

Other parts of my role include mentoring tech leads within my area, working on projects that don’t have a natural home, consulting with people outside of my area on how our changes might impact them or vice-versa, and holding the bar for system design and code quality within our group.

Compared to other staff engineers at Monzo I lean quite heavily into the intersection between product strategy and tech, whereas others might be deep domain experts or spend more time fighting fires hands-on.

What’s changed from Intern to Staff?

The biggest difference between how I operate now, compared to when I started, is the level of abstraction I’m working at. As an intern, my focus was on helping my squad to hit their goals; as a tech lead I helped set those goals based on our group’s strategy; and now I’m more focused on what that strategy actually is. The perspective I have now makes it more likely that I can identify when we aren’t focussing enough effort on growing a new feature, or that investing in some technical debt now will pay off within a short time period and so we should prioritise it. Actioning these insights is how I can have lasting, multiplicative impact whilst still being an individual contributor. This does mean that I write less code than I used to, but I’m still in the weeds a lot of the time when coaching other engineers, proof-of-concepting something new or getting a new initiative off the ground.

Time management has also changed. Initially I very proactively formed and shared my opinion on what my squad was doing, how we should build a new feature, and even proposals other teams produced. I’m now asked for input on a wide array of things because I’ve been around for longer, and have a relationship with many more engineers at Monzo. I have to say no more often than I used to and decide what work is uniquely suited to me versus work that others can take on instead.

I’ve found a negative correlation with the amount of constructive feedback I’ve received and seniority. To some extent this is expected, there’s a more structured set of things to learn early on in an engineer's progression, and then a wider array of skills and ways of working that more senior engineers use to have impact, but not everyone needs all of these qualities. There’s also an element of people assuming you are right and so not telling you when they think you could improve at something. I combat this by actively soliciting feedback on my work publicly and privately, and by explicitly stating how confident I am in my opinions when I share them. 

Although my day-to-day looks quite different from a few years ago, I think my approach to finding the highest impact things I can spend my time on has remained largely the same, I’ll explore that more in the next section.

Advice for getting to Staff+

Whilst lots has changed about the way I work on my journey from intern to Staff Engineer, there’s some common themes which have stayed the same. I think these things have helped me to grow very quickly; engage with the problems that more senior people are facing; and find impactful work.

Setting a goal to operate at the next level

This is a personal choice. There are lots of experienced, high-performing engineers who are impactful and happy at their current level. Each level comes with extra responsibilities, and we still recognise and reward folk who do excellent work at their current level, even if they're not looking to get promoted.

However, if progression is what you want, then being explicit about this with your manager helps you to have honest conversations about what your gaps are, and to find opportunities that will help you fill them. It can also be useful to make this clear to anybody who is giving you feedback, if people know that you want to progress then it can make them more confident to point out what you’re not doing that they would expect from somebody operating at the next level, rather than just your current level. One of the best pieces of feedback I received when making it clear that I was aiming for Senior Engineer was that I should allocate some time to contributing to initiatives that had impact beyond my squad e.g. how we onboard new engineers, knowledge sharing how we validate changes to our credit decisioning, or even working on a side project that would have monzo wide impact.

I like the phrasing “operating at the next level” because it's focussed on scope and behaviours, as opposed to titles and promotions. I’m lucky to work somewhere where I trust that if I operate at the next level the progression will come at the right time, so I can focus on having impact rather than ticking boxes or playing politics to nab the next promotion. 

Trying, failing and learning

Setting the goal is only the first step, achieving it is likely to mean tackling some problems outside of your comfort zone. Before I became a senior engineer, I was working on improving the discoverability of our loans product. I identified that this work would benefit from being separated from the maintenance of the main product since we needed to work in much shorter cycles to test ideas and learn quickly. This led to me proposing and building a new system for scheduling our marketing messages to enable faster experimentation. 

I hadn’t been solely responsible for a change this large before and it caused a couple of minor incidents when we started using it, for example overloading our events infrastructure because of an infinite loop when trying to defer a message for later. I learned from this mistake though, and overall taking on more responsibility helped me to operate at the next level. One of Monzo’s values is “be hard on problems, not people”, it's even on a sign in every toilet cubicle. In practice this means that when something goes wrong we talk about how we can fix it, why it went wrong and how we can prevent that from happening next time. We don’t focus on who was to blame. That doesn’t mean that making the same mistakes again and again is ok, but it's more important to try new things and learn from mistakes than not to make any mistakes. This attitude has made Monzo a safe place for me to set goals, try new things, fail, and learn.

A photograph of a framed navy poster that says: 

"It's okay to... Be wrong. Cry. Say you don't know. Have a tough day. Ask for help. Fail. Take a mental health day. Have a different opinion. Take a break when you need it

It's great to... Ask questions. Put your hand up when you make mistakes. Go home. Be ambitious. Go for a walk to clear your head. Switch off completely during holidays. Work from home or a coffee shop some days. Give away your legos.

Please... Be kind. Be helpful. Be mindful of your own limits. Share knowledge. Ask people how they're doing. Bring your dog to the office. Remember there are no silly questions. Leave things better than you found them.

You should... Talk to people about doubts and concerns. Be yourself. Give candid, timely feedback. Be honest, even when it's uncomfortable. 

Try to... Soften the edges. Be hard on problems, not people (including yourself). Put your ego aside."

You can apply this approach to everything from owning bigger projects, to sharing your thoughts on your team’s strategy, to suggesting improvements to shared tools. You’ll get a mix of wins and learnings but both will help you develop.

Using first principles thinking to vet experience

How do you start having opinions on problems you’ve never encountered before? My approach is to start by listening to the people that are more experienced than you and see if you can follow their reasoning. If you can’t follow part of it, ask questions to work out why, at some point you might find a gap in their reasoning, or a justification for their opinion that doesn’t add up to you. This is first principles thinking in action and I’ve found that it’s a great tool for engaging with conversations at a level you’re not used to. 

A recent example for me has been evaluating business opportunities that we might want to do some early discovery on. I'm not used to having to choose between options where we have so little information, so I’ve been asking people how they think about it; how large is the total addressable market? How unmet the user’s need is? How uniquely placed Monzo is to serve it? If it's a combination, how are you weighting them? I’ve learned a lot from asking these questions, and over time I’ll form my own approach, but I think I can add value to this conversation already by helping people to unpick their reasoning and challenge them when it seems contradictory.

Next time somebody tells you they think your team should work on one thing rather than another, ask them why? What information is the decision based on? How are they combining that information to come to a suggestion? Can you follow their reasoning? What else would you like to know to decide whether you agree with their conclusion? 

Finding where I’m most leveraged

What is leverage? The image that springs to mind for me is a series of see-saws with balls on one side, and arms of different lengths. If I step on the longest one the ball will fly up into the sky much higher than if I step on the shortest one. In practice all this means is that I’m better at doing some things than others, and if I spend more time doing the things I’m good at, I’ll have more impact overall. 

There’s some nuance here, because everybody is good at different things, and so if I’m good at something everybody is good at, it's not as useful for me to do that thing as doing something that I’m uniquely good at. In economics this is the theory of “comparative advantage” but put simply - do what you’re the most better at than the people around you.

One recurring example for me is answering product questions with data for new products. Before we’ve got all our important data into Looker (a data visualisation tool), I’m fairly uniquely placed as an engineer with insight on what data our system emits, and a reasonably competent data person to figure out how our signup funnel is doing or what early engagement looks like. Data doesn’t have to be your point of leverage, but if you think it could be then it's easy to get started by trying to answer some questions about the next feature you roll out. How many users have seen it? How many used it? How many came back and use it again? As you start answering these questions, you’ll get familiar with where the data lives for the area you work in and what questions it can answer. Making this a real superpower comes from asking the right questions; you know you’re asking a good one when the answer will directly inform a decision your team needs to make.

Another point of leverage for me is designing conceptual models which are easy to extend and will scale well. For example when you apply for a borrowing product at Monzo, the application goes through a series of high level stages (e.g. “in progress” or “approved”) and several sub-stages (e.g “introduction” or “limit selection”). This has allowed us to experiment with the stages we show, whilst maintaining a consistent definition of what each status means and what must have happened if you transition into one. We’ve been able to build robust dashboards as things have evolved over time.

If you do the things you are most uniquely qualified to do, it makes it easier to answer the question “what wouldn’t have happened if you weren’t involved”. A killer answer to this question is a great basis for a positive performance review.

Final word

Monzo has been an incredibly safe and supportive environment for me to challenge myself and grow. They’ve enabled my progression from Intern to Staff Engineer by creating a culture of delegating ownership, and being hard on problems, not people.

I’ve maximised my impact at each level by working on things that I’m good at, and especially things that not many people around me are good at. However if I was to name one thing as the secret for my success, it's proactively trying to reason through how the people around you think from first principles, and not being afraid to ask questions; you’ll either learn something new, or help develop their thinking by finding something they can’t fully explain.

If you're interested in getting involved at Monzo, take a look at the open roles below or head over to our careers page for more.