How to Ask for a Raise or Promotion as a Software Engineer

May 29, 202610 min read
interview-prepcareercommunicationmock-interviews
How to Ask for a Raise or Promotion as a Software Engineer
TL;DR
  • Raise vs. promotion are different arguments: raises need external market compensation data, promotions need scope evidence at the next level
  • Keep a running evidence file all year with wins, measurable outcomes, and business impact, not just before review season
  • Ask 2-3 months before your review cycle so your manager can flag you during budget planning before numbers lock
  • Operate at the next level for 6-12 months before asking for a promotion; the conversation should confirm what's already true
  • Anchor with a specific number based on Levels.fyi market data, framed as a business argument not a personal one
  • When they say no, get specific criteria in writing and set a follow-up date before leaving the room

You scheduled the meeting. You practiced the number in the car on the way to work. You picked a Tuesday afternoon because everyone knows Tuesday afternoons are peak emotional availability for managers.

Wrong starting point. That's true whether you're a software engineer asking for a raise, pushing for a promotion, or both.

The outcome of that conversation was largely decided before you walked in. Whether you leave with a yes depends mostly on what happened in the months before you said a word. Most salary advice focuses on the conversation itself. This is about everything that precedes it.

Raise vs. Promotion: Two Different Arguments

These look like the same conversation. They're not, and conflating them is the most common mistake people make.

A raise is a market argument. You're saying your current salary doesn't reflect what the market pays for someone doing this job at this level. The evidence is external: compensation data, comparable roles, what your skills are worth right now. The question you're answering is "am I being paid fairly for what I already do?"

A promotion is a scope argument. You're saying you've been operating above your current level and your title and comp need to catch up. The evidence is internal: the projects you led, the decisions you owned, the problems you solved beyond your job description. The question is "is this person already doing the next-level job?"

Sometimes both are true. But the preparation is different and so is the case you make. A market-rate argument when what's required is evidence of next-level impact doesn't work. Making a scope argument when you need external data to justify a salary floor doesn't work either. Before anything else, figure out which conversation you're in.

Start the Evidence File Now

Trying to reconstruct your impact at review time is like filing taxes from memory. You miss things. You understate things. You say "I helped with" because you can't remember the specifics. Vague language loses. And your manager is doing the exact same thing, trying to advocate for you from vibes while HR asks for bullet points.

Some engineers keep a running log all year: wins, measurable outcomes, scope expansions. Different names for it: brag document, achievement file, work log. A basic version takes five minutes a week. Four fields per entry: what you did, what the measurable impact was, how you know, and any external confirmation. When the conversation comes, you're not improvising. You're presenting.

That second part matters more than most people realize. You're not making your case to whoever approves compensation above your manager. Your manager is. Their ability to advocate for you depends entirely on the specific, quotable material you give them. "She led the migration that cut p99 latency by 40%, which unblocked the Q3 launch" travels up the chain. "She works really hard and deserves this" does not. One of those sentences makes it into the document. The other gets a sympathetic nod and disappears.

When to Ask for a Raise: The Budget Window You're Missing

By the time your manager sits down with you for the annual review, the budget for raises is already allocated. Divided by department, divided by manager. Your manager has a number they're working within. The conversation feels like a negotiation, but the ceiling was set weeks ago in a meeting you weren't in, about a process you didn't know had started.

Most companies run a compensation planning cycle 4-8 weeks before review conversations. Managers submit requests during that window. HR calibrates across teams. Budget gets locked. If you're walking into your review expecting to open the budget discussion, you're showing up to a vote that already happened.

The right time to surface the conversation is 2-3 months before your review cycle. Not a formal ask yet. Just a signal: "I'm planning to ask for a raise in Q4 reviews, and I wanted to give you context in advance so you have time to factor it in." Two things happen. Your manager can flag you during the planning window, before the numbers are locked. And when the review arrives, it confirms something already in motion rather than surprising anyone.

A raise you ask for at the review is a request. A raise you ask for 10 weeks before the review is a campaign.

Promotions Are Recognition, Not Permission

Companies promote people after they've already demonstrated they can operate at the next level, typically for 6 to 12 months. The promotion is recognition, not permission. You don't ask to try out the next level. You do the work, then you ask for the title and comp to reflect what you've been doing.

