Skip to content

How to cold email for a software developer job

A developer hiring post names a stack, and the person reading your email wants to know one thing: have you built something real with it. Lead with one project or one piece of production work in that stack, say the hard part in a sentence, and link the code.

Updated

What developer posts ask for

Most developer posts, at a startup or a product company, ask for some mix of these. Read which are must-haves and which are “good to have”.

  • A named stack: Node.js, Python (Django, FastAPI) or Java (Spring Boot) for backend; React, Next.js and TypeScript for frontend; often both for full stack, sometimes written as “MERN”.
  • The basics around it: SQL (PostgreSQL, MySQL) or MongoDB, REST APIs, and Git.
  • For some roles: Docker, a cloud (usually AWS), caching or queues (Redis), and tests.
  • Problem solving, sometimes written as “strong DSA”. Product companies test it in interviews; many startups care more about what you have shipped.
  • An experience band (“0 to 2 years”, “SDE-1”) and, for interns and freshers, a batch year. “Immediate joiners” means they want someone who can start soon.
  • A GitHub or portfolio link. If the post asks for one, an email without it is easy to skip.

Your proof as a fresher

As a fresher, your projects are your work experience. Lead with the strongest of these that matches the post:

  • A deployed project in the post’s stack, with a live link and a public repository: something a reviewer can open, not just a screenshot.
  • An internship where your code was merged and shipped, even a small feature. Say what it did for users.
  • A merged pull request to an open-source project people use. One real merged change says more than a fork with no commits.
  • A hackathon build, if it outlived the weekend or placed well. Say which part you built in the team.
  • A competitive programming rating, only when the post asks for DSA, and as your second line, not your first.

Skip the to-do app, the weather app and the tutorial clone as your lead. They show you can follow a course, not that you can solve a problem nobody handed you the answer to.

Your proof if you are switching in

Coming from testing, support, an IT services company or a non-software branch of engineering? Look for the code you already write at work, and lead with the piece that ran for real users or colleagues.

  • From QA or testing: the automation suite you built, how many checks it runs, and what it caught or how much manual testing it replaced.
  • From an IT services company: a module you owned on a client project, a migration or performance fix you made, the stack, and the scale (users, records, requests).
  • From support or operations: scripts or internal tools you wrote that your team still uses, and what they replaced.
  • From mechanical, electrical or civil engineering: software that uses your field (a tool for a plant, a simulation, a data logger), plus one project in the post’s stack.

If the stack at work differs from the post’s, add one line on what you have built in the post’s stack since.

Your proof in two sentences

Sentence one: what you built, for whom, in which stack. Sentence two: the hardest part you solved, and a result you can measure or show (speed, users, scale, a live link).

Backend, fresher

I built QueueUp, a clinic appointment API in FastAPI and PostgreSQL that two clinics near my college use. I moved slot booking into a database transaction with row locks, which ended the double bookings they had been seeing every week.

Frontend, switching from QA

At my company I built our Playwright test suite in TypeScript, which runs 340 checks on every release. Since then I have rebuilt our internal release dashboard in React and Next.js, and the whole team uses it.

Both are made-up examples. The numbers in yours must be your own, and ones you can explain in an interview.

An example email

Arjun runs engineering at a small startup and posts for a full stack developer, 0 to 1 years, MERN, with an address for resumes. Sneha graduated this year and has one project in that stack. This is the whole email.

To
arjun@tiffinly.example
Subject
Full Stack Developer (MERN): Sneha Kulkarni, B.Tech 2026

Hi Arjun,

I saw your post today for the Full Stack Developer role at Tiffinly. I finished my B.Tech in Computer Science this year, and the stack you list, MongoDB, Express, React and Node, is the one I have built with for the past year.

My main project is MessMate, a meal subscription app for my hostel, with a React front end and a Node and Express API over MongoDB. About 150 students used it every day to skip or swap meals, and I cut the menu page’s load time from about three seconds to under one by caching it.

A tiffin service is close to what I built, which is why your post stood out. My resume is attached, the code and a live link are on my GitHub below, and I can join immediately.

Sneha Kulkarni
+91 98xxx xxxxx

github.com/snehak-example

A made-up example: Sneha, Arjun and Tiffinly are fictional. Every claim in the email comes from Sneha’s own resume.

What makes it work:

  • The stack in the post is named back in the first paragraph, so Arjun sees the match in one line.
  • One project, with real users and one measured improvement, instead of a list of technologies.
  • The code is one click away, in the sign-off, where a developer looks for it.
  • “I can join immediately” answers a question startups often have.

The subject line

The role title exactly as the post writes it, then your name and the fact that places you: your batch if you are a fresher, your years and stack if you are switching.

  • Full Stack Developer (MERN): Sneha Kulkarni, B.Tech 2026
  • Backend Engineer, SDE-1: Imran Qureshi, 2 years in Java
  • Frontend Intern: Ananya Rao, B.Tech 2027, from January

Avoid subjects like “Job application” or “Resume”. The person who posted may have several openings, and the role first tells them which one.

Mistakes to avoid

  • A skills list as the email: “Java, Python, C++, React, Node, MongoDB, AWS, Docker…”. The resume carries the list; the email carries one proof.
  • A GitHub profile with forty forked repositories and no READMEs. Pin the two that matter, and give each a README that says what it does and how to run it.
  • A live link that is down. Open it the day you send; free hosting plans often sleep or expire.
  • Claiming a stack you have only done a course in. The interview will start with that line.
  • Attaching a zip of your code or a long project report. A link is enough.
  • Answering a frontend post with your backend project first, or the other way round. Reorder for each post.

And the ones that hurt in every role: a guessed address, a generic resume, and an email longer than a phone screen. More in how to email a recruiter about a LinkedIn hiring post.

Where developer posts appear

  • LinkedIn posts by founders, CTOs and engineering managers at startups, often with an address in the post or the first comment.
  • Startups’ own job boards on Greenhouse, Lever and Ashby, and their careers pages.
  • The monthly Hacker News “Who is hiring” thread, for remote roles at international startups.
  • Developer groups on Telegram and WhatsApp that forward openings. Check that the post is recent and the company real.

A LinkedIn post search to start from (search Posts, sorted by Latest):

Backend and full stack posts for freshers

("send your resume" OR "share your resume") (backend OR "node.js" OR "full stack" OR MERN) fresher

4 of 5 ORs and ANDs

Swap the role words for yours, such as frontend OR react, and write intern instead of fresher if you are a student. LinkedIn finds nothing at all once a search has more than five ORs and ANDs: see how to find hiring posts on LinkedIn. If there is no reply in about a week, follow up once.

Guides for other roles