Lessons from three years as a software engineer in London#


Three years ago, I started my first proper software engineering job in London.

After finishing my master's, applying to what felt like a million jobs and not even getting a response from most of them, getting that first offer was a huge relief. It felt like I had finally made it.

And in a way, I had. But I quickly learnt that getting the job is only the beginning.

Nobody expects you to know everything#

When you are new, it is easy to assume everyone around you knows exactly what they are doing. Someone mentions a system you have never heard of. Someone else finds a bug in five minutes that you spent half a day looking at. You look at a pull request and wonder whether you are even meant to be there. But everyone has gaps. Even the people who have been doing this for years.

The difference is that experienced engineers are usually more comfortable with not knowing something. They know how to ask questions, where to look and how to slowly make sense of a problem.

Writing code is only one part of the job#

At university and while building personal projects, I could spend most of my time just coding. At work, a lot of the job is figuring out what should be coded in the first place. You have to understand vague requirements, read old code, investigate strange bugs, review other people's work and explain technical decisions to people with completely different priorities.

I used to feel guilty on days where I did not write much code. Now I realise that progress is not always visible as a green square on GitHub.

The best engineers make things clearer#

I used to think the best engineers were the ones who could solve the hardest problems alone. Now I think a great engineer is someone who makes everyone around them better. They explain things without making you feel stupid. They write code that the next person can understand. They take a messy problem and make it feel manageable.

There is a certain kind of confidence in saying, "I am not sure, but let's figure it out together."

Asking for help early saves everyone time#

I have definitely spent too many hours stuck on something because I thought I should be able to solve it myself. Of course, you should investigate first. Search the codebase, read the logs and try to form a hypothesis. But there comes a point where staying stuck is no longer productive. A good question can save hours.

London can make you feel like you are behind#

London is full of people doing interesting things. There are people building startups, changing jobs, getting promoted, running side projects, going to meetups and somehow also finding time to post about all of it online. It can feel like everyone is moving faster than you.

Over the last few years, I have had to remind myself that there is no single timeline for life or for a career. Someone else getting a new job or doing something impressive does not mean I am failing.

It is good to be inspired by people. But it is not good to constantly use them as proof that you are not doing enough.

What's next#

Writing this feels a little strange because, after three years, I am leaving my job in London. London became home in a lot of ways. It is where I started my career, learnt how to work in a real engineering team, made friends, travelled and built a life outside of university.

But now it is time for another big change. I am moving to the San Francisco Bay Area, right in Silicon Valley.

I am excited and scared at the same time. Leaving a job and a city that has become familiar is not easy. At the same time, I am really excited to be there. It is a place where so many ambitious people are building things and trying new ideas. I am looking forward to meeting people from different backgrounds, learning from them and seeing what that environment pushes me to do.

The last three years taught me a lot about being an engineer. Now I want to understand the bigger picture better too: how products are built, how teams work, how technical decisions get made and how engineering connects to the rest of a business.

I do not know exactly where this next chapter will take me. Maybe I will come back to engineering in a different capacity, maybe I will move closer to product or management, or maybe I will discover something completely new. For now, I am just grateful for the last three years. London gave me my first real chance, and I will always look back at it as the place where I properly started.