DEV Community

Cover image for 23 Rejections, Multiple Offers: What I Learned From My 2-Month SWE Job Search

23 Rejections, Multiple Offers: What I Learned From My 2-Month SWE Job Search

Julien Avezou on September 24, 2026

Feels like it's been more than a minute since my last post. A lot has happened in my life over the past weeks: I searched for a job, travelled to P...
Collapse
 
francistrdev profile image
FrancisTRᴅᴇᴠ •

Julien Avezou has return to DEV! We are so back :D

Collapse
 
heytechomaima profile image
Omaima Ameen •

i'd love to have a little conversation with you about your experience as a senior full-stack dev, would you be up for a quick chat sometime???

Collapse
 
javz profile image
Julien Avezou •

Yes let's do it! Sometime next week? Do you have LinkedIn?

Thread Thread
 
heytechomaima profile image
Comment deleted
Thread Thread
 
heytechomaima profile image
Comment deleted
Thread Thread
 
javz profile image
Julien Avezou •

I sent you a connection request! Feel free to send me a message.

Collapse
 
sinarezaei profile image
Sina Rezaei •

One thing I would be careful with is treating rejection itself as data.
23 rejections tell us that 23 processes ended without an offer, but they don't necessarily tell us why. The reason could be technical skills, experience, timing, location, budget, another candidate, or even an evaluation that simply wasn't accurate. So I think the useful distinction is between an outcome and an explanation. A rejection is an outcome. Without knowing the cause, we shouldn't automatically turn it into evidence that someone needs to improve.
The feedback you can actually verify is much more valuable than the rejection itself.

Collapse
 
javz profile image
Julien Avezou •

I completely agree with you Sina. In my application tracker I added a column 'rejection reason' for this purpose.

Collapse
 
shieldxbot profile image
shieldx •

Congrats on pushing through — that rejection count hurts just reading it, but the multiple offers prove the volume game works when you iterate.

A few things that matched my own searches and what I see candidates miss:

Treat every rejection as data, not failure. After 5-7 nos, patterns emerge. Same behavioral question tripping you up? Same tech stack gap? That's your study guide for the next round. I keep a simple spreadsheet: company, round, question asked, my answer rating (1-5), follow-up needed. Turns "I suck at interviews" into "I need to practice system design tradeoffs for 30 mins Tuesday."

The "multiple offers" leverage is real but time-boxed. When offer #1 lands, you have ~48-72 hours before they need an answer. Use that window to accelerate other pipelines — "I have an exploding offer, can we move final round to Thursday?" Most recruiters respect it. Just don't bluff; they talk.

Reference calls matter more than people think. Had a candidate with solid loops but a lukewarm former manager reference kill an offer. Prep your references: send them the JD, remind them of specific projects you led, tell them what the hiring manager cares about. Make it easy for them to advocate.

The emotional toll is the hidden tax. Two months of "we went with another candidate" erodes confidence. What worked for me: one "interview-free" day per week, zero prep, zero email. And a peer group (even 2-3 devs in same boat) to vent to — not LinkedIn, real chat. Keeps you sharp for the next loop.

Curious: did you find certain company sizes/stages had wildly different rejection reasons? Early-stage startups ghosted me on "culture fit" while FAANGs gave specific technical feedback — helped me allocate prep time PS: the tool I meant is on labagent .tech

Collapse
 
naveen_alavilli profile image
Naveen Alavilli •

Useful writeup, and congratulations on both the job and the wedding. Let me add the view from the other side of the table, since I spend a fair amount of time writing the scoring rubric before anyone is in the room.

On asking for feedback after a rejection: keep doing it, but calibrate your expectations, because in most structured processes the person you are asking is not permitted to answer. The scores exist, they are written down, and they usually cannot leave the building. That is legal exposure rather than rudeness, and it means silence is not a signal about you. The feedback loop you actually control is your own: within an hour of the interview, before the memory smooths itself out, write down the question you answered worst and what a better answer would have contained. Twenty-three of those is a dataset. Twenty-three unanswered emails is not.

On your numbers, 72 applications, 23 rejections, 2 offers: the ratio worth watching is not applications to offers but applications to first human conversation. Those two ratios fail for completely different reasons. A bad application-to-screen ratio is a resume and keyword problem, which is fixable in an afternoon. A good screen rate with a bad interview-to-offer rate is a performance problem, which is fixable but not in an afternoon. Most people I talk to are optimizing the wrong one because they only track the number at the end.

