11 min read
You got the offer. Your stomach still drops because the base sits below the posting range you saved. You're not greedy. You're mid-level in a market where the same title covers wildly different stacks, and you never wrote down what "fair" meant before the call. That's normal when you've been heads-down shipping instead of tracking bands.
Before you counter, check your resume for free against the req you just cleared. If bullet one understates on-call or production ownership, the hiring manager will treat your number as title inflation even when your ask is reasonable.
Negotiation isn't a personality test. It's a short process: document a band, tie your proof to their stack, ask once with a fallback, confirm in writing. This guide walks that loop for software, platform, data, and security mid-level roles in US corporate hiring, mostly Workday and Greenhouse employers.
You can't negotiate your way out of a level mismatch. If they offered mid-level and your interview answers sounded junior on system design, fix the story and the file before you push on base. Market data helps most when scope and level already match.
When the employer asks for a cover note with the counter, generate a cover letter that repeats one metric from bullet one, not a fresh keyword list that contradicts your interview answers.
Quick Wins
- Write low, mid, and high anchors before the offer call.
- Ask for the full offer packet in writing before you counter.
- Pick one primary ask and one fallback lever.
- Email a recap within an hour of verbal agreement.
What market data can and can't do
Public occupational data shows role-family bands by metro. It doesn't know your interview performance, their internal leveling matrix, or whether the req is backfill versus new headcount.
Start with the Bureau of Labor Statistics Occupational Employment and Wage Statistics for the closest SOC title to the posting. Pair that with three live reqs that match stack and level language. You're building a notebook, not a single magic number.
Posting ranges help when employers publish them. Treat the bottom as their hoped-for spend and the top as the stretch they'd still approve for the right proof. Your counter should reference the band you documented, not a meme from social media.
Mid-level IT spans backend, platform, data, and security titles with different cash mixes. A platform engineer with pager duty and a product-facing full-stack role won't share the same band even when levels match. Filter comps by stack verbs, not logo prestige.
Edge case: fully remote req with a national band. Anchor on the employer's stated location policy and the metro they use for payroll, not the city you wish counted.
Edge case: contract-to-hire with a low hourly rate. Negotiate the conversion level and target base before you accept the contract, not twelve weeks in when your bargaining room shrinks.
For how leveling shows up on resumes before talks start, read apply when slightly underqualified . Under-leveling in the file makes counters harder even with good data.
Bonus targets often read as "up to" percentages without defining whether they're team or individual. Ask how payout correlated with delivery last year. Equity statements hide vest cliffs in footnotes. Read grant type, refresh cadence, and whether promotion reprices unvested shares.
Sign-on makes sense when you're walking away from unvested equity at your current employer. Document the forfeiture in your band notebook so you can explain the make-whole ask without sounding emotional.
Remote stipends and home office allowances appear on some corporate offers but not others. If you're hybrid three days, ask whether parking or transit credits apply. Small line items add up when base is capped.
Salary negotiation tips US mid level IT: six steps
Step 1: Build a written band before the offer arrives
Open a doc with role title, level, metro, and three columns: low, mid, high. Fill low from conservative comps, mid from BLS and similar reqs, high from postings that match your stack verbs.
Before: Saving random screenshots without dates or req links.
After: A table with source, date pulled, and one sentence on why the comp matches your stack.
Step 2: Map posting must-haves to resume bullets
Highlight on-call, language, cloud, and ownership language in the ad. Bullet one under your current employer should prove each must-have with Month Year dates.
Before: "Built various backend services and collaborated cross-functionally."
After: "Owned Java Spring services on EKS with weekly on-call; cut incident MTTR from 45 to 18 minutes in Q2."
That rewrite is an illustration inside your file, not a claim about market pay. It gives the manager language to defend your counter internally.
Step 3: Get every component in writing
Ask the recruiter for base, bonus target, equity type, level, start date, and remote policy in the offer letter or official PDF. Verbal-only equity refresh promises disappear when approvers change.
If they say bands are tight, ask which lever has flex: sign-on, equity grant size, or title within level. Write answers in the same doc as your band table.
Level codes matter for the next job search. Software Engineer II versus Senior I changes how future recruiters read your file. If the offer level looks low for the interview scope you showed, ask whether the title on the letter matches the work discussed.
Start dates affect bonus eligibility and benefits enrollment. A January start can mean missing the prior year's bonus pool entirely. Ask which fiscal calendar governs bonus accrual before you celebrate a base bump.
Step 4: Choose one primary ask and one fallback
Cash-heavy needs lead with base or sign-on. Long-horizon builders may lead with equity if base sits mid-band but scope is senior-leaning. Never send a laundry list of seven demands on the first counter.
Edge case: employer won't move base but offers extra PTO. Value PTO only if you can actually use it during release cycles you own.
Write your walk-away number before the recruiter call, not during it. Walk-away includes rent, debt payments, and relocation costs you already committed to. If the package can't meet walk-away after one counter and one fallback, declining beats accepting resentment you'll carry into onboarding.
Some employers split geo tiers inside the US. If your offer letter lists a lower tier than the posting metro, ask which office location sets payroll. Remote workers sometimes inherit tiers from a hub city they never visit.
Step 5: Deliver the counter calmly
Before: "I need more money because cost of living is crazy and my friend makes more."
After: "Thanks for the offer. Based on the mid-level band I documented for this metro and stack, I'd like base at [your upper anchor]. Happy to walk through the production scope we discussed on the system design loop."
I've seen solid mid-level candidates lose approvers when they sent an angry wall of text instead of one number and one proof line the manager could forward.
Step 6: Confirm in email and save the PDF
Recap base, bonus, equity, start date, and remote terms within an hour of verbal yes. Attach nothing new that reopens level debate. Save the signed PDF before you resign from your current job.
Copy-paste block: counter email skeleton
{`Subject: [Your name] – [Role title] offer
Hi [Recruiter name],
Thank you again for the offer for [Role title] at [Company]. I'm excited about the team and the stack we discussed.
After reviewing public occupational data for this role family in [metro] and comparing similar reqs, I'd like to discuss base salary of [your anchor]. [One sentence tying to scope from interview/bullet one].
If base is fixed, I'm open to discussing [sign-on / equity / start date] instead.
Thanks,
[Your name]`}
For interview timing that affects your counter, see follow-up after interview templates . Momentum matters when approvers meet weekly.
Second edge case: competing offer with higher base. Share existence and deadline if true; don't fabricate a letter you can't produce. Employers verify more than candidates expect.
Third edge case: internal transfer with a fixed band. Negotiate level and project scope first; cash follows level more than speeches.
Phone counters work when you stay under three minutes. Email counters work when you want a paper trail approvers can forward. Pick the channel the recruiter used for the offer packet unless they explicitly invite a call.
Practice aloud once. Mid-level engineers sometimes freeze when asked "what number do you need?" Have your anchor and fallback on a sticky note during the call. Silence while you scroll notes reads as uncertainty.
After a verbal yes, pause before tweeting or posting publicly. Offers can rescind when background checks surface surprises. Wait for the written letter and the background clear before you announce.
Where mid-level counters stall
Countering before you understand level. If the offer says Software Engineer II and your resume reads like a fresh grad project list, fix the file before you ask for Staff cash.
Treating one posting range as gospel. Ranges are marketing plus budget hints. Your band doc should include multiple inputs.
Negotiating over chat without reading the PDF. Bonus targets and equity cliffs hide in attachments. Read before you speak.
Before: Five back-to-back emails with rising anger.
After: One counter, one polite follow-up forty-eight hours later, then accept or walk.
Ignoring benefits that cost you. High-deductible plans and sparse parental leave matter when base moves only slightly. Ask for benefits summaries in writing when cash won't budge.
This won't fix asking Staff compensation with mid-level interview answers. It does stop qualified mid-level engineers from leaving money on the table because they never wrote a band down.
Before: Accepting the first number to avoid awkwardness, then venting online instead of asking once.
After: One documented counter, one follow-up, then a clean accept or decline with thanks.
Recruiters aren't enemies in this step. They often want you to land inside band so the req closes. Give them language and sources they can paste into the approval email. You'll get farther than treating them like a wall.
For Workday offer workflows that delay written letters, read Workday upload formatting fixes . The same portals sometimes stall offer PDFs when approvers are traveling.
Align match score before you counter
Score your job match on the resume you used in the loop. If overlap is weak, your counter email should not quote stack terms you never put in Experience.
Run a free ATS check on the same export. Parser drops make your interview story look inconsistent when they re-open Workday during approval.
Update bullet one before the counter call if the interview surfaced stronger scope than the file shows. Approvers read the resume again when base moves more than a few points.
Do this now: Open your band doc and highlight the source dated oldest. Refresh that row before you send a counter tonight.
Close without burning the bridge
Salary negotiation tips US mid level IT teams respect are short, documented, and tied to scope. Build the band early, align the resume, counter once with a fallback, confirm in writing, then start planning onboarding instead of replaying the thread in your head.
If the final number sits below your walk-away, decline cleanly. Bridges matter in tight stacks where the same hiring manager moves companies.
Save your band doc template for the next search. Most mid-level engineers negotiate infrequently enough that they forget the steps and leave cash on the table twice in a row.
You can't control approver mood on quarter-end week. You can control whether your ask arrives with proof, sources, and a tone that makes forwarding easy.
When you're ready to job search again, reuse the same band table columns. Update dates on comps, refresh bullet one, and don't wait for an offer to start the notebook.
Keep the counter email template in the same folder as your master resume. Next time you'll swap company name and anchor, not rebuild from scratch at midnight before a deadline.
Salary negotiation tips US mid level IT hiring teams remember are calm, specific, and easy to forward. Your goal isn't to win a debate on the phone. It's to give approvers a number and a proof line they'll sign.
If you accepted after a counter, note what worked in the band doc. If you declined, note the gap between offer and walk-away so the next search targets employers whose bands fit earlier.
Read more
Frequently asked questions
After you have an offer in writing with role title, level, and compensation components spelled out. Early phone screens can include range expectations if the recruiter asks, but don't anchor on a guess before you know the level band. If the posting listed a range, treat it as one input, not the whole market. Negotiate once the employer has decided they want you, not while they're still comparing five profiles in Greenhouse.
Start with base when you need predictable cash flow. Bonus and equity matter at mid-level, but they are harder to spend on rent. Ask how bonus targets are set and whether equity is options or RSUs with a standard refresh policy. If base is fixed by a band, push on sign-on, extra equity grant, or remote stipend before you walk away. Write the priority order before the call so you don't improvise under pressure.
Frame data as alignment, not a duel. Say you reviewed public occupational data for the role family and metro, compared similar postings, and want to land near the upper band because your resume shows the scope they asked for in the req. Offer to walk through one bullet that maps to their stack. Avoid naming random forum posts as evidence. Stick to sources you can screen-share or link in follow-up email.
Yes. Hiring managers re-read bullet one before they approve a counter. If your file understates scope, they treat your ask as title inflation. Tighten proof lines before the negotiation call so your story matches the number. A strong match score doesn't replace scope language in Experience. Fix the resume, then counter.
