Cold Shower at the Interview
I had a moment when I thought I had already grown up. Two jobs behind me, tasks completed, code written, everything works. Inside, I felt like I was already a decent developer. I went to an interview. And there they started asking questions: how do indexes work in a database, what happens under the hood, how are decisions made. I didn't answer. At all. And it was a cold shower. Because inside you consider yourself a mid-level, but in fact, you don't even qualify as a junior. That's exactly how it was for me. After this, it becomes clear that the ability to write code ≠ the ability to be a developer. And this is where most people falter.
Why 90% of juniors get stuck
If we break it down honestly, why 90% of juniors get stuck, the reasons are almost always the same.
1. They learn syntax, not thinking.
They learn the language, framework, CRUD, but do not understand how the system is structured, why decisions are made, and what trade-offs exist.
2. They are afraid to read other people's code.
Real work is not about writing from scratch. It's about understanding what already exists. Reading the code of used libraries also counts.
3. They don't understand the business.
They write code but do not understand why this feature is needed, where the money is, what is important, and what is a priority.
4. They avoid complex tasks.
They cling to comfort and do not venture into the unknown.
5. They do not work with metrics.
They do not think about performance, load, errors until something breaks. This is a normal stage. The problem is that many remain here.

Growth to mid-level — it's about context
Now an important question. Okay, you've figured out the technologies. What's next? Next comes the growth into a mid-level developer. And here, it's not enough to just be someone who writes code. You need to understand what you are automating. Not an abstract service. Not an API. But real processes. If you work with e-commerce, you need to understand how the catalog works, how the search functions, where money is lost, what affects conversion. If with fintech: where the risks are, where the transactions are, where errors cost money. And only after that can you make decisions. Because a mid-level developer is not someone who knows more technologies. A mid-level developer is someone who understands the context, can prioritize, and offers solutions based on business tasks. You don't say "let's rewrite it in PostgreSQL because it's cooler." You ask "does this solve the problem?", "does this accelerate the business?", "is this even needed right now?"
You start working not with code. You start working with consequences. And this is the main checkpoint. In short: a junior thinks about how to write, a mid-level thinks about what exactly needs to be solved and why. And if you don't do this, you stay in place. No matter how many technologies you learn.