Nobody told me the technical part was the easy part
I thought being a great engineer was enough. It wasn’t. Here’s what I learned the hard way going from junior to senior in Bay Area tech.
Table of Contents
- Focus ruthlessly on what gets measured
- Nobody cares about your work — so tell the story yourself
- People get you opportunities, not your resume
- Sit at the table. Have opinions. Be remembered.
- Confidence trumps truth — so build both
- Sometimes you just have to suck it up
Focus ruthlessly on what gets measured
Early in my career I spent enormous energy on things that were genuinely good for the codebase but invisible to everyone evaluating me. I optimized CI build times nobody had asked me to optimize. I refactored repositories on principle. I filed bugs that got dismissed as “not a real-world scenario.” I was doing real work that landed on no one’s radar.
The uncomfortable truth: impact at a company is defined by what leadership chose to measure. Your performance review doesn’t reward effort — it rewards visibility within the measurement system. This isn’t cynicism. It’s how organizations work.
IMPACT. IMPACT. IMPACT. If you can’t point to a number, a reduced risk, or a changed behavior — you’re doing invisible work. And invisible work doesn’t compound.
Once I understood this, I stopped doing great invisible work and started asking a simple question before starting anything: will this move a number someone cares about? If the answer was no, it went to the bottom of the list.
Nobody cares about your work — so tell the story yourself
Nobody cares about your work. I mean that affectionately: they’re busy with their own. In a company of hundreds of engineers, excellent work will go unnoticed unless you surface it.
I used to assume doing the work was enough. I’d fix a gnarly bug, write a tight postmortem, ship a feature that made things measurably safer — and then wait for someone to notice. They didn’t. The promotion cycle came and I scrambled to reconstruct what I’d done from commit logs.
Technical output alone doesn’t land. You have to transform what you built into a narrative someone else can carry into the room where decisions get made.
Evangelizing isn’t arrogance — it’s finishing the work. A design doc nobody reads is a failed deliverable. Getting something shipped is only half the job — the other half is making sure the right people understand what changed and why it mattered.
People get you opportunities, not your resume
I got every significant opportunity in my career through a person — someone who vouched, referred, or created a path a cold application never would have. And that’s not just about jobs. The stretch project you didn’t know existed, the visibility with leadership two levels up, the benefit of the doubt when a reorg hits, the interview you only got because someone said your name in a room you weren’t in — all of it runs on relationships.
Your title is a label. Your resume is a summary. Neither of those advocates for you when you’re not in the room. People do.
This sounds obvious in retrospect but it fundamentally changed how I invested my time. I stopped treating networking as a transactional chore and started treating relationships as the actual substrate of a career. The engineers I’ve mentored who’ve grown fastest all figured this out early.
Prepare relentlessly. Read, build, contribute, get good. And when the moment comes — because someone put your name in a room — you’ll be ready. Luck is truly where preparation meets opportunity.
Sit at the table. Have opinions. Be remembered.
Showing up quietly is a guaranteed way to be passed over. Ask the pointed question. Push back when you see a gap. Take a position. People remember the engineers who had a perspective — not the ones who nodded through every meeting.
Early in my career I watched engineers with comparable skills get very different outcomes. The ones who got noticed weren’t necessarily the sharpest technically — they were the ones who made their work legible, took positions in reviews, and put their name on things. The delta between meeting expectations and exceeding them was rarely about skill. It was almost always about visibility.
Win the room before the meeting starts. The best engineers I’ve worked with had already socialized their ideas beforehand — synced with stakeholders, addressed objections informally, and arrived with momentum.
Confidence trumps truth — so build both
Here’s an uncomfortable thing I had to accept: in a room of uncertain information, the person who speaks with conviction shapes the outcome more than the person who’s quietly correct. I’ve watched technically superior ideas lose to worse ones pitched with more certainty. I’ve watched careful engineers get talked over because they hedged every sentence.
This isn’t fair. It’s also not going to change. Truth doesn’t advocate for itself — it needs a voice behind it, and that voice has to sound like it believes what it’s saying.
The lesson isn’t to bluff. It’s to stop punishing yourself for being right-but-quiet and start doing the actual work of communicating with conviction. Know your argument cold. Say it without the seventeen hedges. Be specific about what you don’t know, and confident about what you do. Being correct is necessary but not sufficient — the delivery is part of the work.
Sometimes you just have to suck it up
There will be stretches of your career that feel genuinely frustrating. Expectations that shift every two weeks — the thing you were told was critical last sprint is somehow no longer relevant this sprint. A manager who doesn’t seem to understand priorities — who treats a paper cut and a severed limb as roughly the same kind of problem.
You have two options: leave, or build the muscle of doing excellent work anyway.
I’m not making a virtue of suffering. Some situations genuinely need you to leave. But most of them — the vast majority, early in your career — are conditions worth learning to operate through. Because here’s the thing: the senior engineers I admire aren’t the ones who got to work in pristine environments. They’re the ones who delivered consistently in messy ones. That’s the actual skill. That’s what separates people who grow linearly from people who grow episodically, hopping roles whenever things get hard.
Build the muscle early, while the stakes are still small enough to afford it.
The tl;dr
Junior-to-senior isn’t a technical threshold. The technical part matters — but most people who stay junior are held back by something else: visibility, communication, relationship capital, or the willingness to be opinionated under uncertainty.
Figure out what gets measured. Move that number. Tell people. Build relationships before you need them. Do the pre-work before the meeting. Speak with conviction. Operate well in conditions that aren’t ideal.
Four years in, these are the lessons I’d hand my earlier self. I’m still learning most of them.
This post was written with the assistance of AI. Some of the ideas and phrases here aren't originally mine — they're borrowed from people smarter than me, shaped by four years of living with them.