There's no negotiating your way into a promotion you haven't earned. The case isn't "I'm ready to step up." The case is "I've been doing this job for two quarters. Here's the evidence." One of those sounds like ambition. The other sounds like a billing statement.

What does "operating at the next level" actually look like? Pull up the job ladder for the level above you and identify what you're not yet meeting. At most companies, the jump from mid-level to senior involves cross-team influence, defining problems rather than solving assigned ones, and technical decisions that affect other teams. If your examples all live inside your own team, you're not there yet.

When feedback says "not ready," treat it as a roadmap. Ask specifically what's missing. Get concrete gaps, not generalities. Come back in 90 days with evidence you've closed them.

Scope creep works in your favor here. When your role expands beyond your job description, capture it precisely. You didn't "help out" on that system design review. You led it. You didn't "contribute to" the roadmap discussion. You shaped the technical direction for Q2. Soft language shrinks your case.

Your Manager Is the Case-Maker

You don't get promoted by impressing the people who approve promotions. You get promoted by impressing your manager enough that they fight for you with those people. The calibration meeting where your name comes up, the comp planning cycle where budget gets allocated: you're not in any of those rooms.

Your manager is your proxy in every conversation that matters. Your job is to make their argument easy to make. If they walk in with vague positive feelings and no data, vague positive feelings is what gets written down, and vague positive feelings does not move headcount budget.

There's a useful distinction in career development between a mentor and a sponsor. A mentor talks with you. A sponsor talks about you. One in five men and one in eight women in professional roles has a sponsor, and that asymmetry maps directly to who advances faster. You may not control whether someone champions you, but you can build the kind of track record that makes it easy for them to.

Give your manager the ammunition: specific projects, specific outcomes, specific business impact, in language they can repeat verbatim.

Name a Number. Name It First.

When the conversation happens, name a specific number. Not a range.

Anchoring research is consistent: the first number introduced pulls the outcome toward it. Stating a range signals flexibility and the other side treats the bottom as the anchor. The range is not a range. It is an offer. Say $155,000, not "somewhere in the $145 to $160K range."

Do the market research first. Levels.fyi has transparent compensation data for tech companies by company, level, and location. Factor in your city, your company's pay positioning, and what engineers at your specific level are actually earning.

Frame the number as a market conversation, not a personal one. "Based on what engineers at this scope and level are earning at comparable companies, I want to move to $X" lands differently than "I need $X because my expenses have increased." The first is a business discussion. The second invites a debate about whether your landlord's decisions are the company's problem.

Ask about budget directly. "What's the capacity for adjustments this cycle?" gives you real information. If this cycle is constrained, ask when the next window is and get it on the calendar.

When They Say No

A no handled correctly is not a dead end.

Ask what would make it a yes, then document the answer. "What specifically would I need to demonstrate over the next six months for this to be a yes in the next cycle?" Write it down. Send a follow-up email recapping what you heard. Set a date for the next conversation before you leave.

This converts a rejection into a contract. If your manager confirms that hitting X, Y, and Z would justify the raise, and you hit X, Y, and Z, you now have a documented commitment to hold. That's much harder to walk back than a vague future promise. You're not being aggressive. You're just very good at taking meeting notes.

If the answer is vague encouragement with no specific criteria, that's information too. The constraint may be budget or internal politics, not your performance. Your options: wait it out, escalate, or let the external market be the lever.

If you want to know what your options actually look like out there, SpaceComplexity can help you prep for external interviews so the alternative is real, not hypothetical. Knowing you have options changes the texture of every internal conversation.

The Short Version

  • Raise vs. promotion are different arguments. Market data vs. scope evidence. Know which one you're making.
  • Keep a running evidence file. Wins, impact, how you know. Five minutes a week. All year, not just before reviews.
  • Ask 2-3 months before your review cycle. Budget is allocated before reviews happen. Get your name into the planning window.
  • Perform at the next level for 6-12 months before asking for a promotion. The conversation should confirm something already true.
  • Arm your manager to advocate for you. Quotable specifics, not general sentiment. They're your proxy in every room that matters.
  • Name a specific number. Research the market. Frame it in business terms, not personal ones.
  • When they say no, ask what it would take. Get specific criteria in writing. Set a follow-up date.

For more on the compensation conversation when it involves a new offer, see the breakdown on how to counter a job offer and what to do when the initial number is a lowball. If you're navigating what each level actually expects, the engineering level breakdown covers how the bar shifts at each step.

Further Reading