I've shipped software as an employee, as a contractor, and running my own shop. If I could send one page back ten years, this is what would be on it.

Depth beats breadth earlier than you think

Being okay at eight things is worth less than being the person people call for one thing. The first year of specialization feels risky, like closing doors. It's actually the only way to get paid for judgment instead of typing speed.

Your work is not your worth

A rejected pull request is not a rejected person. I spent years reading technical disagreement as a character judgment, and it made me defensive and worse at my job. The best engineers I've worked with are the fastest to say “I was wrong, explain it again.”

Write things down

Design docs, incident notes, decisions and why. Two reasons. First, it shrinks how much you have to carry in your head. Second, writing is how vague thinking gets exposed — half my bad ideas died while I was trying to explain them.

Learn to explain, not just build

The engineer who can describe a tradeoff to a non-technical stakeholder gets promoted faster than the one who's slightly better at the keyboard. Communication isn't the soft skill next to the real work. It is the multiplier on the real work.

Pick managers, not titles

A good manager will fight for your growth, tell you the truth, and shield you from nonsense. A bad one will teach you survival habits you'll have to unlearn. In interviews, ask what happened to the last person on the team who got promoted. The answer tells you everything.

The salary conversation

Nobody teaches this, so: never name the first number. When asked, ask back what range the role is budgeted for. Get it in writing. And remember that a title bump with no raise is a favor you're doing for someone else. I lost real money by being polite in exactly three conversations.

What I'd still tell myself

You will not be fired for asking a clarifying question. The codebase is not sacred and neither is the architecture diagram. Most deadlines are negotiable and the ones that aren't were badly set. And the job that looks ideal from the outside is a group of tired people with a budget, just like every other one.