How I became Senior at 20

Posted by : on

Category : Software Engineering Life


Disclaimer

It is not a scam or a lie - I really became a senior in one of the largest outsourcing companies, EPAM. The disclaimer is that I would rather rephrase it as, ‘How did I get a Senior Software Engineer title at 20?’ because later, when I joined Microsoft, I realized that being a senior and having this title are two different things.

alt_text

The goal of this article is to show that having a senior position in the outsource or no name companies - is not a big deal usually.

In the end, we’ll discuss the interview process, why it’s not ideal, and how it allows people like me to easily land a Senior position after just 2 years of experience


Backstory

I was born in 2000 and started my career two months after I turned 18. I got my first offer as a trainee/junior at my first no-name company called “Magnise” by passing a ‘kick-out’ bootcamp/course there. I got lucky and started working with very strong people, learning a lot from them. Techlead suggested books and a direction for growth, and I followed it step by step.

alt_text

alt_text


Interview process in outsource companies

After a bunch of interviews, I started to notice a pattern. Mostly, interviewers asked just knowledge-based questions, without any problems to solve, no LeetCode challenges, and no system design questions.

Typically, the questions would cover different areas like databases, .NET, OOP/SOLID, SDLC, and so on. For example, questions like these:

alt_text

To answer these questions, there’s no other way than to encounter them, study, learn, and apply that knowledge in the next interviews.

I realized this is pretty much the same as preparing for an exam, but without the problems to solve. So, I started grinding through this knowledge like crazy. Usually I prefer books, for example:

  • Clean Architecture by Uncle Bob — gave me SOLID principles and application design knowledge.
  • CLR via C by Jeffrey Richter — gave me deep knowledge of .NET internals.
  • Designing Data-Intensive Applications by Martin Kleppmann - covered storages and distributed systems.
  • SDLC I covered by googling only


Getting Middle at 19

After one year in the first company, I passed an interview for the ‘Middle Software Engineer’ title at Eleks, a slightly larger outsourcing company. I worked there for one year as well, and then decided to move on. Promotions there were slow, and I felt like I could transition to a higher position at an external company.


Getting Senior at 20

It was the autumn of 2020, and Covid was still a thing. I noticed that EPAM had a Hiring Event, so I applied for a Middle/Strong Middle position.

I was contacted, and the interview process began. If I remember correctly, I had one long interview that lasted about 2.5 hours to get into the company, followed by several subsequent interviews - to choose the project.

I have to say that apart from 2.5 hours of “knowledge check”, they gave a couple coding tasks. One was - to retry service calls 3 times, in case of exceptions and rethrow different exceptions on the fourth time.

Another one was just to refactor methods according to all best practices I know.

After interviews, I started working as a backend engineer on an Oil domain project

alt_text

The screen my friend sent me in few days after I signed:

alt_text

It felt a bit weird. I couldn’t imagine being 20 and already a senior—like, what’s next? I clearly remember the first call on the project when the customer met the team.

The introduction was epic. I was sitting in my dorm with cockroaches around, and during the call, the manager introduced us: ‘This is Yaroslav, our Frontend LEAD DEVELOPER, and this is Andrii, our BACKEND LEAD DEVELOPER. It was ridiculous, and funny.

alt_text


Reality check

After one year at EPAM, I interviewed with Microsoft and Amazon, two companies with completely different interview approaches. I got rejected by Amazon, but for Microsoft, I passed at a 60 level, which is basically Junior 2


Senior is not a big deal (in outsource)

After joining Microsoft and seeing the Seniors and Principals here, I realized there’s a huge gap between a Senior at EPAM and a Senior at Microsoft. The Seniors I’m working with now could easily handle Architect responsibilities at EPAM.

The incentive might be different because outsourcing companies want to sell engineers for as much as possible, so they’re eager to give you higher titles

At EPAM, I saw many people around 20-23 years old who were already seniors or tech leads, just like me. Covid definitely played a role in that, but the main issue is the interview process. It’s a pretty poor way of validating candidates, as they mainly just ask how things work.

I would still add some problems to solve—not necessarily LeetCode-based, but more real-world tasks. System design is definitely a must for seniors, and to understand someone’s thought process, I’d ask how they would deliver a feature end-to-end. On top of that I would say experience plays a role, not only the amount of time, but the quality of the experience.


About Andrii Bui

Hi, my name is Andrii. I'm Software Engineer at Microsoft with 7 years of experience.