Cold Outreach That Works
How to cold-message hiring managers and researchers - templates and strategies that get responses.
Reading time: ~28 min | Interview relevance: High | Roles: All AI/ML roles
The Real Interview Moment
You are a hiring manager for an ML engineering team at a growth-stage startup. It is Tuesday morning. You open your email and find 14 messages that arrived overnight.
Three are from recruiters pitching candidates. You will get to those later. Four are newsletters you subscribed to six months ago and never read. Two are from vendors selling MLOps tools. One is an internal Slack digest.
Then there are four cold emails from people who want to work on your team.
Email 1: Subject: "ML Engineer interested in your company" Body: "Hi, I am a machine learning engineer with 3 years of experience. I am very interested in your company and believe I would be a great fit. I have experience with Python, TensorFlow, and machine learning. Please find my resume attached. I look forward to hearing from you."
You archive it without finishing.
Email 2: Subject: "Quick question about your feature store architecture" Body: "Hi [Your Name], I watched your talk at MLconf last month about migrating from batch to real-time feature serving. You mentioned hitting latency issues with Redis cluster at scale - I ran into the same problem at [my company] and solved it by switching to a tiered caching approach with a Rust-based sidecar proxy. I wrote up the solution here: [blog link].
I noticed your team has an open ML Engineer role. Given my experience with real-time feature systems, I think I could contribute meaningfully. Would you be open to a 15-minute call this week or next?"
You click the blog link. The write-up is detailed and smart. You reply within 2 hours.
The difference between these emails is not writing skill. It is research, specificity, and value-first framing. Email 1 asked for something. Email 2 offered something.
This chapter teaches you how to write Email 2 - and how to do it systematically across dozens of outreach attempts.
When Cold Outreach Works (and When It Does Not)
Cold outreach is not a universal strategy. It works extremely well in some situations and wastes time in others. Understanding when to use it is as important as knowing how.
When Cold Outreach Has the Highest ROI
| Situation | Why Outreach Works | Expected Response Rate |
|---|---|---|
| Startup with fewer than 200 employees | Hiring managers read their own email, smaller applicant pools | 20-35% |
| You have a specific, relevant insight to share | Creates immediate value, demonstrates expertise | 25-40% |
| You share a mutual connection or community | Social proof + warm context | 30-50% |
| The company posted about a specific technical challenge | You can address the exact problem they are solving | 25-40% |
| You are targeting a niche AI role | Fewer candidates, hiring managers are eager for qualified people | 20-35% |
| There is an open role on the team | Clear reason for your email, easy for them to act | 15-30% |
When Cold Outreach Has Low ROI
| Situation | Why Outreach Fails | Expected Response Rate |
|---|---|---|
| FAANG-scale companies with 50K+ employees | Hiring managers are insulated, formal processes dominate | 3-8% |
| Generic message with no personalization | Feels like spam, gets deleted immediately | 1-3% |
| No open role and no specific value to offer | Recipient has no reason to respond | 2-5% |
| Mass outreach (same message to 200 people) | People detect templates instantly | 1-3% |
| You have zero relevant experience | Nothing to offer in the conversation | 2-5% |
Cold outreach works best when you can offer specific value (an insight, a solution, relevant experience) to a specific person at a company where you have done genuine research. It works worst when you send generic messages to large companies without any personalization or value proposition.
The Research Phase: Before You Write a Single Word
The quality of your cold outreach is directly proportional to the quality of your research. Spending 30 minutes researching before writing will produce a better email than spending 30 minutes writing without research.
Research Checklist Per Target
Before contacting anyone, gather this information:
Where to Research
| Source | What You Find | How to Use It |
|---|---|---|
| Person's role, posts, background | Reference their posts or shared experiences | |
| Company engineering blog | Technical challenges, stack, culture | Reference specific posts in your email |
| Company careers page | Open roles, team descriptions | Align your email with their stated needs |
| Twitter/X | Hot takes, opinions, interests | Find common ground or a conversation starter |
| GitHub | Open source projects, code style | Reference or contribute to their repos |
| Conference talks (YouTube) | Technical depth, current focus | Reference specific points from their talks |
| Google Scholar | Papers, research interests | Reference their research |
| Crunchbase | Funding stage, recent news | Contextualize the company's growth stage |
| Glassdoor | Interview process, culture | Prepare for what to expect |
The Golden Research Question
After your research, you should be able to answer: "What specific problem does this person or team have that I can help solve?"
If you cannot answer this question, you are not ready to reach out. Keep researching or pick a different target.
Email Structure: The Anatomy of a Cold Email That Gets Responses
Every effective cold email follows a structure. The structure is not a template - it is a framework you fill with specific, researched content.
The Five-Part Framework
1. Subject Line (5-8 words, specific, curiosity-inducing)
2. Opening Hook (1-2 sentences, why you are reaching out to THEM specifically)
3. Value Bridge (2-3 sentences, what you bring that is relevant to their work)
4. Soft Ask (1 sentence, low-commitment next step)
5. Sign-off (Name + one link, no more)
Total length: 80-120 words. Not 80-120 sentences. Words. Short emails get read. Long emails get archived.
Subject Lines That Get Opened
The subject line determines whether your email is opened at all. Here are patterns that work:
| Pattern | Example | Why It Works |
|---|---|---|
| Question about their work | "Quick question about your feature store talk" | Feels personal, implies you watched their content |
| Shared context | "Fellow MLconf attendee - loved your session" | Establishes connection immediately |
| Specific value | "Optimization I found for your vector search approach" | Offers something, not asks for something |
| Referral mention | "[Mutual Connection] suggested I reach out" | Highest open rate - social proof |
| Role + specific skill | "ML Engineer with real-time serving experience re: your open role" | Clear, relevant, actionable |
Subject lines to never use:
- "Interested in opportunities" - Generic, self-focused
- "My resume" - Immediately filtered as mass application
- "Can we chat?" - No context, easy to ignore
- "Hi" or "Hello" - Looks like spam
- "Touching base" - You have no base to touch, you are a stranger
Never use a subject line that is misleading or deceptive (e.g., "Re: Our conversation" when you have never spoken, or "Referral from [name]" when the person did not actually refer you). This destroys trust instantly and can damage your reputation if the hiring manager mentions it to colleagues.
Opening Hook Templates
The opening hook must answer: "Why should I, specifically, read this email?"
Hook 1: Reference their content
I read your blog post about [specific topic] - your approach to [specific
detail] was different from anything I have seen in production. I had a
question about [specific aspect].
Hook 2: Reference a shared experience
We were both at [conference/event/community]. Your point about [specific
detail] during [session/discussion] has stuck with me - I applied it to
[your project] and it worked.
Hook 3: Reference a problem you can solve
I noticed your team just launched [product/feature]. Based on my experience
building similar systems at [company], I think I could help with the
[specific challenge] you are likely facing as you scale.
Hook 4: Mutual connection
[Mutual Connection] and I were discussing [topic], and they mentioned your
team is doing interesting work in [area]. They suggested I reach out.
Value Bridge Templates
The value bridge answers: "What do you bring to the table?"
Bridge 1: Relevant experience
I built [similar system] at [company] that processes [scale]. The most
challenging part was [specific challenge], which I solved by [approach].
I wrote about it here: [link].
Bridge 2: Relevant project
I recently built [project] that addresses [problem related to their work].
It achieves [specific result]. You can see the code/demo here: [link].
Bridge 3: Relevant insight
While working on [your project], I found that [specific insight] - which
seems directly relevant to [what their team is building]. I would love to
discuss this further.
The Soft Ask
The ask must be low-commitment. You are not asking for a job. You are asking for a conversation.
Good asks:
- "Would you be open to a 15-minute call this week or next?"
- "Could I ask you 2 quick questions about [specific topic]?"
- "Would you mind if I sent you a short write-up of my approach to [problem]?"
- "Is there a good time for a brief chat about the [role]?"
Bad asks:
- "Can you review my resume and let me know what you think?"
- "Would you refer me to the role?"
- "Can we schedule an hour-long call?"
- "Can you introduce me to the hiring manager?"
Never ask for a referral in a cold email. You are a stranger. Asking a stranger to vouch for you is asking them to put their reputation on the line for someone they do not know. Build the relationship first. The referral comes later, if at all.
Complete Email Templates
Template 1: Outreach to a Hiring Manager (Open Role Exists)
Subject: ML Engineer with RAG production experience - re: your open role
Hi [Name],
I saw your team's open ML Engineer role and your recent blog post about
building retrieval-augmented generation systems for [company]'s knowledge
base. Your approach to chunk-level metadata filtering was clever - I used
a similar technique at [my company] to improve retrieval precision by 28%.
I have been building production RAG systems for the past 18 months,
including a pipeline processing 2M documents with sub-200ms query latency.
I wrote about the architecture here: [blog link].
Would you be open to a 15-minute conversation about the role this week?
Best,
[Name]
[LinkedIn URL]
Why this works: References specific content (shows research), provides relevant experience with numbers, includes a link that proves the claim, and makes a low-commitment ask.
Template 2: Outreach to an Engineer on the Team (No Open Role)
Subject: Question about your team's feature store approach
Hi [Name],
I watched your PyCon talk on migrating from batch features to real-time
serving. Your point about the tradeoffs between Feast and a custom solution
resonated - I am navigating the same decision at [my company] right now.
Quick question: did you end up needing a separate online/offline store,
or did you unify them? I found that splitting them introduced consistency
issues that were non-trivial to solve.
If you are open to it, I would love to grab a quick 15-minute call. I am
also exploring ML engineering opportunities and would love to learn more
about your team's work.
Best,
[Name]
[LinkedIn URL]
Why this works: Leads with a genuine technical question (value for both sides), demonstrates relevant experience, and the job interest is mentioned but not the primary purpose.
Template 3: Outreach to a Researcher
Subject: Follow-up on your work on efficient attention mechanisms
Hi [Name],
Your recent paper on linear attention approximations was one of the most
practical papers I read this year. The comparison with Flash Attention on
sequence lengths beyond 16K was especially useful - I replicated your
benchmarks on a different hardware setup (A100 vs your H100) and found
similar trends, with some interesting divergence at batch sizes above 64.
I wrote up my results here: [blog link]. I would be honored to discuss
our findings and hear your perspective on the divergence.
I am also exploring applied research roles and would love to learn about
opportunities on your team, if any exist.
Best,
[Name]
[Google Scholar or personal site]
Why this works: Demonstrates genuine engagement with their research, adds value (replicated benchmarks on different hardware), and the job interest is subordinate to the research discussion.
Template 4: Career Changer Outreach
Subject: Backend engineer transitioning to ML - question about your team
Hi [Name],
I am a senior backend engineer at [company] transitioning into ML
engineering. Your post about the importance of production engineering
skills on ML teams caught my attention - you mentioned that 60% of ML
work is data pipelines and infrastructure, not modeling.
That aligns with my experience. I recently built an ML-powered anomaly
detection system on top of our existing event pipeline (Kafka + Spark),
and the hardest challenges were all engineering, not ML: schema evolution,
model versioning, and graceful rollback. Demo: [link].
I would love to hear your perspective on how backend engineers best
transition into ML roles. Would you have 15 minutes for a call?
Best,
[Name]
[LinkedIn URL]
Template 5: Post-Conference/Event Outreach
Subject: Great chatting at NeurIPS - following up on RLHF discussion
Hi [Name],
It was great meeting you at the NeurIPS poster session yesterday. Our
conversation about the challenges of reward model quality in RLHF stuck
with me - your point about distribution shift in the reward model during
PPO training is something I have been thinking about for my current project.
I looked into the approach you mentioned and ran some initial experiments.
Early results are promising. Would you be interested in a follow-up
conversation? I would also love to learn more about the research
directions your team is pursuing.
Best,
[Name]
[LinkedIn URL]
LinkedIn DM Strategy
LinkedIn direct messages have different norms than email. Here is how to adapt.
LinkedIn DM vs Email
| Factor | LinkedIn DM | |
|---|---|---|
| Length | 80-120 words | 50-80 words |
| Formality | Semi-formal | More casual |
| Attachments | Resume OK if discussed | Never attach resume unprompted |
| Response rate | 10-25% | 15-30% (if connected) |
| Best for | Hiring managers, researchers | Engineers, peers, recruiters |
| Follow-up | Wait 5-7 days | Wait 3-5 days |
LinkedIn DM Templates
DM 1: After connecting
Thanks for connecting, [Name]! I have been following your posts about
[topic] - your recent one about [specific post] was particularly useful
for my work on [your project].
I am exploring ML engineering roles and your team at [company] is one
of the places I am most excited about. Would you be open to a quick chat
about what it is like to work there?
DM 2: Cold DM (not connected)
Hi [Name], I came across your post about [specific topic] and really
appreciated your perspective on [specific point]. I am working on
[related project] and ran into a similar challenge.
Would love to connect and chat briefly about your experience at [company]
- I am exploring ML roles and your team's work on [specific area] aligns
well with my background in [your area].
DM 3: To a recruiter
Hi [Name], I saw you are hiring for the [Role] on the [Team] at [Company].
I have [X years] of experience in [relevant area], including [one specific
achievement]. I would love to learn more about the role.
Would you be open to a brief conversation? Happy to share my resume if
the timing is right.
Twitter/X DM Approach
Twitter DMs are the most casual of all outreach channels. They work best for researchers and engineers who are active on the platform.
When to Use Twitter DMs
- The person is very active on Twitter (posts multiple times per week)
- They have open DMs (not all accounts do)
- You have engaged with their tweets before (liked, replied, quote-tweeted)
- The conversation started publicly and you want to continue privately
Twitter DM Template
Hey [Name], loved your thread about [specific topic]. Your point about
[specific detail] is something I have been experimenting with - I got
some interesting results I would love to share.
Also exploring ML roles - is your team hiring? Happy to chat more if
you are open to it. No worries if not.
The Pre-DM Warm-Up
Before sending a Twitter DM, warm up the connection over 1-2 weeks:
- Follow the person
- Like 3-5 of their tweets (spread across days, not all at once)
- Reply to 2-3 tweets with substantive comments (not just "Great thread!")
- Quote-tweet one of their posts with your own take
- Then send the DM
This way, when they see your DM, your name is already familiar.
Following Up Without Being Annoying
Following up is where most people either give up too early or become pests. Here is the right approach.
The Follow-Up Timeline
Follow-Up 1: Add Value (Day 5-7)
Do not just say "following up on my previous email." Add something new.
Hi [Name],
Following up on my email last week about [topic]. Since then, I published
a benchmark comparison of [X vs Y] that might be relevant to your team's
work: [link].
Still would love to chat if you have 15 minutes this week.
Best,
[Name]
Follow-Up 2: New Angle (Day 12-17)
Try a different approach or reference something new.
Hi [Name],
I saw your team just launched [feature/product] - congratulations. The
[specific aspect] is impressive, especially at that scale.
I sent a note a couple of weeks ago about my experience with [related
area]. If the timing is not right, no worries at all - but I wanted to
flag it again in case it got buried.
Best,
[Name]
Follow-Up 3: Graceful Close (Day 26-31)
Give them an easy out. This is counterintuitively effective - people often respond to the "closing" email because it removes pressure.
Hi [Name],
I do not want to keep filling your inbox, so this will be my last note.
If a conversation about [topic/role] would ever be useful, I am always
happy to chat. You can find my work at [link].
Wishing you and the team well.
Best,
[Name]
Follow-Up Rules
| Rule | Why |
|---|---|
| Never follow up more than 3 times | More than that crosses into harassment territory |
| Always add something new | "Just following up" is a waste of their time |
| Vary the medium | If email did not work, try LinkedIn DM (or vice versa) |
| Do not take silence personally | Busy people do not respond. It is rarely about you. |
| Keep follow-ups shorter than the original | Respect their time more with each message |
| Never be passive-aggressive | "I guess you are too busy to respond" burns the bridge permanently |
Never guilt-trip someone for not responding. Messages like "I sent you three emails and you have not responded" or "I am disappointed you did not get back to me" are career-damaging. The person might become your future interviewer, colleague, or manager. Always be gracious.
Tracking Your Outreach
Systematic tracking is what separates random emailing from a real outreach campaign.
Simple Tracking Spreadsheet
Set up a spreadsheet (Google Sheets, Notion, Airtable) with these columns:
| Column | Purpose |
|---|---|
| Date | When you sent the first message |
| Name | Contact name |
| Company | Target company |
| Role | Their role at the company |
| Channel | Email / LinkedIn / Twitter |
| Status | Sent / Follow-Up 1 / Follow-Up 2 / Responded / Meeting Scheduled / No Response |
| Research Notes | Key findings from your research |
| Message Sent | Copy of what you sent (for reference) |
| Next Action | What to do next and when |
| Outcome | Final result |
Weekly Outreach Cadence
A sustainable outreach cadence for an active job search:
| Day | Activity | Volume |
|---|---|---|
| Monday | Research new targets, write personalized emails | 3-5 new emails |
| Tuesday | Send emails, follow up on pending outreach | 3-5 sends + 2-3 follow-ups |
| Wednesday | LinkedIn engagement (comment on target company posts) | 15 min engagement |
| Thursday | Send LinkedIn DMs, follow up on emails | 2-3 DMs + 2-3 follow-ups |
| Friday | Review pipeline, update tracker, plan next week | 30 min review |
Total weekly volume: 5-8 new outreach messages + 4-6 follow-ups. This is sustainable. Sending 50 generic emails per week is not - and it does not work.
Response Rate Benchmarks
Here is what to expect with well-researched, personalized outreach:
Expected Response Rates by Channel
| Channel | Cold Response Rate | Warm Response Rate |
|---|---|---|
| Email (hiring manager, startup) | 15-25% | 30-50% |
| Email (hiring manager, big tech) | 5-10% | 15-25% |
| Email (engineer on team) | 10-20% | 25-40% |
| Email (researcher) | 10-15% | 20-35% |
| LinkedIn DM (connected) | 20-35% | 40-60% |
| LinkedIn DM (not connected) | 5-15% | 15-25% |
| Twitter DM | 10-20% | 25-40% |
| LinkedIn InMail (recruiter-sent) | 15-25% | N/A |
"Warm" means you have engaged with them publicly first (commented on posts, attended the same event, have a mutual connection).
What "Success" Looks Like
If you send 30 personalized outreach messages over 3 weeks, you should expect:
- 6-9 responses (20-30% response rate)
- 3-5 conversations (not everyone who responds schedules a call)
- 1-2 referrals or direct introductions (not everyone who talks can refer you)
- 0-1 interviews directly from outreach (this is a bonus, not the expectation)
The goal of cold outreach is not to get hired directly. It is to build relationships that lead to referrals, introductions, and inside information about roles and teams.
What NOT to Do
The Cold Outreach Anti-Patterns
These mistakes are more common than you think. Each one significantly reduces your response rate.
1. The Resume Bomb
Hi, please find my resume attached. I am interested in ML roles at your
company. Let me know if you have any openings.
Why it fails: No personalization, no value, no research. The recipient has no reason to open the attachment.
2. The Life Story
Hi, my name is [Name] and I have always been passionate about AI. When I
was 12, I built my first neural network... [continues for 500 words about
their journey]
Why it fails: Nobody reads a 500-word cold email. The recipient's time is not yours to waste.
3. The Mass Template
Dear [FIRST_NAME],
I noticed your work at [COMPANY_NAME] and was impressed by your team's
achievements in [FIELD]. I believe my background in [SKILL] makes me a
strong fit for...
Why it fails: People can spot mail merge fields instantly, even if you remembered to replace them. The lack of specificity is the giveaway.
4. The Humble Brag
I know I am probably not qualified, but I graduated top of my class from
[university] with a 4.0 GPA, published 3 papers at NeurIPS, and built
an open-source project with 2K stars...
Why it fails: False modesty is transparent and annoying. State your qualifications directly without the self-deprecation theater.
5. The Demand
I would like to schedule a call at your earliest convenience to discuss
how I can contribute to your team. Please send me some available times.
Why it fails: You are a stranger making demands on someone's calendar. Always offer specific times and make it optional.
6. The Multiple Ask
Could you refer me to the hiring manager? Also, could you review my
resume? And could you let me know what the interview process is like?
And any tips for the technical interview?
Why it fails: Each additional ask reduces the probability of getting any response. One clear, low-commitment ask per message.
Finding Email Addresses
You cannot send cold emails without email addresses. Here is how to find them:
Methods (From Most to Least Reliable)
| Method | How | Success Rate |
|---|---|---|
| Company website | Check the team/about page | 30% |
| Hunter.io | Email lookup by name + domain | 60-70% |
| LinkedIn (check contact info) | Some people list their email | 20-30% |
| GitHub profile | Developers often list email | 40-50% |
| Personal website/blog | Contact page or about page | 50-60% |
| Academic page | University profile page | 70-80% (for researchers) |
| Email pattern guessing | [email protected], [email protected] | 50-60% |
Email Pattern Discovery
Most companies use a consistent email pattern. To discover it:
- Find one confirmed email from the company (e.g., from a conference speaker page, press release, or public GitHub commit)
- Identify the pattern (firstname@, firstname.lastname@, firstinitiallastname@)
- Apply the pattern to your target contact
- Verify using a tool like Hunter.io or NeverBounce
When You Cannot Find Email
If you cannot find a direct email, these alternatives work:
- LinkedIn DM - Connect first, then message
- Twitter DM - If they are active and DMs are open
- GitHub issue - If they maintain an open-source project, open a genuine issue, have a conversation, then follow up privately
- Conference/meetup - Attend the same events and meet in person
- Apply through the company's career page AND reach out - The formal application creates a record; the outreach creates a relationship
Practice Exercises
Exercise 1: Research Sprint (30 minutes)
Pick 3 target companies. For each, identify:
- One open ML role
- One hiring manager or team lead (by name)
- One recent blog post, talk, or paper from the team
- One specific technical challenge the team is working on
Exercise 2: Write 3 Cold Emails (45 minutes)
Using the research from Exercise 1, write a personalized cold email to each of the 3 contacts. Use the Five-Part Framework. Keep each email under 120 words.
Exercise 3: Follow-Up Sequence (20 minutes)
For one of your emails, write the complete 3-follow-up sequence (Follow-Up 1, 2, and 3). Each should add new value or take a different angle.
Exercise 4: Set Up Tracking (15 minutes)
Create a tracking spreadsheet with the columns described above. Add your 3 targets and set reminders for follow-ups.
Exercise 5: Warm-Up Campaign (1 week)
Pick 5 people you want to reach out to. This week, do NOT email them. Instead:
- Follow them on LinkedIn and Twitter
- Like and comment on 3 of their posts (substantive comments)
- Share one of their posts with your own commentary
- Then reach out next week as a warm contact instead of cold
Interview Cheat Sheet
| Question | What They Want to Hear |
|---|---|
| "How did you hear about this role?" | "I have been following your team's work on [specific project]. When [hiring manager name] posted about the open role, it matched my experience in [area] so closely that I reached out directly." |
| "Why this company specifically?" | Reference specific, researched details: "Your team's approach to [problem] using [technology] is unique in the space. I read [blog/paper] and was impressed by [specific detail]." |
| "What do you know about what we do?" | Demonstrate deep research: "I know your team is focused on [area]. Your recent [paper/launch/blog post] about [topic] suggested you are working on [inference]. I think my experience with [related work] is directly relevant." |
| "Have you spoken with anyone on the team?" | "Yes, I connected with [name] and we discussed [specific topic]. They mentioned [detail that shows insider knowledge]." |
Next Steps
Now that you know how to reach out to people who can help your job search, the next chapter covers Getting Referrals - how to turn those initial conversations into genuine referrals that dramatically increase your interview rate.
