I hire engineers. I see a lot of resumes. The pattern that makes me pause is the one that claims ten years of experience across five companies, two years each.
Is that ten years of growth, or two years repeated five times?
Some people learn the first layer of a system — the setup, the first features, the clean part of the map — and leave when the harder layer appears. They get very good at beginnings. They never have to live with their own decisions long enough for those decisions to teach them anything.
Leaving is sometimes the right call. A broken team, a culture that will not let you work, a mission you cannot stand behind: go. I am not arguing for loyalty to a bad job.
A lot of the itch is something else. The messy middle. The new-job shine is gone. The codebase has corners. The design you were proud of six months ago is now in your way. A thing you shipped is on fire, and you are the one who has to sit with it.
That is also the moment another company looks cleanest. New problems. None of your baggage.
What you give up by leaving there:
- You never maintain your own code a year later, which is where you learn what actually lasts.
- You write chapter one and miss the part where the plot changes and the design has to bend.
- You stay "the new person" — ideas without enough trust to land them.
- You skip the proof that you can see a hard thing through. That proof is worth more than another logo.
If you want the experience you are already advertising, stay long enough to hit the part everyone else leaves.
Pick a corner of the system people are afraid of and make it better. Find the process that wastes a week a month. When you want to quit, have the second conversation: not "this is broken, I'm out," but "this is broken — what would I learn by fixing it?"
The market is full of people who can start things. The scarcer resume is the one that stayed through the consequences.