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.
I had been applying for technical writing roles across Europe when I found a job on the careers page of a Lisbon software company. Before any recruiter call they wanted a writing sample. Take a 600-word section of their public documentation and rewrite it. Send it before they even schedule the first video call.
I almost decided not to do it. A 600-word rewrite sounds simple until you open their documentation and see that the section they chose was dense API reference material, with inconsistent terminology, three passive sentences one after another, and a structure that assumed you already knew what you wanted to learn. I spent four hours on it, exactly the time the brief suggested. I respected that they said this clearly instead of pretending it was quick. I restructured everything, made the definitions tighter, used consistent names, and added a short summary table that I thought would help people who read fast. I did not know if that last part would be appreciated or look arrogant.
They liked it. They moved me to three video rounds over the next two and a half weeks. The first was a recruiter asking the basic questions. The second was with the lead technical writer and an engineer, who asked precise questions about how I handle conflicting input from subject-matter experts. The third was a short panel that felt more like a working conversation than a formal interview. Twenty-two days after I sent that first application, I had an offer: a full-time hybrid role in Lisbon at 28,000 EUR. I accepted quickly, with almost no negotiation.
They asked me to start within ten days because the team was missing a writer and the problem was visible. I changed my plans and made it possible.
I had been working as a freelance brand designer in Buenos Aires for two years. The work was not stable. Some months were good. Some were not. I had been thinking about going back to work inside a studio, for the routine and for the team, but most of the studios I liked were in São Paulo, or they paid in pesos at rates that were too low for me.
One design studio in Buenos Aires was different. They were small, six people, and they paid in USD through Deel because most of their clients were in the US. On their public Instagram they posted the work they did for one regular client, a health tech company in the US. I had been following them for about a year.
Then I had an idea: maybe they would look at a small spec project. I chose their main public client and made three concepts for how I would change the brand. I was honest with myself about it. Nobody had asked for my opinion, so I decided to send it as a piece of work, not as a job application.
I sent a DM to the founder. The message was three sentences: I had been following their work, I had made three versions of a brand refresh for that public client, and did she have ten minutes to look at them? I put one Figma link in the message.
She answered two hours later. She said clearly that my versions were not what they would use, but that this was the kind of work she wanted to buy, and she asked if I was free for one project they needed to give to someone outside. I was.
The project was a brand refresh for a different client. Three weeks of work. The fee was five figures, in USD. I delivered on time. The client approved it with no changes, which does not happen often.
One month later the founder asked if I wanted a longer contract. We agreed on a three-month rolling contract. After two months she asked if I wanted to join full time. The job was permanent, paid in USD through Deel, and I would work inside the team of six instead of continuing as a contractor.
The offer was US$30,000 base. In dollars that number does not look big, but with the exchange rate it works here, and it is better than what I earned on my own. I asked for US$36,000. I explained the work I had already delivered for them, and what it would cost me to change from contractor to employee. They came back at US$36,000.
I said yes. I sent two real applications in the whole search. Both went to job boards and nobody answered. The Instagram DM was my real application.
I'd been applying selectively, only four applications over those two months, because I didn't want to waste time on roles that weren't actually interesting. Most of my search was slow and discouraging. Then I came across a Substack post by the CTO of a New York data company about their decision to refactor their entire data pipeline around dbt and Snowflake. The post was technical, specific, and honest about the tradeoffs they'd made. It wasn't marketing. It read like someone who actually lived inside the problem, and I recognized a lot of the same pain points from my previous role.
I spent a couple of evenings on a cold email. I didn't pitch myself generically. I referenced specific paragraphs from the post and linked a public GitHub repo I'd built for stream-to-batch reconciliation. The repo wasn't perfect, but it was real work: documented, tested, and directly relevant to what he'd described. I figured if he was the kind of engineer who wrote that post, he'd at least look at the code. Three days later he replied. No recruiter, no application portal, no automated acknowledgment. Just a direct response asking if I wanted to jump on a call that week.
The process ended up being four rounds over about nine weeks. The first call was conversational, more mutual vetting than a formal screen. The third and fourth rounds brought in the broader data team and covered system design and past-project deep-dives. But the second round was the one that stuck with me. It was framed as a live SQL pairing session, and it started that way, but somewhere around the thirty-minute mark we were both heads-down on an actual production query they were struggling with. We went ninety minutes. I didn't solve it completely, but how I reasoned through it mattered more than any clean answer would have.
The offer came in at $145,000, hybrid in New York. I accepted.
I had wanted to write for a Madrid magazine since I moved to the city four years before. They were a serious publication, long-form, properly edited, careful with facts, and they paid their writers, which is rare. I read every issue I could find for a year before I did anything about it.
When I started looking for a job, it did not go well. I sent thirty applications in three months, mostly for content roles at SaaS companies that wanted "blog posts" and not journalism. I got two interviews. One of them was the most depressing forty-five minutes of the whole search. A content marketing manager told me directly that the job was producing SEO content with an LLM, and that the human writer was there to "make it sound better".
That night I went home and decided to stop applying for content jobs. Instead I would write the kind of article I wanted to be paid for.
I chose two ideas that I thought the magazine would really publish. One was about a small Madrid neighbourhood that remote workers had slowly changed. The other was an interview with a local food cooperative. I wrote a pitch of three paragraphs for each one and emailed them to the editor.
She answered about one of them, the neighbourhood article. She liked the idea, she had been thinking about other pitches on the same subject, and she offered me a 1,500-word draft on spec. The fee was €200, paid within thirty days after publication.
I wrote it. It took ten days. The editing was thorough. She disagreed with three sections and I rewrote them. The article was published in the May issue.
In late May, two months after we agreed the freelance article, the editor emailed me. They had opened a permanent staff writer position and she wanted to talk to me before they published it. The shortlist was already her, the editor-in-chief and the publisher. The "interview" was a conversation of forty minutes about the work I wanted to do, what I was reading, and one article in the magazine that I would have edited differently.
The "test" was a 600-word article on a subject she gave me the next day. I had two days. I wrote eight hundred words, cut one hundred and fifty, and sent it. They sent the offer two days later.
The offer was €26,000 base, which is a normal staff writer salary in Spain and is acceptable. I asked for €30,000. I explained the freelance work I had already done for them, and that the role included running their newsletter. They came back at €28,000 and a small monthly payment for travel for assignments. I took it.
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.
I was an accountant with seven years of experience in Berlin. I was looking for a senior role in industry, finance lead at a scale-up, after most of my career in mid-size accounting firms. I knew what I wanted, I knew the salary range, and I had a clear idea of which companies would have the right balance between structure and chaos.
I sent eighty-seven applications in nine weeks. I recorded every one in a spreadsheet: date, company, role title, source, answer. The response rate was 38%. Most of the answers were polite rejections. Twenty-one went to a recruiter call. Six went to an interview with a hiring manager. Three went to a final round.
A Berlin scale-up was one of the three. I applied through their careers page. The role description was clear and specific, which most job descriptions are not. They listed the team, the systems, the current problems, and the salary range. I applied because of the salary range. Most German job descriptions do not show one, and the fact that they did made me think the company was probably better to work for than the average.
The recruiter call was forty minutes. She had read my CV carefully. She asked specific questions about a system change I had managed at my last firm and what I learned from it. The conversation was professional and without surprises, which for a recruiter call is the best compliment I can give.
The interview with the hiring manager was with the finance lead who would be my boss. Sixty minutes. We went through three real situations from their work: the integration of the accounts of an acquired company, a question about multi-currency reporting, and a question about their deferred-revenue policy. I had real opinions about all three. We disagreed about one. After that the conversation became better.
The second interview with the hiring manager was more technical, a cash-flow modelling exercise with real anonymised data. Two hours, at home. I sent back a clean model, with my assumptions written in a separate tab. They asked about three of the assumptions. I had an answer for each one.
The final round was with the CFO. Thirty minutes. He wanted to know what I had been wrong about in my last job, and what I did about it. I had a real example.
The offer was €50,000 base. That is below the market for this role. The job description had shown a range of €48,000 to €60,000, so I was at the bottom. I asked for €55,000 and explained my seven years of experience. They came back at €54,000 and a remote-first arrangement, although the job description had said hybrid, two days per week. I signed.
There is no clever lesson here. Sometimes the boring method works. I am proud that I tracked every application from the beginning to the end, that I knew my situation every week, and that I was not surprised when an offer came.
I wasn't job-hunting. I'd been at my previous company for two years as the second DevOps hire. I liked the team. The infrastructure was a mess, but a manageable mess, and I'd been making it less of one every quarter.
A former colleague, a fella I'd worked with five years earlier at a very different company, had moved to a Dublin cloud company eight months prior as the engineering manager for the platform team. We'd kept in touch, loosely. On a Monday morning in late autumn he messaged me on Slack: "we're hiring a senior DevOps person for my team, you'd be perfect for it, can we talk?"
I said yes out of curiosity. I had no plans to leave and was happy to hear what they were doing.
The first call was him, forty-five minutes. No formal recruiter screen. He walked me through the team, the stack, the on-call rota, the salary band, the team's biggest current pain (a Kubernetes upgrade that had been deferred for six months), and what they hoped to ship next quarter. By the end I knew more about the role than about any job I'd interviewed for that year.
Round two was the head of platform and one other senior engineer. Sixty minutes, set up as an infrastructure design conversation. They presented a real problem they were working through, how to handle blue-green deployment for a stateful service with a managed database, and asked me to think out loud. I'd thought about versions of it before. We disagreed on one specific point about traffic shifting, and the conversation got more interesting there.
Round three was an "incident response" round with two engineers. They walked me through a real outage from two months earlier, slowly, runbooks open, and asked what I'd have done at each decision point. There were a few places I'd have gone differently. I said so. They were sound about it.
The final round was twenty minutes with the CTO. He asked two real questions: what would make me leave a company, and what would make me leave this one specifically. I told him.
The offer arrived the next morning. €82,000 base. Same as their advertised band, no negotiation needed, because they'd told me the band on the first call and asked whether it worked for me. I'd said yes then. I said yes again now.
The whole process, from first Slack message to signed offer, was fourteen days. It worked because every round was someone who'd actually read about me, had a clear question they wanted answered, and respected my time. The recruiter screen never happened. No take-home. No gimmicks. It was the best interview process I've been through. The reason it worked was that someone inside was vouching for me from the start.
I applied to about 80 roles over two months, and League was the only company that responded with a take-home before any call.
Most of the applications went through job boards. I'd built a small spreadsheet to track them, partly because I knew I'd lose count otherwise, and partly because I wanted to look back later and see whether any of it was working. The honest answer was: not really. About 12% of applications got an automated rejection within 48 hours. About 6% got a recruiter screen. Most of the rest just disappeared.
League's take-home arrived in week six of the search. It was a pleasant surprise. Most companies don't reply for two weeks, then ask for forty-five minutes of pleasantries before they'll talk about the actual role. League sent a real anonymized dataset, asked four questions, and gave me a week to send back the answers in whatever format made sense.
The dataset was patient appointment data. A few hundred thousand rows, a handful of dimensions. The questions weren't trick questions. They wanted to know whether I could find the obvious thing first, whether I'd notice the less obvious thing after that, and whether I'd write up my findings so a non-analyst could read them.
I spent two evenings on it. About four hours in total. Most of that was writing. The analysis itself was straightforward, but the writeup needed to be tight. I sent back a six-page PDF with the four answers, a few caveats about the data quality, and a one-paragraph summary up top.
They moved me to a video interview the next week. Two analysts on the call, both of whom had read the writeup carefully. The questions were about what I'd left out and why. One of them asked, gently, whether I'd noticed an outlier I hadn't mentioned. I had, and I explained why I'd left it out. He said that was the answer he was looking for.
Round two was with the head of analytics. Less technical, more about how I worked with PMs and how I'd push back if asked to produce a number that didn't tell the whole story. We had a real, slightly uncomfortable conversation about a project where I'd been asked to do exactly that, and what I'd done about it.
The offer arrived three days later. CA$66,000 base, at the lower end of the band they'd quoted in the recruiter screen. I asked for the higher end, citing the depth of the take-home process and a competing offer that was close in cash but worse on scope. They came back at CA$70,000. I took it.
The thing I think mattered most: the take-home was a filter for how you communicate. The technical work was easy. The writeup was the test. Every analyst I've worked with since has said something similar about hiring. They want someone who can explain the answer to a stakeholder who doesn't care about the query.
80Applications
2Interviews
2 monthsSearch length
Job boardSource
Move closer to your next job offer
Get expert help with your CV, interviews, salary negotiation and job search.