# How to Email Developers So They Actually Reply

> A practical guide to cold emailing software engineers: subject lines, length, salary transparency and templates that get replies without sounding like spam.

- Canonical: https://www.realgreatdevs.com/guides/how-to-email-developers
- Target query: how to email developers
- Funnel: middle
- Published: 2026-08-05
- Tags: outreach, sourcing, email

Most outreach to engineers fails before the first sentence is finished. Not because developers hate recruiters — because the average message could have been sent to a thousand people, and they can tell.

This guide covers what to write, what to leave out, and a few templates that consistently outperform volume blasts.

## What engineers say they ignore

Across public threads and what we hear from candidates:

1. **No salary range.** Discarded immediately by a large share of senior engineers.
2. **Wrong stack.** "We need a React rockstar" sent to a Rust maintainer.
3. **Vague company.** "A fast-growing startup in the [space] space."
4. **Fake personalisation.** "I loved your work on [repo]" when the repo is a fork they have not touched in years.
5. **Long emails.** Anything past ~150 words gets skimmed or skipped.

Fix those five and you are already ahead of most sequences.

## The structure that works

**Subject line:** specific and short. Name the repo, the role, or the company — not "Exciting opportunity!!"

Good:
- `Your work on [repo]`
- `[Company] — [role], [salary range]`
- `Quick question about [specific project]`

Bad:
- `Opportunity for a talented engineer`
- `Are you open to new roles?`
- `We're hiring!`

**First line:** prove you looked. One concrete observation. No compliments you cannot defend.

**Second block:** the role in one or two sentences — what they would own, not a list of requirements.

**Third:** money, location/remote, and a clear ask.

**Close:** an easy no, plus a referral ask. Engineers who are not looking often know someone who is.

## A template that gets replies

```
Subject: Your work on [repo]

Hi [name] — I came across [repo] while looking at [specific thing].
[One sentence on what you actually noticed.]

We're building [one line] at [company]. Looking for someone to own
[area]. It's [salary range], [location or remote policy].

Worth a conversation? Equally happy to hear it's a no, or to be
pointed at someone you rate.

[Your name]
```

Keep the whole thing under 150 words. If you need a paragraph about benefits, put it on a page and link it.

## Subject lines worth testing

| Pattern | Example |
| --- | --- |
| Repo reference | `Your parser in [repo]` |
| Mutual context | `[Conference] talk → [Company] role` |
| Direct role + money | `Staff eng, $180–210k, remote EU` |
| Referral framing | `Who should I talk to about [problem]?` |

Avoid urgency theatre ("only open for 48 hours") unless it is true. Engineers treat fake urgency as a filter for bad employers.

## Personalisation that is real vs fake

**Real:** you opened their most recent substantial repository, named a design choice, and tied it to the role.

**Fake:** you mail-merged `{{top_repo}}` and praised a tutorial they pushed during a bootcamp.

Two minutes of reading beats any enrichment tool. If you cannot spare two minutes, do not send the email.

## Follow-up without becoming spam

One follow-up after five to seven days is enough. Shorter than the first email. No guilt.

```
Subject: Re: Your work on [repo]

Hi [name] — bumping once in case this got buried.
Happy to close the loop if timing's wrong.

[Your name]
```

Then stop. A third email rarely converts and often burns the domain reputation for your whole team.

## Where to find the address

1. Listed on their GitHub profile or personal site.
2. Commit author email on a public repository (`git log`).
3. Company page or conference bio.

Commit emails are public, but people do not expect bulk sequences there. Use the address for a single, relevant note — never a drip campaign.

## When the message is not the problem

If replies are still near zero after specific, short, salary-transparent emails:

- **Wrong pool.** You are emailing inactive or mismatched profiles. Tighten filters — see the [GitHub sourcing guide](/guides/github-sourcing-guide).
- **Wrong market.** Comp or remote policy is off for that country. Check [country pages](/hire-developers-in/united-states) for pool size before blaming copy.
- **Brand unknown and role unremarkable.** Lead with the problem they would solve, not the company adjective list.

Sourcing and messaging are different jobs. [Finding people](/guides/how-to-source-developers-for-free) does not fix a bad email, and a great email does not fix a bad list.