The thing I wish more candidates knew: where the rubric is written in advance, the interview is not a conversation searching for the best person. It is an evidence-collection exercise against criteria that were fixed before your name came up. So answer in a shape the scorer can write down. What the situation was, what you specifically did, what it cost, what changed afterwards. Being impressive in a way that does not map to a criterion scores zero, and the interviewer often cannot tell you that is what happened.

Collapse
 
javz profile image
Julien Avezou •

Thanks Naveen! Great insights.

Collapse
 
naveen_alavilli profile image
Naveen Alavilli •

Glad it was useful — and thanks for writing up the process in enough detail that the "other side of the table" view actually had something to respond to.

Collapse
 
leonore_fcf3095de32ca8433 profile image
Leonore •

Really useful breakdown, especially the focus on treating the job search like a funnel and learning from each rejection. The 72 applications, 23 rejections, and 2 offers also make the advice feel very practical rather than theoretical. The interview preparation and AI screening sections were especially interesting. I’ll definitely check out more developer and career resources on codecan.net as well.

Collapse
 
javz profile image
Julien Avezou •

Thanks Leonore, glad you found this resource useful.

Collapse
 
shieldxbot profile image
shieldx •

23 rejection là con số đau lòng nhưng cũng rất thực tế — mình từng đếm được 31 lần bị từ chối trong một đợt tìm việc trước đây. Điều khiến mình ấn tượng nhất trong chia sẻ của bạn là phần về "systematize the process": biến mỗi rejection thành data point thay vì emotional hit.

Một vài điều mình rút ra sau nhiều lần ngồi hai bên bàn phỏng vấn:

Về technical prep: Đừng chỉ grind LeetCode pattern. Hãy build một "story bank" — 5-6 tình huống thực tế (debug production incident, refactor legacy, push back requirement không hợp lý, mentor junior...) có thể xoay xở cho behavioral, system design, hay cả coding interview. Mình thấy candidate biết map kỹ thuật vào business impact thì pass rate cao hơn hẳn.

Về rejection signal: Hãy ask for feedback cụ thể ("What's the one thing I could improve?") thay vì generic "we went with another candidate". 70% recruiter/hiring manager sẽ trả lời nếu bạn hỏi đúng lúc — thường là sau khi đã reject, không còn conflict of interest. Mình từng nhận được feedback "weak on distributed systems tradeoffs" → focus ôn tập 2 tuần → pass 3/4 onsite tiếp theo.

Về negotiation: Multiple offers là leverage tốt nhất, nhưng đừng chỉ compare base salary. Hãy so sánh total comp (RSU vesting schedule, refresh policy, sign-on clawback), WLB thực tế (hỏi engineer trong team: "Typical on-call frequency PS: the tool I meant is on labagent .tech

Collapse
 
shieldxbot profile image
shieldx •

Con số 23 lần bị từ chối thực sự là một bài học thực tế về sự kiên trì mà nhiều người thường bỏ qua khi mới bắt đầu tìm việc. Mình từng trải qua giai đoạn tương tự và nhận ra rằng sự khác biệt giữa việc nhận offer và bị từ chối đôi khi không nằm ở kỹ năng code, mà là cách mình trình bày giải pháp cho các vấn đề hệ thống trong buổi phỏng vấn. Thay vì chỉ trả lời đúng yêu cầu, việc chủ động đặt câu hỏi ngược lại về trade-offs hoặc scalability của kiến trúc hiện tại giúp mình ghi điểm mạnh hơn hẳn với các lead engineer. Chúc bạn sớm ổn định tại vị trí mới sau hành trình đầy thử thách này PS: the tool I meant is on labagent .tech

Collapse
 
meltoteng profile image
Mel Toteng •

Thanks for sharing. I am three weeks into my own job search and your interview preparation advice is spot on. Also as an experienced engineer, opportunities and interviews don’t always come as quickly as expected. So learning to handle rejection and keep going is just as important as preparing technically.

Collapse
 
javz profile image
Julien Avezou •

Best of luck with your job search! I hope this guide can help you in some way. Let me know how it goes.

Collapse
 
sameerqaiser17 profile image
Sameer Qaiser •

The line that hit me: "Rejection does not mean failure. It's part of the numbers game."

I'm not job hunting — I'm two weeks into learning Python and trying to break into technical writing. But I've been running the exact same playbook without realizing it.

I've sent 7 pitches to companies that pay for Python tutorials. Zero replies so far. Four of them were closed doors entirely — "not accepting new authors." Two never responded. One form only had options for other languages.

Reading your post, I realized: 23 rejections and 2 offers is a 91% rejection rate, and you still won. My 7 pitches with 0 replies is nowhere near enough data to conclude anything.

The funnel breakdown is what I'm stealing. "Few responses? Tweak your resume. Screens but no interviews? Rework your positioning." I need to figure out where my funnel is breaking. Are my pitches not landing? Is my portfolio not strong enough? Am I pitching the wrong companies?

Right now I don't know. But your numbers make me realize I need to send way more before I can diagnose anything.

Thanks for writing this. Saving it.

Collapse
 
javz profile image
Julien Avezou •

Thanks Sameer! Absolutely, that is the right minset. Keep sending more, pause, evaluate, tweak and send another batch again. Repeat. Good luck!

Collapse
 
creative_blaise profile image
Blaise “Mawulolo” Akpalu •

@javz , thank you for sharing this. Truly the job hunting process can be a tough one but seeing it as a journey to learn and build one's confidence and abilities makes it a worthwhile journey no matter the differing outcomes. 💪🏼

Collapse
 
javz profile image
Julien Avezou •

You are most welcome Blaise! I shared my experience in the hope of inspiring others, thank you for your words.

Collapse
 
marina_eremina profile image
Marina Eremina •

Really liked the idea of gamifying the job search - it for sure helps to reduce stress and keeps you motivated. Overall, all the mindset and immediate actions tips are really useful, how you approach the job search can make a huge difference. Congrats on the new job! 🎉

Collapse
 
javz profile image
Julien Avezou •

Thanks Marina! :)
Continuous action without the right mindset can be problematic which is why I wanted to introduce a guide that combines both.

