Entering the job market as a fresh graduate in 2020 felt a bit like trying to board a ship in the middle of a hurricane. When I finally landed an entry-level junior developer role after almost 11 months of job hunting and cold-emailing, I was ecstatic.
However, the offer was a measly $40,000. Having paid thrice as much to get a Master’s degree, I was stumped but even in a tough market, I knew I had to advocate for myself. I sent a short, professional email asking for a range of $45,000–$50,000 stating that I was hoping my experience (1 year) and education (Master of Engineering) would land me something in this range, hoping to land somewhere in the middle. Somehow it worked,they agreed and I started at $45,000.
Not the biggest win but something clicked in me when this worked.
But that was just the beginning of the journey.
The 10-Month Long Game
For the next ten months, I lived in two worlds. In my day job, I pushed for more. I advocated for new responsibilities and tried to take on higher-level tasks to prove I was ready for a promotion. Unfortunately, the internal growth wasn’t happening as fast as I wanted, and the feedback loop was slow.
After having advocated tirelessly, I was demotivated and gave up on working as hard as I could, especially since I kept seeing how the company had an atmosphere of rewarding toxic behaviour and ignoring everyone else who worked endless hours.
So, I built my own path. Every night after work, I was on LeetCode. I treated interviewing like a second job, taking as many calls as possible just to stay sharp and understand my true market value. By the time I hit the 10-month mark, I had two major opportunities on the line, both involving intense four-round interview processes.
The Showdown: Ranges and Leverage
Job #1 moved first. They loved me from the get-go, reaching out to me on a phone call to invite me to interview. They offered me an SDE position at $85,000 on a Friday afternoon after 4 rounds of interviews. It was a life-changing jump and a better title than my current junior role, but I knew I could aim higher, emboldened by my past experience negotiating. Always counter the first offer.
I told them I was deep in the process with another firm and that based on my market research and other interviews, I was looking to close at a range of $95,000–$105,000 to make a move. My personal goal was to land that $100k midpoint (6 figs babyyyyy). I mentioned that I loved meeting the team members throughout the process and asked them to send over their current offer via email anyway so I could have it in writing, not to overplay my hand.
Now that I had a verbal offer, the clock was running. I emailed Job #2 to ask for an update on the last interview round, hoping this would garner a positive result. Over the weekend, Job #2 rejected me after I finished their final round—a brutal two-hour live coding session. I was devastated. I had used Job #2 as leverage for a six-figure ask at Job #1, and now Job #2 was gone. I sat there in the silence, wondering if I’d just talked myself out of the $85k offer since I never got an offer on email.
The Monday Morning Call
Monday morning on Canadian Thanksgiving, my phone rang. It was the recruiter from Job #1 who never sent me the offer on email. Instead they called to present something entirely new. They didn’t just meet my “range”—they offered $100,000 + an $8,000 bonus. To top it off, they upgraded the title from SDE to Senior Engineer in order to adjust the base salary. At this point, the recruiter paused and asked if I would be agreeable to these new terms.
I accepted the verbal offer immediately, completely in shock.
Key Learnings
- Always counter the first offer Recruiters have a range provided and almost always have room to negotiate. However, if you never ask, that takes you out of the running instantly. Be polite & try your luck without being overconfident. This will never lose you the existing offer.
- The Power of the Range: Asking for a range (like $45-50k or $95-105k) makes you look flexible while signaling your “floor.” It almost always leads to a win at the midpoint.
- The Market is the Best Teacher: If your current role won’t give you the responsibilities or the pay you’re asking for, let the market decide your value.
- Interviewing is a Skill: Those 10 months of continuous interviewing and LeetCode meant that by round four of the big ones - I was practiced, calm, and ready.
- Leverage is a State of Mind: Even when the second offer didn’t materialize, the market value I established during that process stayed with me.
- Title is Negotiable: Sometimes the biggest jump isn’t just the money—it’s the jump in seniority that sets you up for the rest of your career.
Ready to find your own 6-figure value?
If my story taught me anything, it’s that knowing the data is half the battle. I built Raise to help other engineers skip the guesswork and go into negotiations with confidence.
Calculate Your Market Range
Don't leave money on the table. Use the Raise Salary Calculator to see what SDEs in your city are actually making.
Try the Calculator — It's Free🚀 Resources for Your Next Move
If you’re currently navigating the job market, I’ve put together a few tools to help you skill-up or optimize your profile for the salary you actually deserve:
-
Salary Tax Calculator – Compare your current salary with the next tax bracket to see how much it changes your tax contributions. (For Canadians)
-
Find Courses to upskill your profile - Find popular developer skills that you can leverage to get hired faster.
-
Take the Developer Career Quiz - New to tech? Take the quiz and get a personalized roadmap to your next tech role.
-
Resume Optimizer – Using AI, Learn how to frame your “Junior” responsibilities to qualify for “Senior” roles on your resume.
Good luck with your own journey—you’re worth more than the first number they give you!