Skip to contentThis festive season, let's get you hired — Festive offer: Hireoo Pro for ₹149 ₹99 a week, less than one pizza
All email templates
templateEnglish12 min read

Software Engineer Job Application Email: 4 Samples (Fresher to Senior)

A software engineer job application email is three short paragraphs: the role and your one-line identity (title, years, core stack), one measurable result that matches what the posting asks for, and your notice period with a link to your work. Below are four complete samples (a fresher with projects and GitHub, 2–4 years, senior, and an engineer switching stack), what to put in the body, how to present a GitHub profile and portfolio, subject lines, attachments, timing and the mistakes that get developer emails skipped.

UpdatedAuthorHireoo Team
  • email
  • software-engineer
  • developer
  • fresher
  • it-jobs

The 4 samples

Each sample is under 200 words and follows the same order: role and identity, evidence, logistics. Names, companies and numbers are made up; replace them with your own real ones.

Sample 1: Fresher with projects and a GitHub profile

Subject: Software Engineer Trainee — Tanvi Shah, B.Tech IT 2026

Hello Mr. Rao,

I'm applying for the Software Engineer Trainee role at Bluehill Software (Job ID SET-07) listed on your careers page. I graduated in B.Tech IT from a college in Ahmedabad in June 2026 with an 8.4 CGPA, and I've been building in JavaScript and Python for the last two years.

Two projects are closest to what the posting describes. SplitMess is a React and Node.js app that lets our hostel split mess bills and track dues; 140 students use it and it runs on a free Postgres instance I set up myself. For a college project I wrote a Flask REST API for the library with JWT auth and 92% test coverage, and the README lets anyone run it with one command. Both are pinned on my GitHub (link below). Our team also placed second out of 60 in a 48-hour hackathon in March, building a bus-tracking app for the campus.

I can join immediately and I'm happy to relocate to Pune. My résumé is attached as a one-page PDF. I'd be glad to walk through either project on a call.

Thank you,
Tanvi Shah
+91 98765 43210
github.com/tanvishah-dev

What to change: the job ID and where you found it, your degree, year and CGPA, the two projects (one with real users, one with a measurable technical result), the hackathon or open-source line if you have one, the city, the joining date, and the GitHub link. Drop the CGPA if it is below 7 and let the projects speak.

Hinglish mein: Developer ki mail mein teen cheezein chahiye — role aur aapki ek-line pehchaan (degree ya years + stack), ek project jiska result number mein ho (users, accuracy, test coverage, hackathon rank), aur GitHub link jo sach mein khulta ho. Stack ki poori list mat likhein; jo posting mein likha hai aur jo aapne use kiya hai, sirf wahi. Resume ek page ka PDF, apne naam se. Baaki format yahan: job ke liye email kaise likhe.

Sample 2: Two to four years of experience

Subject: Backend Engineer II — Vikram Joshi | 3 yrs Node.js, Kafka

Hello Ms. Krishnan,

I'm applying for the Backend Engineer II role at Kestrel Systems (ENG-414). I'm a backend developer with three years at a logistics SaaS in Hyderabad, working in Node.js, TypeScript, PostgreSQL and Kafka on AWS.

The posting asks for event-driven services and ownership of production systems, which is most of my current job. Last year I moved our order-tracking service from a cron-based poller to Kafka consumers, which cut the median status-update delay from four minutes to under ten seconds and removed roughly 40% of the load on the primary database. I own the rate-limiting and notifications services end to end, including on-call, and I wrote the integration test suite that now catches 15 to 20 regressions a month before release.

My notice period is 30 days. I'm based in Hyderabad and open to Bengaluru or hybrid. My résumé is attached, and the GitHub link below has a small open-source Kafka utility I maintain.

Best regards,
Vikram Joshi
+91 91234 56780
github.com/vikramjoshi

What to change: the job ID, your current company type and city, the stack line (only what the posting names and you use daily), the one result with before-and-after numbers, the second proof (ownership, on-call, testing, mentoring), the notice period and the link. If you have no public code, link LinkedIn instead and say nothing about GitHub.

Sample 3: Senior engineer

Subject: Staff Engineer — Lakshmi Narayanan | 9 yrs Java, tech lead

Hello Mr. Bhatia,

I'm writing about the Staff Engineer opening on the platform team at Indus Health Technologies. I'm a backend engineer with nine years in Java and Spring Boot, the last four as a tech lead for a six-person team at a healthcare SaaS in Chennai.

Over 14 months I led the migration of our monolith into eleven services on Kubernetes, with zero-downtime cutovers and no patient-facing incidents; the same work brought our AWS bill down by about 28%, mostly through right-sizing and moving batch jobs off reserved instances. I still write code roughly half my week, I run the on-call rotation and the design-review process, and I've hired and ramped four of the six engineers on the team.

