Confidence Is Not a Prerequisite
Stop asking if you're senior enough to move. Seniority is impact and ownership, not a feeling that arrives one day. Confidence lags competence — look at the work.
Am I good enough yet?
I don’t mean it as a joke. I mean the actual question — the one that shows up when a job starts to fit, when the scary work gets quieter, when the next step would require saying out loud that you operate at a level you still half-suspect you’re faking. Self-taught engineers are especially good at this loop. No degree stamped a starting rank on us. No ladder told us when the next rung was ours. So we wait for a feeling.
That feeling is a bad gate.
Confidence is not a prerequisite. Seniority is not a mood. If you are waiting to feel ready before you act like someone at the next level — apply, stretch, leave, raise the scope of what you own — you will wait longer than the work justifies.
What seniority actually is
I have spent years quietly measuring myself against the wrong things.
Years in a stack. A title on a contract. Whether I could pass some imagined interview bar on a whiteboard with a stranger. Whether I felt like the word senior wouldn’t catch in my throat. None of that is empty, but none of it is the thing.
The thing is narrower and harder to fake:
- You own problems that used to need someone else in the room.
- You reduce ambiguity for other people — not by knowing everything, but by making the next true step legible.
- You leave systems more reliable, more honest, more operable than you found them.
- You can hold a decision under uncertainty without needing the answer to arrive first.
I wrote once that the senior skill isn’t knowing the most tools — it’s writing things other people can rely on without having to ask you. I wrote later that it’s also being hard to throw off, and knowing your system deep enough that the right place to look is already on the map. Both still stand. Neither requires you to wake up feeling senior.
I am self-taught. Rails for a season, then Java for years as a sole proprietor on a real platform — the kind of work where ownership is not optional because there is no larger team to absorb the gaps. That path didn’t hand me a confidence certificate. It handed me evidence. Those are different currencies, and only one of them clears.
The confidence trap
Here is the mechanical problem with waiting for confidence: it lags.
Competence moves first. You ship the thing, you survive the incident, you rewrite the tool you were ashamed of a year ago and can finally see the growth in the diff. Confidence strolls in later, if it bothers to show up at all — and for a lot of self-taught people, it has a chronic limp. Hired engineers often get external mirrors: promotion frameworks, calibration meetings, a manager whose job includes telling them the level they are operating at. We often don’t. So we substitute a private weather report and call it discernment.
It isn’t. It’s stall.
“Confident enough” is also not a fixed threshold. Every time you move, the room gets bigger and the feeling resets. If your rule is act only once the doubt is gone, you have built a rule that fails on contact with growth. The doubt is not a signal that you are underqualified. Often it is a signal that you are standing at the edge of work that would make you stronger.
I am not saying ignore fear. I am saying stop treating the absence of fear as a hiring criterion you apply to yourself.
You can like the job and still outgrow it
This is the part people flatten into a “just quit” slogan, and I want the opposite of that.
You can enjoy the work, respect the people, and still notice that the constraints around the work no longer match the life or the engineer you are trying to become. Comfort is not automatically stagnation — not if you are still stretching inside it. But comfort is also not an argument. “I like it here” answers a different question from “is this still the place where my next year of growth is most likely to happen?”
Those can diverge without anyone being the villain.
Leaving a good setup is not a betrayal of gratitude. Staying in a good setup past the point where you are no longer stretching is not loyalty — it is drift with better branding. The honest audit is quieter than either story: what problems do you own now that you did not own two years ago? What would another year here add that you cannot already name?
If the honest answer is mostly more of the same, the feeling of readiness is irrelevant. The evidence already spoke.
Look at the work
So stop interviewing your emotions. Audit the evidence.
Not a corporate competency matrix. A peer checklist you can run on the last year of your actual job:
- Ownership — What broke or shipped that was yours end to end, including the parts nobody assigned you?
- Ambiguity — When the ticket was wrong or missing, did you stop, or did you define the real problem and move?
- System depth — Can you explain not only your service, but the paths traffic, data, and failure take through the things around it?
- Signal vs noise — In the last ugly incident or design review, did you anchor on the first symptom you understood, or keep the search open?
- Other people — Who moves faster because of how you left the code, the docs, the pipeline, the explanation?
- Taste under pressure — When you had to choose an imperfect path, could you say why — and live with it?
You will not score cleanly on all of them. Nobody serious does. The point is not a passing grade. The point is replacing do I feel senior? with where is the proof, and where are the gaps I can still name?
Gaps are not disqualifiers. Unnamed gaps are. A gap you can point at is a curriculum. A foggy sense of “not yet” is how competent people mark time.
Enough is a decision
I still ask the question. Am I good enough yet? It shows up on quiet Sundays and before ambitious applications and any time the work gets large enough to remind me I once copied Kubernetes YAML and prayed.
I am trying to change what I do with it.
I do not answer it with a feeling anymore. I answer it with the work. With the pipeline that finally failed honestly. With the incident where I watched the gap and refused to romanticise it. With the slow compound of a day job done properly and side learning that crawls and still counts. With the ownership that accumulated because someone had to carry it.
If the evidence says you already operate at the level you are waiting to feel, the move in front of you — stretch, apply, leave, stay on purpose — is a decision. Not a mood. Not a vibe. Not a future version of you who finally stops doubting.
Confidence can come later. It usually does.
Stop asking if you’re ready. Look at the work.
← all writing