Back

Interviewing

How I got offers from OpenAI, Midjourney, Cursor, ElevenLabs, Vercel, etc.

This is the playbook I and many friends have followed to land jobs at OpenAI, Midjourney, Cursor, and similar companies, without impressive backgrounds. The interviews aren't much harder than at other startups. If you're willing to put in a few months of focused effort, it's achievable. It won't be pleasant, but it's very likely to increase your salary by 3-10x.

I'll walk through everything: getting interviews, nailing them, and negotiating offers. Then in the end there's a checklist summarizing all the advice. This is focused on technical roles, but most of it applies broadly.

TL;DR

Getting interviews

The most common advice is to improve your resume and then reach out to hiring managers or apply on career pages. This is simply bad advice, especially if your background is non-traditional like mine. I haven't studied at university. Nor worked at a reputable startup. I didn't get a single interview from applying directly. You're also likely to face a longer and more difficult interview process going this route.

Here are methods I tried, ranked from worst to best:

Once you have interviews lined up, you need to pass them.

You get good at interviewing by doing it a lot

Interviewing is very different from normal work. Luckily, you can get much better at it with practice. That's because interview questions are mostly similar: you'll often encounter the same question or a variant of one you've already seen. This is why you shouldn't start with your top company. Save them for when you've had some reps.

I had never interviewed before, so I didn't know what to expect. During my process I did at least 70 interviews. When interviewing for technical roles, these are the interview formats at almost all companies:

This is what the interviews were like for Cursor and OpenAI:

Tue
Wed
Thu
Fri
Sat
Sun
Mon
Open-ended Project
3PM
Coding
5PM
System Design
6PM
Coding
7PM
Hiring Manager
8PM
Refactoring
9PM
Team Chat

Once you have an interview scheduled, make your preparation company-specific. Research the hardest technical parts of their product and try building them yourself:

One more thing: treat the interviewer as a coworker, not an examiner. Ask questions and discuss potential solutions openly. Many challenges are deliberately vague. They're testing whether you can work in ambiguous environments and figure out what to ask.

The demo advantage

Preparing for interviews is important, but it still depends on luck. Companies simulate work with random challenges that might not cover what you're uniquely good at.

Another way you can show the company what you're uniquely good at is with a demo. Something you've built yourself that is obviously impressive and easy to understand in seconds. In multiple interviews, I started demoing my past projects without being asked. If you get this right, the rest of the process becomes much less scary.

Concrete examples

What makes a good demo

A good demo does three things at once:

  1. It's instantly understandable. Someone should be able to look at a short clip or screenshot and, in two seconds, understand the problem and why your solution is impressive.

  2. It's clearly technically non-trivial. Under the hood, it should be obvious that something interesting is happening: tricky UX, real-time stuff, clever data structures, complex state, performance constraints, etc. Even better if it's so specific that they don't fully understand how it's made.

  3. It's verifiably yours. Open source is ideal. They should be able to look at the repo, see the commits, and verify that you wrote it. That removes a huge amount of uncertainty: you're not just someone who talks well about projects; you can point to a Git history that shows you doing the work.

How to come up with demo ideas

The easiest path is: build what your dream company is already thinking about. A few ways to figure that out:

You don't need the perfect idea upfront. Just start building somewhere close to the problem space you care about.

If you try to recreate something like Claude Code, you'll spend a lot of time thinking about agents, context, file systems, streaming, UX for errors, etc. Along the way you'll find that one part of the system is disproportionately fun or hard—and might make a great demo.

That's what happened to me: I started with a bigger, more ambitious project (ASI). The diff viewer was just one part, but I noticed that's where I kept spending all my energy. So I leaned into it, polished that piece, and that became the thing I shared.

After nailing the interviews, you'll hopefully get offers.

Multiple offers can 10x comp

One company increased their offer by 50% when I said I had a competing offer. One added a $600k signing bonus to match another company. Multiple companies even opened with "this is just a starting point". They want you to negotiate and there's a lot more wiggle room than people think. A little strategy on your end can make a massive difference.

The key is having multiple offers at the same time. That last part is crucial, and tricky. You don't know how long each process will take, and once you have an offer, you typically have 1-2 weeks to respond. You have two main ways to do this:

  1. Stall before getting the final offer
  2. Speed up others by telling them you have an offer

On your first call with any company, ask about the full interview process and write it down. Use this to synchronize your final rounds. Most companies deliver offers on a call. You can delay scheduling that call to buy time.

Here's what this looked like for me: after a final interview with the founder, the recruiter wanted to schedule a follow-up call. I was 99% certain it was an offer call (people rarely hop on a call to say you sucked). So I told other companies I had an offer and needed to decide by a certain date. It worked. I got all five offers within a week and a half.

Once everyone has made their first bid, let each company know roughly how far they are from the top offer — in cash, equity, or both - and ask what they can do.

Negotiation basics:

Practical resources on negotiation:

The playbook


General preparation

  • Prepare personal pitch.

    Example pitch

    i coded & designed professionally since 16. went to the most selective coding school in Europe. ~1% get in. after a year there, i realized i could learn better by building real projects. so I released 9 different apps and became a maker of the year on product hunt 2021

    one of those projects quickly got traction and we went from 0 to 1M MAU in just a few months so we started working full time on that. i worked very much across the stack. we tried a few different constellations, but majority of the time it was me carrying product, design, and frontend alone, while we had 4 backend devs.

    in the beginning of the year I went to SF and met with my friends working in OpenAI, Midjourney, Cursor, etc., and they told me the things they were working on. I realized that sounded much more interesting. So I left in April, and want to move to SF.

  • Write about two projects you've done and record demo.

    Example projects
    • Canvas: A collaborative whiteboard with real-time sync, infinite zoom, and custom shape rendering
    • ASI: An AI code review tool with streaming diffs and intelligent suggestions - live site
    • Fast grid: one of the most performant web tables in production, using Skia with Rust bindings.
  • Contact recruiters to get initial interviews

  • Do a lot of screening calls (20-50)

  • Select 5-10 companies and do full loop, hopefully get at least 2 offers. Do this before interviewing with your dream companies.


Technical interview preparation


Specific interview preparation

  • Try the product, prepare feedback. According to friends conducting interviews at Lovable, many people show up without even having used the product?!

  • Ask o3 about the person you're talking to. What do they care about? What have they worked on? What can you bond over?

  • Prepare questions you care about

    Example questions

    These are more generic, but you should have some specific to the company.

    • "I'm used to working independently across the stack, what is that like here?"
    • "I really want to work somewhere where people spend a lot of time in the office, is that the case here?"
    • "Let's say we end up working together, what would be above expectation for the first 3 months?"
    • "What have your best collaborations looked like?"
    • "What's top of mind for you right now?"
    • "What has been the reason people have not worked out in [company]?"
    • "What do you wish you knew about [company] before you started?"
    • "If you could work on another part of the product, what would it be?"
  • Replicate the company's product and understand how it works technically.


Target dream company

  • Build relevant demo. Ideas →

  • Post on X and try to go viral

  • DM people there with feedback or that you're open for work.

    Example DM

    hey [name] i previously built @zealy.io from 0 to 1.5M MAU & $2M arr, working across engineering/design/product. love what you're building with [company name] i'm very interested in what design will look like in the future and been experimenting with token studio to bring design & code closer together. are you hiring for product engineers? here's more info


Thanks to Gabriel for support and the initial strategy :) Thanks to David for feedback on early drafts.