My notice period is 60 days, negotiable for the right role. I'm in Chennai and open to Bengaluru. My résumé (two pages) is attached. If it's useful, I can share a short write-up of the migration's design decisions ahead of a call.

Best regards,
Lakshmi Narayanan
+91 98765 43210
linkedin.com/in/lakshminarayanan

What to change: the team and role, your years and the size of the team you lead, the one large piece of work with its scale and outcome, the balance of hands-on and leadership (seniors are asked this on every call), the notice period, and the offer of a design write-up, which is the senior equivalent of a GitHub link.

Sample 4: Switching stack

Subject: Platform Engineer — Farhan Sheikh | .NET to Go/K8s, CKA

Hello Ms. Dutta,

I'm applying for the Platform Engineer role at Trident Logistics (PLT-22). I'll be direct about the fit: my four years of production experience are in C# and .NET at an insurance firm in Mumbai, and I'm moving to Go and Kubernetes, which is what your posting asks for.

Here is why I think it's a reasonable bet. I passed the Certified Kubernetes Administrator exam in August, and over the last year I moved our team's eleven deployments from hand-managed VMs to a Kubernetes cluster I set up, with Helm charts and a GitHub Actions pipeline, which took release time from half a day to twenty minutes. In Go, I've written a small internal CLI that our team uses daily to inspect queue backlogs; it's on my GitHub with tests and a README. The platform fundamentals (networking, observability, on-call) carry over directly.

I'd be glad to do a take-home task in Go if that helps you judge. My notice period is 45 days and I'm based in Mumbai. My résumé is attached.

Thank you,
Farhan Sheikh
+91 91234 56780
github.com/farhansheikh

What to change: the two stacks, the certification or course (only one that is real and verifiable), the piece of your current job that already used the new stack, the side project with a link, the offer of a take-home task, and the notice period. Stating the switch openly in the first paragraph is what makes the rest credible.

What to put in the body: stack, one measurable result, links

Recruiters and engineering managers read developer emails on a phone in about ten seconds. Three things survive that read.

Your stack, in one line, in the posting's words. Name the three to five technologies the posting names and you have shipped with, in the order language, framework, data, infrastructure: "Node.js, TypeScript, PostgreSQL and Kafka on AWS." Everything else belongs in the résumé. Fifteen tools in a sentence reads as fifteen tutorials.

One measurable result that matches the posting's top need. The formula is the same at every level; only the units change.

Level What the result looks like
Fresher Users of a project, test coverage, model accuracy, a hackathon rank, a load you handled
2–4 years Latency, throughput, cost, incident count, a migration you owned, regressions caught
Senior Scale of a system or migration, team size, cost saved, hiring, uptime
Switching stack A certification, a side project in the new stack, a part of the current job that already used it

Write it as what you did, with what, and what changed: "moved X from A to B, which cut C from 4 minutes to 10 seconds." No adjectives; the numbers do the describing.

Links, at most three. A GitHub profile, a deployed demo, and LinkedIn. Put the one that proves the most in the signature. Every link must open in an incognito window without a login.

The rest of the body is logistics: notice period (be exact, and if the subject says immediate joiner the body must agree), city and whether you will relocate or work hybrid, the attachment, and a one-line ask. The paragraph-by-paragraph structure for any role is in job application email format.

Portfolio and GitHub etiquette

A GitHub link is an invitation to judge you, so prepare the profile before you send a single email.

  • Pin two or three repositories, not every repository you have. The pinned ones are the only ones anyone opens.
  • Each pinned repo needs a README with four things: what it does in one sentence, a screenshot or a short GIF, how to run it (ideally one command), and the stack. A repo without a README is a folder.
  • A deployed link beats a screenshot, but free hosting tiers sleep. If yours does, say "first load takes about 30 seconds" in the README rather than letting the recruiter think it is broken.
  • Label tutorial projects honestly. "Built by following the official Next.js course, then added auth and a Postgres backend" is fine. The same project presented as original is spotted in one commit log.
  • Never commit secrets. Scan for .env files, API keys and database URLs before you share the link; a leaked key in a public repo ends the conversation.
  • Readable commit messages, a working main branch, no 400-file "initial commit". Nobody checks for daily green squares; everyone notices a repo that does not build.
  • Competitive-coding profiles go in only if the rating is strong and the company is the kind that cares (product companies and startups usually do; service companies usually do not).
  • A portfolio website is optional. If you have one, it must load fast on a phone and have no broken links. A clean GitHub profile README does the same job.
  • Senior engineers rarely have a public portfolio, and that is fine. A short design write-up, a conference talk, or an internal tool you can describe in a paragraph does the same work.

