Search real stories by role, salary, location, source of hire, interview process and what finally worked. Use these stories to understand the market before your next application or offer negotiation.
55Stories
8Verified offers
15Countries
16 / 38Median / Mean applications
Latest job wins
55 stories · page 4 of 6
Filtered by newest stories across all roles and locations.
I'd been working in QA for three years, splitting my time between manual testing and building out automation suites, mostly in Selenium and then Playwright once that became our team's preferred tool. When I decided to move, I wanted something fully remote and ideally a step up in responsibility. I set a rough target of around 25 roles and spent about two weeks working through listings on Indeed and LinkedIn Jobs, filtering hard for remote positions in the UK. Some ads were clearly outdated or vague about the actual stack, so I skipped those and focused on companies where the listing gave me enough detail to write a tailored cover letter. By the end I'd sent out 24 applications and was bracing for the usual silence.
The Manchester software company that hired me was different from the start. They replied within 48 hours, which caught me off guard. I'd already half-forgotten applying. There was no recruiter call. Their first reply came with a take-home task attached. They sent over a Figma file of a checkout flow and a staging URL, and asked me to write structured test cases covering the key scenarios, then build a small Playwright suite to automate the critical path. It was a realistic, well-scoped brief, not one of those tasks that expands into eight hours of work. I spent an evening on the test cases, thinking through edge cases like empty cart states and failed payment responses, then wrote the Playwright scripts the next morning. I kept the structure clean and added a short README explaining my decisions.
Two video calls followed. The first was technical. A senior engineer walked through my submission with me, asked why I'd prioritised certain scenarios, and we talked through how I'd scale the suite as the product grew. The second was a team-fit conversation with the engineering lead, much more relaxed, focused on how I collaborate with developers and product when bugs surface late in a sprint. At the end of that second call they offered me the role: QA Engineer, fully remote, £34,000. I took it. Start to offer was nineteen days, which felt fast after some of the drawn-out processes I'd heard about from friends.
By the end of June I'd been job-hunting for three months. The numbers weren't great. I'd sent 64 applications through job boards and LinkedIn Easy Apply, and I'd heard back from three. Two rejected me at the CV stage. The third moved me to a recruiter screen and then went silent for six weeks.
I was a backend engineer at a small fintech, but the team had shrunk twice in the previous year and I'd stopped learning anything new. The plan was to land somewhere serious about payments. The problem was that every application I sent looked like every other one sitting in the same inbox. My CV was the same CV everyone else had. My cover letters were rephrased versions of the job ad.
The breakthrough was a person. A friend I'd worked with two companies ago had joined GoCardless eight months earlier on the payments team. We had drinks. I described what I was after, somewhere serious about payments infrastructure, not too big, with engineers who weren't allergic to writing about how the system worked. He asked a few questions about my recent work on idempotency keys and then said he could pass my CV straight to the hiring manager.
The recruiter call landed two days later. Thirty minutes, mostly logistics: salary range, notice period, why I was looking. She'd read my friend's note, and the questions felt aimed at me specifically rather than at a stack of similar candidates.
The technical stages ran across a fortnight. Two coding interviews, one a production-style task on their toy ledger, one a more standard data-structures hour. A system design round where I walked through a webhook delivery system with retries, signing and ordering guarantees. That round went well partly because I'd built something similar before and partly because I'd actually thought about the problem before the interview rather than during it.
The final round was a forty-five minute conversation with the engineering director. It wasn't really an interview. He wanted to know what I wanted to be doing in two years, what I'd push back on if I disagreed with a technical call, and how I'd handled the worst on-call rota of my career.
The offer arrived a week later: £60,000. Fair, but a few percent below where I'd pinned my expectations. I asked, in writing, whether there was room to move on the base, walking through the responsibilities of the role and a competing late-stage conversation. They came back forty-eight hours later at £65,000. I accepted the next morning.
I'd have gone to my friend at the start. I'd have written about my work publicly before I needed to.
Eighteen applications into my search, Mews offered me a Senior PM role: €96k base, equity, fully remote from Amsterdam. I almost took it.
The interviews were very good. The hiring manager returned again and again to ownership, to giving PMs real authority over the roadmap, to moving fast without the slowness of a big company. After every round I felt positive. The equity conversation was clear, the base was the number I wanted, and remote work meant I did not have to move. I was close to signing without thinking much more about it.
Before I signed, I spent two evenings on LinkedIn looking for people who had been PMs at Mews in the last two years. I found two of them and sent short, direct messages, saying I had an offer and asking for fifteen minutes. Both answered inside one day, which already told me something. What they said was too similar to ignore. The roadmap was rewritten about every six weeks, not because the market changed but because senior leadership kept reversing their own decisions. Two PMs had left in the quarter before my offer, and neither departure was planned. One of them told me she spent her last month rebuilding a spec she had already delivered once. That detail stayed with me more than the rest.
I declined the next day. I kept the message short and professional and gave no specific reason. After that it took longer than I hoped to find something else, and for a few weeks I asked myself if I had decided correctly. But I never regretted it.
I'd been looking for new opportunities for about a month when I showed up to a Kotlin meetup in Toronto one February evening, cold enough that half the room still had their toques on, mostly to get out of the apartment and talk shop with other Android developers. The turnout was decent, maybe thirty people, and I ended up next to an engineer from Wattpad during the break. We started comparing notes on Compose Multiplatform, on state management and some of the rougher edges with shared UI logic across platforms. A five-minute chat stretched to nearly an hour. We swapped contacts before we left, and I didn't think much of it beyond a good networking moment.
About a week later he messaged me out of nowhere. A senior Android Developer position had just opened up internally, and he asked if he could put my name in. I said yes immediately. I'd done some light research on Wattpad before: Toronto-based, product-focused, reasonably sized engineering team. It looked encouraging. Over the next five weeks or so I went through six applications in total for other roles while this one moved forward, but the Wattpad process was by far the most structured and engaging. Three rounds. A hiring manager screen where we talked about my experience with production-scale Android apps and what I wanted next. A technical live-code session where they handed me a real recursive layout bug they'd actually hit in production, and that one kept me on my toes because the fix wasn't obvious until I traced the measurement pass carefully. Then a team panel with three engineers that felt more like a genuine conversation than an interrogation.
The offer landed about a week after the final panel, thirty-eight days after that initial meetup conversation. It came in at CA$125,000. I pushed back once, citing market rate for senior Android work in the GTA. They came back with CA$130,000. I said yes.
With no professional design experience and a bootcamp portfolio only a few months old, I decided not to use job boards at all. Through the normal channels I would be one of hundreds of more experienced candidates, so I went directly to cold outreach. I spent two weeks researching technology companies in Barcelona, reading their press coverage, looking at their product pages, and taking notes about what each one was really building. I wanted every email to sound like it came from somebody who cared about their work.
I wrote to about 20 companies. Every email was personal. I mentioned something specific from their recent press coverage, said what interested me in their product or their design decisions, and added a link to my bootcamp portfolio with a short note about one project relevant to them. Writing those emails took real time. Some of them I rewrote three or four times before I felt confident enough to send. I kept a simple spreadsheet with who I contacted, when, and what I wrote, mostly to avoid repeating myself, but it also helped me improve my approach.
Twenty emails became two replies and two interviews. The first was with a founder, a general conversation about the direction of the company and about how I think about design problems. The second was with a senior UX designer who wanted to understand my process and how I handle feedback. Both felt like real conversations, and I think that came partly from how I wrote the first email. One of them became an offer: a full-time hybrid role at Inqbarna in Barcelona at 28,000 EUR. I said yes to that one.
I had been working as an iOS engineer in Lisbon for three years, and I wanted a company with a more interesting design system. In my free time I was building a small open-source UI library: three custom controls that I had wanted for years and finally made. About 800 lines of Swift, well documented, with a sample app.
I published it in late autumn. I posted about it on Twitter, put it on the iOS subreddit, and emailed a few iOS newsletters, including a small one called Lisbon Mobile that maybe two hundred people in the mobile developer community here read. The editor wrote about it the next week.
The lead engineer at a Lisbon software company saw that newsletter. He sent me a DM on Twitter the same day. They had been looking for an iOS engineer for about six weeks and the search was not going well. Would I like to talk?
I did. The call was thirty minutes. He had cloned the library, built it, and used one of the controls in a personal project. His questions were about specific decisions I had made: why I used a particular pattern for state management, why one control had that API. We disagreed about one thing. It was the kind of conversation I had wanted to have for two years.
The first formal round was a coding test with two of their senior engineers. A small refactor of real code from their product, two hours. I delivered a clean implementation, plus one small extension they had not asked for, because I thought it made sense. They said the extension was the part they liked.
Round two was a code review session. They sent me a piece of their code before, and asked me to be ready to review it. I came with ten comments. About half were correct, two were wrong, and three started a discussion that used the rest of the hour. Good interview.
Round three was a culture round with the head of product and the lead designer. It was less an interview and more a conversation about how the team worked and what success meant there.
The offer was €50,000 base. I asked for €54,000 and explained my current salary and the cost of relocation. They came back at €52,000 and a small relocation payment. I said yes. Seven weeks of searching, nine applications. Eight of them I sent before the newsletter wrote about the library. The ninth was this company, and I applied formally after the call with the lead engineer, which was more paperwork than a real application.
The library is still open source. I should write more of them.
Five years without a single interview will leave you rusty, and I knew passive review wouldn't fix that. So before I applied anywhere, I built a structured plan. I enrolled in an interview prep course, scheduled dozens of mock interviews with engineers I found through various platforms, and put serious time into system design. Not just reading about it. I whiteboarded distributed systems from scratch and stress-tested my explanations out loud. It took about two months before I felt like I was operating at the level the top-tier companies expect. Even then I wasn't sure it'd be enough.
I sourced interviews every way I could. I leaned on former colleagues for referrals, woke up dormant LinkedIn connections, answered inbound recruiter messages, and used a few lesser-known platforms that connect engineers straight with hiring teams. The goal was volume, because volume gives you leverage and calibration both. The first few onsites were rough. Not failures, but I could feel the gap between my prep and how I actually performed under pressure. By the fifth or sixth loop I started to settle. By the tenth I knew exactly how to pace a coding round, when to talk through my reasoning versus just write code, and how to structure a system-design answer so the interviewer could follow without getting lost. The whole thing became almost clinical.
I ended up with 7 offers out of 16 onsites, which still surprises me when I say it out loud. The spread of companies, comp packages, and team cultures gave me a clear picture of what I wanted. I accepted Airtable: full-time, hybrid, at $185,000. The role, the team's technical depth, and the product direction all lined up in a way the others didn't quite match. If you're coming back to the market after a long gap, here's what I'd tell you. Preparation compounds harder than you'd think, and mock interviews under realistic pressure are worth far more than another week of grinding problems alone.
About six weeks before I got this role, I was frustrated after a difficult phase of migrating our legacy product, about 200,000 lines of React code, to React 19 with concurrent features enabled. Most articles I had read about React 19 skipped the difficult parts, so I wrote an honest LinkedIn post instead: what we migrated, how we did the concurrent rendering rollout, which assumptions were wrong, and the two weeks we spent looking for small tearing bugs in our data-fetching layer. I did not expect much. It was a long technical post with code snippets and a lot of "here's what we got wrong".
Inside one week three recruiters wrote to me. I was also running my own search at the same time, 14 applications to companies in Amsterdam and to remote-friendly companies, but the messages that came to me were of a different quality. One Amsterdam software company was clearly better than the rest. Their recruiter quoted specific paragraphs from my post in the first message, so I knew that somebody technical had read it before writing to me. The process confirmed this. Instead of a LeetCode round or a whiteboard session about binary trees, they asked me to do a code review on a real part of their own codebase, with the permission of the team that owns it. I spent about three hours on it, wrote comments as I would for a colleague, and explained the trade-offs instead of only marking problems. It felt like real work, and that made it much easier to stay interested through all five rounds.
The offer came 42 days after that first message. The base was 82,000 EUR, full-time and fully remote. Before signing I negotiated two things: remote-first as a written policy and not only as a tolerance, and a four-day week instead of five. They agreed to both, and I signed.
I came to Germany as an international worker with self-taught frontend skills and a portfolio built from online courses and personal projects. It felt almost impossible. The rejections arrived quickly, hundreds of them. Some were automatic, some were short and polite, and a few were detailed enough to hurt. Every time a good application stopped, I had to tell myself not to read too much into it.
What helped was persistence and using many channels at the same time. I was active on LinkedIn, on Xing, and on the German Make-it-in-Germany program, which exists to help international workers enter the local job market. LinkedIn gave me the best results. I improved my profile, started to contact recruiters directly, and put my portfolio links at the top. I tried to treat every rejection as information and not as a verdict. If my HTML and CSS projects got no attention, I worked more on JavaScript. If a cover letter did not work, I wrote it again. Slow work without glamour, but methodical.
In the end a company was willing to look past my unusual background. The interview process had four rounds, from a technical skills test to a conversation about cultural fit, and each one felt like a real test of my progress. When the offer arrived for a full-time junior frontend developer role, hybrid, at 45,000 EUR, I accepted the offer.
A recruiter from a specialist HR firm got in touch with me directly. I hadn't applied anywhere near Intercom on my own. I was open to a move but hadn't started a proper search, so the timing caught me off guard. I'd submitted around six applications in total over the previous few weeks, mostly just having a look, but this one came to me and felt more serious than the rest straight away. The brief was specific: Intercom was scaling its engineering organisation from 200 to 400 people within 18 months and needed an HR Business Partner who could run that function from end to end.
The process ran across four interview rounds over 33 days, which felt thought through rather than dragged out. First was a screen with the recruiter, mostly about my background partnering with technical organisations and whether I wanted to work somewhere growing that fast. Then I spoke with the CPO, who wanted to understand how I thought about people strategy at scale: levelling frameworks, internal mobility, training managers. The third round was with the Engineering VP, the hiring manager, and it got more practical. How I'd structure my first 90 days, how I'd approach a reorg, how I'd handle a situation where engineering leadership and HR priorities didn't align. I came prepared with examples for all of it.
The panel round with two senior engineers was the one that set me apart, I think. They walked me through an actual disagreement about a performance review for someone on their team and asked me to coach them through it live. I stayed neutral, asked questions that helped them surface what they actually disagreed about, and got them to agree on what the real question was before the hour was up.
The offer came in at €72,000 for a full-time hybrid role in Dublin. I negotiated a four-day week at the same salary before signing, and they agreed. I signed.
6Applications
4Interviews
5 weeksSearch length
RecruiterSource
Move closer to your next job offer
Get expert help with your CV, interviews, salary negotiation and job search.