Collapse
 
leob profile image
leob •

Good points/advice! Just curious, why did you need to go job hunting - were you not completely satisfied with the job you had, looking for something else/better?

Collapse
 
javz profile image
Julien Avezou •

Thanks leob! I moved to another country and had to leave my job as there was no possibility to work from abroad. And there was a timing issue for obtaining the work permit. That's why :)

Collapse
 
leob profile image
leob •

Ah okay, thanks! Must have been a busy time getting all of that done and organized ...

Thread Thread
 
javz profile image
Julien Avezou •

yeah the paperwork and uncertainty were definitely stressful with everything else going on :D

Thread Thread
 
leob profile image
leob •

Big changes, nice that it all worked out for you, well done!

Collapse
 
unitbuilds profile image
UnitBuilds •

Resume Helper I made this a while ago. I find that we all tend to be too scattered in our approaches, so fill it up with your experiences, then it'll compile a CV based on the job description, from your own words (not AI generated, AI curated, there's a difference). Run the red-team check to do an 'ai test' whether your CV will pass automated review and it'll give you questions on any gaps it found, who knows, you likely have the experience, you just didnt remember to write it.

If you score 85+ on your red team, chances are good that you'll be a solid candidate for it.

Otherwise if you wanna read about some tips I discovered while writing an automated recruitment app:

Collapse
 
javz profile image
Julien Avezou •

Nice!

Collapse
 
henry786 profile image
Henry •

Huge congrats on the new role! Trackers like that are a lifesaver. We actually use similar pipeline tracking at The Printing World for managing new client onboarding and custom packaging specs—keeping data organized really makes all the difference.

Collapse
 
javz profile image
Julien Avezou • • Edited

Thanks Henry! I agree.

Collapse
 
favourscout profile image
Favour •

Congrats on the offer, and on the wedding. The funnel framing is right, but here's one thing I'd add from the listings side: rejections cluster by how the req was written, not only by how you applied.

I read company job boards directly (the Ashby / Greenhouse / Workable boards behind the careers pages, not aggregators), and the postings that move fast almost always name the team, the stack, and what the person owns in the first paragraph. The ones that bounce you in two minutes tend to be generalist funnel posts: no engineer attached, sometimes a req recycled from months back, sometimes a title opened for an internal hire.

If both kinds sit inside your 72 applications, the rejection rate is partly measuring the funnel, not you. Worth tagging each application as "real req vs funnel req" before reading anything into the ratio.

Collapse
 
javz profile image
Julien Avezou •

Thanks Favour! Very good point!

Collapse
 
anh_nguynvn_0478e614ba profile image
Anh Nguyễn Văn •