Before sending, run the résumé itself through the free ATS résumé checker; it catches the stack keywords you forgot to name.

Subject lines for software roles

All under 60 characters: the role, your name, one hook.

  • Software Engineer Trainee — Tanvi Shah, B.Tech IT 2026
  • Backend Engineer II — Vikram Joshi | 3 yrs Node.js, Kafka
  • Staff Engineer — Lakshmi Narayanan | 9 yrs Java, tech lead
  • Platform Engineer — Farhan Sheikh | .NET to Go/K8s, CKA
  • React Developer — Manish Yadav | 2 yrs, immediate joiner
  • Application for SDE-1 (Job ID ENG-414) — Harsh Chauhan

More patterns, including follow-ups and referrals, are in the 50 job application email subject lines.

Attachments, file names and timing

  • One PDF résumé, named Tanvi-Shah-Resume-Software-Engineer.pdf. One page for a fresher, two at most for a senior. No Word files unless asked.
  • No certificates, project reports, marksheets or code. Links for code, a line in the résumé for certifications.
  • Send on a weekday morning. For off-campus drives and startup postings, apply within 48 hours of the post going up; those pipelines fill fast.
  • Reply to a recruiter screen within 24 hours, even if only to propose a time. Silence for three days reads as disinterest.
  • One follow-up after 7 to 10 days, on the same thread, two or three lines. Then move on.
  • Apply to one role per company at a time. Five applications to the same team in a day look like a script.

Mistakes that get developer emails skipped

  • The everything stack. "Proficient in C, C++, Java, Python, JavaScript, HTML, CSS, SQL, MongoDB" with nothing built in any of them.
  • A GitHub with thirty repos and no README on any of them, or a repo whose last commit is a leaked .env file.
  • A demo link that is down. Check it the morning you send.
  • "I am a quick learner and a team player" in place of a project. Managers can verify a project; they cannot verify a trait.
  • Applying to the wrong level. A fresher emailing for a role that asks for five years, or a senior writing a fresher-style email that hides the leadership.
  • Not using the posting's words. If it says "event-driven" and "Kafka" and you have both, say both.
  • Immediate joiner in the subject, 90-day notice in the body.
  • Hiding a stack switch and hoping the interview will sort it out. It sorts it out in the first five minutes, badly.
  • A twelve-page project report as an attachment. Nobody opens it.
  • Sending the same email to the recruiter, the CTO and three engineers at once, in CC. Pick one.

Where Hireoo fits

Hireoo is an AI job agent for India. You describe the role you want in one sentence, in English or Hinglish, for example "backend developer, Node.js, 3 years, Hyderabad or remote"; it finds fresh hiring posts from across the web, matches them to your résumé with a fit percentage and reasons, writes a tailored application email for each one in the structure above, and sends it from your own Gmail with send-only access. You review the email before anything goes out, or let it auto-apply to the results you pick. Starter is ₹0 with 10 job results a day. It does not send follow-ups or track replies; those stay with you, as does the GitHub clean-up. Start free.

FAQ

Frequently asked questions

Open with the role and your one-line identity: title, years and the two or three technologies you actually ship with. Give one measurable result that matches the posting, add a GitHub or demo link, state your notice period and attach a one-page PDF. Keep it under 200 words.

Two projects, two lines each: what you built, with what, and one number (users, accuracy, test coverage, a hackathon rank). Link the GitHub repo and a deployed demo if you have one. Degree, year and joining date go in the last paragraph, not the first.

Yes, if the profile has two or three pinned repos with a README that says what the project does and how to run it. A link to thirty empty or tutorial repos hurts more than no link. Check it in an incognito window before sending.

Name only the three to five technologies the posting names and you have used in real work, in the order language, framework, data, infrastructure. Everything else lives in the résumé. A list of fifteen tools reads as a list of fifteen tutorials.

No. One PDF résumé and links. Code goes on GitHub, a demo goes on a URL, and certificates are for the résumé if at all. A zip file or a twelve-page project report is never opened.

Role, your name and one hook, under 60 characters: 'Backend Engineer II — Vikram Joshi | 3 yrs Node.js, Kafka' or 'Software Engineer Trainee — Tanvi Shah, B.Tech IT 2026'. Include the job ID if the posting has one.

Say the switch in the first paragraph rather than hiding it, then give the evidence: a certification, a side project in the new stack with a link, or a piece of your current job that already used it. Offer to do a take-home task.

Keep going

Read next

Related pages, and the free tools that do the work the page describes.

Or let Hireoo write and send it.

It finds fresh hiring posts, writes the application email for each one, and sends it from your own Gmail after you review it.

Free for 10 job results a day · No credit card · Cancel anytime