In the early days of my career as a developer, I believed that senior developers were simply those who excelled at writing a lot of code. I thought that the more code you wrote, the more you would start to own systems and leave your mark (visible through Gitlens, of course đ), eventually becoming one of the elites. However, I didn't realize that I needed to move beyond coding as the ultimate goal and start focusing on problem-solving as the real work. Writing code became second nature to me, and my time began to be utilised by others for discussions like "How should I start coding this feature?" or "Is there a way to optimize this component?"
The Early Years: Clear Roads and Visible Progress
As a junior developer, or during your initial 1-3 years, expectations are simple and clear:
-
Write working code âšïž
- Finish tickets. Fix bugs. Ship features. Make things work. Success is measured by whether the feature functions as expected, tests pass, and bugs are resolved. Youâre encouraged to focus on correctness, learning how systems fit together without being burdened by long-term consequences just yet.
-
Follow patterns đ§©
- In majority of the cases - you are expected to follow what was asked of you without asking for your opinion. This isnât about limiting creativityâitâs about learning consistency. By working within predefined structures, you absorb best practices implicitly and reduce the risk of introducing instability into the system.
-
Ask questions đđ»
- Youâll often hear advice like âask smart questionsâ. But early on, itâs more important to ask questionsâperiod. Ask about anything you donât understand, and donât be discouraged if the first answer you get isnât helpful or motivating. Over time, youâll find the right people, the right context, or the right resources. Curiosity is encouraged, and uncertainty is expected. Youâre given space to clarify, explore, and learn without the pressure of having all the answers.
-
Improve your fundamentals đ
- The early phase is heavily focused on strengthening core skills: language basics, frameworks, debugging, and tooling. Month by month, things that once felt confusing start to feel intuitive, reinforcing a strong and motivating sense of progress.
Feedback is concrete.
Mistakes are expected.
Growth is visible and measurable.
You can feel yourself improving đâand others can see it too.
Where the Fog Begins đ§
The confusion would rather start very silently. You wonât be treated like a junior and wonât be called a senior either đ€·đ»ââïž. On the surface things would look fine and would be going fine like â- youâll be shipping code faster, youâll be closing tickets faster and contributions would look significant but, something would still feel off.
First big hit might come to you when the yearly promotion would not be as you expected it. Youâll realise bigger decisions are being made without you. Feedback also comes in a vague tone: âTake more ownershipâ, âThink biggerâ, âShow more impactâ
You start asking yourself uncomfortable questions:
- What am I missing?
- Why does growth feel harder now?
- Am I falling behind?
The truth is that the rules have changedâbut no one announces it.
Output vs Judgment đšïž
The truth is simple, but rarely stated explicitly: the rules have changed indeed.
At junior levels, growth is measured by output.
Youâre rewarded for writing code, completing tasks, and following direction.
At senior levels, growth is measured by judgment.
How you make decisions when things arenât clearly defined matters more than how fast you execute.
That transitionâfrom output to judgmentâis where most engineers feel lost.
A Clarifying Truth đ
But this phase isnât about working harder.
Itâs about learning to operate without a map.
Youâre being tested on how you handle uncertainty, not how many tickets you close. And thatâs uncomfortableâespecially if your entire career so far has rewarded clear instructions and measurable output.
Thatâs why the road feels foggy.
Not because youâre doing something wrongâ
but because youâre being asked to grow in a way thatâs harder to see.
Accept this ambiguity - Feel proud of what you have accomplished - and Be ready to surpass it
Navigating the Fog: What Holds Engineers Backâand What Actually Helps
Most engineers donât get stuck because they lack skill.
They get stuck because breaking this monotony is not easy. Youâll feel overwhelmed by others and would think that they know better or might be doing better than you. But, remember this is a phase and it will pass.
In the foggy phase, some common traps that might make it harder:
Chasing more tickets instead of taking ownership đđ»
Itâs easy to stay busy by closing tickets back-to-back. On the surface, it looks productive. But senior growth isnât about how many tasks you completeâitâs about how much responsibility you own.
For example, finishing five small tickets feels good, but owning a single feature end-to-endâclarifying requirements, coordinating with others, handling edge cases, and supporting it post-releaseâcreates far more trust. Ownership means caring about what happens after the code is merged, not just before.
Avoiding ambiguity instead of leaning into it and accepting it. This means you might be overthinking. đ
Ambiguity can feel uncomfortable, especially when youâre used to clear instructions. Many engineers respond by overthinking, delaying decisions, or waiting for more clarity to arrive.
In reality, senior engineers are expected to operate inside uncertainty. When requirements are unclear or incomplete, the expectation isnât to freezeâitâs to ask better questions, propose assumptions, and move things forward. Leaning into ambiguity doesnât mean guessing wildly. It means being comfortable saying:
- âBased on what we know so far, hereâs what I suggest.â
- âIâve seen this approach work in a similar situationâcould we try a small experiment?â
- âI came across a data-backed approach to improving performance using atomic design and TypeScript. I put together a small POCâhappy to walk through it.â
This is how senior engineers create momentum.
Not by having perfect informationâbut by helping the team make progress despite imperfect information.
Your questions and opinions should shed light to a path - doesnât matter if it is one step at a time.
Waiting to be told what to do instead of proactively clarifying đ
Some engineers hesitate to speak up because they assume they should already know the answerâor fear asking what they think might be a âstupid question.â Others assume silence means agreement.
This often leads to misalignment. Senior engineers reduce confusion by proactively clarifying early: confirming assumptions, restating understanding, and asking questions before problems surface. Asking questions isnât a sign of weaknessâitâs a sign that you care about getting things right before they go wrong.
Measuring growth by effort rather than impact đȘđ»
Working long hours or solving technically complex problems doesnât automatically translate to seniority. What matters is whether your work creates clarity and momentum for others.
For example, solving a complex bug is valuableâbut explaining the root cause to the team, documenting the fix, or suggesting ways to prevent it in the future multiplies that value. Being visible doesnât mean being loud; it means communicating your reasoning, sharing your perspective, and listening to others in return.
Impact is about what changes because you were there.
What worked in the early yearsâstaying busy and writing more codeâdoesnât cut through the fog anymore.
The shift forward doesnât require a title change. It requires a mindset change.
Small adjustments make a disproportionate difference:
- Start asking why, not just how
- Document decisions and trade-offs, not just outcomes
- Think through failure cases and rollback paths
- Communicate early, even when things arenât fully clear
- Own outcomes, not just assigned tasks
These behaviours quietly build trust.
And trust is usually what promotions are based onâlong before theyâre discussed.
Seniority, Reframed â and my thoughts đ
First of all, everyone goes through this phaseâand itâs not limited to work. In life, we often find ourselves on unclear paths where progress feels invisible and direction isnât obvious. Iâll leave it to you to reflect on when this started for you, or whether youâre going through it right now. If nothing else, I hope this article makes the road feel a little clearer.
My takeaway on what defines a senior developer is simple. Senior developers are the ones who:
- Reduce chaos for others
- Bring clarity when things are unclear
- Help the systemâand the teamâmove forward
This kind of impact is hard to measure.
And thatâs exactly why the journey from junior to senior feels foggy in the first place.
If this phase feels familiar, youâre not alone.
This is the part of the journey where growth becomes internal before it becomes visible again. The fog doesnât mean youâre lostâit means youâre learning how to move without a map.
And thatâs exactly what senior engineers do.
If youâre navigating this phase right now, Iâd genuinely love to hear about it.
Feel free to share your experience or thoughts in the commentsâchances are, someone else reading this is feeling the same way.
Lastly, here's some Yoda wisdom! Cheers đ»


Top comments (0)