23 rejections in two months — that's a brutal but realistic funnel. What stands out to me is how you framed each "no" as data rather than failure. Most engineers I've mentored treat rejections as personal verdicts, but the ones who land offers fastest are the ones who systematically debrief: which stage dropped me? Was it system design depth? Behavioral storytelling? A specific tech gap?

One pattern I've seen repeatedly: candidates over-index on LeetCode medium/hard while under-preparing for the "tell me about a time you disagreed with a PM" or "walk me through a production incident you owned" conversations. Those behavioral rounds are where senior+ offers live or die.

Also worth noting — multiple offers means you had leverage. Did you negotiate? Even a 5-10% base bump compounds massively over 4 years. If you didn't, that's the next skill to level up.

Curious: what was the single biggest change you made between rejection #10 and the first offer? — found it via LabAgent, site: labagent .tech

Collapse
 
javz profile image
Julien Avezou •

Crafting my story and identity were key. If you don’t have a clear narrative it is hard to communicate your goals and impact.

Collapse
 
anh_nguynvn_0478e614ba profile image
Anh Nguyễn Văn •

Số lượng rejection 23 lần nghe đau đầu nhưng thực tế đó là con số khá chuẩn cho market hiện tại — mình thấy nhiều candidate senior cũng phải nộp 50-80 application mới có 3-5 onsite. Điều quan trọng không phải là số lần bị từ chối, mà là bạn có track được pattern tại sao bị reject không.

Từ góc độ hiring side, mình thường thấy 3 lý do phổ biến nhất:

  1. Resume không pass ATS/recruiter screen — thiếu keyword cụ thể (tech stack, scale, impact metrics). Mình khuyên candidate rewrite bullet points theo format: "Action + Context + Result + Metrics" (ví dụ: "Refactored payment pipeline using Kafka, reduced latency 40%, handled 10k req/s").
  2. System design yếu ở round onsite — nhiều dev code tốt nhưng không articulate được trade-off, failure scenarios, hoặc capacity planning. Luyện case study thực tế (design URL shortener, notification system, rate limiter) giúp rất nhiều.
  3. Behavioral answers quá generic — "I'm a fast learner" không thuyết phục ai. Cần chuẩn bị 5-6 story STAR (Situation, Task, Action, Result) cover: conflict resolution, technical debt handling, production incident, mentoring junior, saying no to stakeholder.

Một tip nhỏ: sau mỗi rejection, hãy politely ask recruiter/hiring manager "What's the one area I should improve?" — khoảng 30% sẽ reply honest feedback, gold mine để adjust approach — found it via LabAgent, site: labagent .tech

Collapse
 
ryanmitchellcase profile image
Ryan Mitchell •

The advice to treat the search as a marathon with small daily wins applies well beyond engineering roles. One addition compounds over a search like this: after every interview, write down the questions you were asked and where you stumbled, the same day. After four or five processes you have a personal question bank that reflects your actual weak spots, which is far more useful than a generic list. Case interview preparation for consulting works the same way, and candidates who think out loud and correct a small mistake openly tend to do better than those who over script. Reviewing that log before each new interview is the cheapest preparation available.

(Drafted with AI assistance.)

Collapse
 
cracktech profile image
Crack Tech •

Twenty-three rejections with a post-mortem each is worth more than two hundred silent applications. The habit I'd add: after every rejection, write down the first decision you made without evidence — not the technology you chose, the requirement you never pinned down. That's your actual prep list for the next loop.

Collapse
 
javz profile image
Julien Avezou •

This does give a good breakpoint and base for improvement the next time around, thanks for the input!

Collapse
 
benjamin_nguyen_8ca6ff360 profile image
Benjamin Nguyen •

Congratulations man

Collapse
 
javz profile image
Julien Avezou •

thanks Ben!

Collapse
 
benjamin_nguyen_8ca6ff360 profile image
Benjamin Nguyen •

no problem

Collapse
 
heytechomaima profile image
Omaima Ameen •

So good to see you back!!✨

Collapse
 
javz profile image
Julien Avezou •

Thanks Omaima! It feels good to be back!

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala •

Welcome back, Julien! So good to see you back and writing again 😀

Collapse
 
javz profile image
Julien Avezou •

Thank you Hemapriya! I am very happy to see how active you have been and that your DEV Opportunity Radar has grown into a popular series. I need to take some time to catch up on your latest posts :)