

3 Software Engineer Resume Examples, Format and Guide
Most software engineer resumes in India fail before a human reads them, because the applicant tracking system cannot find the stack, the scale, or the ownership. Below are three complete resumes, one each for a fresher, a mid-level engineer and a senior engineer, followed by the format rules and the exact keywords that matter. Each sample is a full document, not a fragment: summary, experience with real bullets, projects, skills, certifications and education, in the order a reviewer expects to find them.
Build my resumeSoftware Engineer resume example, Fresher (0 years)
modern template
Is your resume good enough?
Upload the resume you have now and see what an applicant tracking system reads before a software engineer recruiter ever does.
Free to run. Sign in with your mobile number to see your score.
Software Engineer resume example, Mid-level (4 years)
ai-era template
Want this structure with your own details? Build it in the resume builder.
Software Engineer resume example, Senior (8 years)
dual-accent template
The format that works for software engineer resumes in India
Reverse chronological is the only layout worth using for a software engineer resume in India. Functional resumes, the kind that group everything under headings like Technical Expertise and quietly drop the dates, read as an attempt to hide a gap, and most reviewers treat them exactly that way. Put the most recent role first, work backwards, and let the dates sit in plain view. If there is a gap, you are better off explaining it in one honest line than restructuring the whole document around concealing it. Length is decided by evidence, not by seniority. One page holds everything a fresher and most engineers up to roughly six years have to say. Past that, a second page is fine as long as it carries real work rather than a longer skills list. If you are on page two because of a declaration paragraph, a hobbies line and a full postal address, you do not have a two-page resume, you have a one-page resume with padding. Four things belong nowhere on a technical resume here: a photograph, date of birth, marital status and father's name. They survive from an older template that circulated through campus placement cells for years, and they persist for that reason alone. Nobody screening backend candidates is looking for them, and every line they occupy is a line a project or a result could have used. Send a PDF unless the posting explicitly asks for DOCX, and name the file with your own name and the target role rather than resume_final_v4. Use a single column all the way down. Two-column layouts look sharper on screen and parse unpredictably, because a parser has to guess whether a narrow sidebar continues the main body or stands apart from it. All three samples above use one column for that reason. The table below sets out the section order, which is where most resumes lose the reader.
| Section | Where it goes | Why |
|---|---|---|
| Name and headline | Top, above everything | The headline is the role you want, not the role you have. Recruiters match on it. |
| Professional summary | Directly under the header | Three lines. Stack, years, and the single strongest result. |
| Work experience | Next, for anyone with a job | Most recent first. Newest role gets the most bullets. |
| Projects | Above experience for freshers, below it after that | For a fresher this is the evidence. For an experienced engineer it is supporting material. |
| Skills | Below experience | Grouped, not a 40-item wall. An ATS reads it either way, a human does not. |
| Education | Bottom, unless you are a fresher | Degree, institution, years. Drop the percentage after your first job. |
| Certifications | After education, or beside skills if only one or two | Name, issuing body, year. An unexplained acronym is a wasted line. |
Writing a summary a hiring manager actually reads
The block under your name is the only part of the resume you can be reasonably sure gets read, so it should carry the three facts a reviewer is screening for: what you build, how long you have been building it, and the strongest thing that happened because of your work. Three or four lines. No adjectives that cannot be checked. The old objective line, the one that says you are seeking a challenging position in a reputed organisation to utilise your skills, tells the reader nothing they did not already assume from the fact that you applied. Replace it with a summary. The difference is direction: an objective describes what you want, a summary describes what you have already done, and only one of those is evidence. Freshers often believe they have nothing to summarise. Look again at the three samples. The fresher summary names the stack, states the length of the internship, and points at a project with live users. That is a real summary built entirely from coursework, one internship and side projects. What it deliberately avoids is the phrase "passionate about technology", which appears on so many graduate resumes that it now carries no information at all. A practical test: read your summary and ask whether a friend from the same batch, applying to the same company, could paste it onto their own resume unchanged. If they could, it describes the degree rather than the person. Add the specific system, the specific number, the specific ownership until it stops being transferable. Rewrite the summary for each meaningfully different role you apply to. Not the whole resume, just these three lines, matching the stack and the seniority of the posting. It takes about two minutes and it is the highest-leverage editing you can do.
Hardworking and passionate software engineer with 4+ years of experience seeking a challenging role in a reputed organisation to utilise my technical skills.
Backend engineer with four years on payment and identity systems, owning services from schema design through on-call. Took duplicate-charge incidents from 14 a month to zero by rewriting the retry and idempotency layer.
The rewrite replaces self-description with a domain, a scope of ownership and one verifiable result.
Experience bullets: verb, system, consequence
Every strong bullet in the three samples follows the same shape. It opens with an action verb, names the specific thing you built or changed, and closes with what measurably moved. The verb establishes that you did it rather than watched it. The system tells a technical reviewer whether the work is relevant. The number does the persuading. Start with the outcome and work backwards to find the bullet. Engineers usually write the task first, then struggle to attach a number to it, which produces bullets like "worked on performance improvements, resulting in better user experience". Instead ask what was different in production after you shipped: a queue is shorter, a page loads faster, an incident stopped recurring, a cost line dropped, a manual process disappeared. Then write the sentence that ends in that fact. Vary the type of metric. Six latency numbers in a row read as one trick repeated, and they suggest an engineer who only optimises. Across a single role you can honestly reach for request volume, p99 latency, incident count, cloud cost, adoption percentage, team size, release frequency, support ticket volume and revenue affected. The mid-level sample uses seven different metric types across eleven bullets, which reads as range rather than repetition. Where you genuinely do not have a number, do not fabricate one. Give scope instead: how many services, how many endpoints, how many people used it, how long it took. "Migrated 180 endpoints across 11 months without a customer-facing outage" carries weight without claiming a percentage nobody measured. Allocate bullets by recency. Current role gets five or six, the previous role four or five, anything older two or three. Roles beyond about eight years back can collapse into a single line each under an earlier experience heading.
| Level | What bullets must prove | Typical metric |
|---|---|---|
| Fresher | You can finish something and it works | Coverage added, runtime cut, defects found, users of a project |
| 1 to 3 years | You own a component without supervision | Endpoints shipped, latency, bugs prevented, release cadence |
| 4 to 6 years | You own a service end to end, including on-call | Transaction volume, incident count, cost, mentoring |
| 7 years and up | You change how other teams work | Adoption across teams, org-wide cost, standards set, hiring |
Responsible for backend development of the payment module and fixing bugs raised by the QA team.
Rewrote the retry and idempotency layer on the payment path, dropping duplicate-charge incidents from 14 a month to zero across two quarters.
"Responsible for" describes a job description; the rewrite names the change made and the incident count it removed.
Worked on various performance improvements which resulted in a much better user experience for customers.
Cut p99 checkout latency from 1.9s to 640ms by moving gateway calls off the request path onto a queue with a bounded retry budget.
Names the metric, the before and after, and the technique, so a reviewer can ask a real follow-up question.
If a bullet would read identically on a teammate's resume, it is describing the team, not you. Rewrite it until it only fits you.
The skills section: grouped, honest, and short enough to defend
A skills section has two audiences with opposite preferences. The parser wants literal terms it can match against the job description. A human wants a short, organised list that signals what kind of engineer you are. Grouping satisfies both: the terms are all present for the machine, and the structure is readable for the person. Group by function rather than dumping everything into one paragraph. Languages, frameworks, data stores, infrastructure and practices is a grouping that works for almost every backend engineer. Front-end engineers usually want languages, frameworks, styling and tooling, testing, and build systems. The exact headings matter far less than the fact that some structure exists. Twelve to sixteen skills is the working range for most software engineers. Below eight, the section looks thin even when the experience is strong. Above about twenty, it stops being a signal, because a list that includes everything distinguishes nothing. The list is also a contract: every item on it is a question you have agreed to answer in an interview. If you used Kafka once in a tutorial two years ago, taking it off costs you a keyword and saves you a bad twenty minutes. Order within each group matters more than people expect. Put the technologies you would be happy to be interviewed on first, since readers skim the start of a line and stop. Write names the way the industry writes them: PostgreSQL not Postgresql, Kubernetes not K8s, JavaScript not Java Script. Parsers match on strings, and a job description that says Kubernetes will not credit you for K8s. Finally, do not include a proficiency rating. Star ratings and percentage bars invite an argument you cannot win, and nobody has agreed on what four stars out of five in Python means.
| Group | What goes in it | How many |
|---|---|---|
| Languages | Java, Python, Go, TypeScript. Only ones you would take an interview in. | 2 to 4 |
| Frameworks | Spring Boot, Django, React, Node.js, FastAPI | 2 to 4 |
| Data | PostgreSQL, MySQL, MongoDB, Redis, Kafka, Elasticsearch | 2 to 4 |
| Infrastructure | AWS, GCP, Docker, Kubernetes, Terraform, CI/CD | 2 to 5 |
| Practices | System design, unit testing, code review, incident response | 2 to 4 |
Skills: C, C++, Java, Python, HTML, CSS, JavaScript, PHP, MySQL, MongoDB, Android, Photoshop, MS Office, Windows, Linux, Git, GitHub, Data Structures, OOPs, DBMS, OS, CN
Languages: Java, Python, SQL. Frameworks: Spring Boot, React. Data: PostgreSQL, Redis. Tools: Git, Docker, Linux. Practices: REST API design, unit testing, data structures and algorithms.
Cuts the items you cannot be interviewed on, removes MS Office and Windows, and groups the rest so a human can read it in one pass.
Projects and open source: what to include and how to describe it
For a fresher, projects are the resume. They sit above experience, they get the most space, and they are where a reviewer decides whether you can actually build software or only pass exams about it. For an experienced engineer they move below experience and shrink to one or two entries, kept only if they show something the day job does not. The common failure is describing the stack instead of the software. "A web application built using React, Node.js and MongoDB" tells a reviewer nothing, because thousands of resumes carry that exact line. Describe what the thing does, who uses it, and what was genuinely hard about building it. The campus club portal in the fresher sample is a better entry than a more sophisticated project would be, because it names real users and one real engineering problem: two people cannot book the same seat. Pick projects that show range rather than three variations of the same tutorial. One project with live users, one that demonstrates a systems concept such as caching or concurrency, and one that solved an actual annoyance for a real group of people is a stronger set than three CRUD applications. Two well-described projects beat five listed by name. If the code is public, say so in plain text on the line. If the repository is empty, has one commit called "initial commit", or has a README that is still the framework default, fix that before you link it, because an interviewer who opens it will read the commit history as a work sample. Open source contributions count and are frequently undersold. Name the project, describe the contribution and its effect, and be specific about size. Three merged documentation and bug-fix pull requests is an honest and useful line. Do not describe yourself as a contributor to a well-known project on the strength of a single typo fix, because that is the first thing an interviewer will ask about.
Campus Portal: A full-stack web application built using Java, Spring Boot, PostgreSQL and React with login functionality and CRUD operations.
Campus club portal: event registration and attendance for 400 members across 12 clubs. Handles concurrent registration without double-booking a seat, using a unique constraint plus a transactional booking path.
Swaps a stack list and "CRUD operations" for real users and the one concurrency problem the project actually solves.
Where education and certifications belong
Education goes at the bottom for anyone with a full-time job, and near the top for a fresher, who has nothing stronger to lead with. Degree, institution, years. That is the whole entry for most people. CGPA or percentage is worth keeping while you are a fresher and it is good, roughly 7.5 out of 10 and above, because campus and early-career screening still filters on it. Once you have your first full-time role, drop it. A number from four years ago competes for space with work that is far more predictive of how you will perform, and no hiring manager evaluating a mid-level engineer is weighing a college percentage against shipped systems. Coursework lines are for freshers only, and only when the courses are directly relevant. Operating systems, databases, distributed systems and computer networks are worth naming for a backend role. Engineering mathematics is not. Skip the school details entirely once you have a degree: nobody in software hiring is reading your class 12 board percentage. Certifications sit just below education, or beside skills if you only hold one or two. Write the full name, the issuing body and the year, because an unexplained acronym is a wasted line and CKA means nothing to a non-technical recruiter reading the first pass. If a certification has expired, either renew it or remove it, since an expired credential listed as current is the kind of small dishonesty that is easy to catch and expensive to explain. One caution on certifications generally: they help most when you are changing track or have no professional experience yet, and least when you already have shipped systems to point at. A senior engineer's certification list should be short. The work is the credential.
Getting through the applicant tracking system
An applicant tracking system is a parser and a search index, not a judge. It reads your file, tries to break it into name, dates, employers, titles and skills, and stores the result so a recruiter can search across candidates. Almost every ATS problem is a parsing problem, and parsing problems come from layout, not from wording. The layout rules are short. One column. Standard section headings, so use Work Experience rather than Where I Have Been, and Skills rather than My Toolbox. No text inside images, since a logo strip or a skills graphic reads as empty space. No critical information in the header or footer region, which some parsers drop entirely. Avoid text boxes and nested tables for the resume body. A simple table used for a skills grid usually survives, but the safe default is not to gamble your experience section on it. On wording, mirror the language of the job description where it is honest. If the posting says microservices, write microservices rather than distributed service architecture. If it says REST API, write REST API even if you prefer RESTful. Include the expansion alongside an acronym at least once, for example "CI/CD (continuous integration and continuous delivery)", so both the acronym search and the phrase search find you. What does not work is keyword stuffing. White text on white background, a hidden block of terms at the bottom, or a paragraph that lists forty technologies in a row are all things recruiters find quickly, and the outcome is worse than being filtered out. The reliable approach is to write real bullets that naturally contain the right terms, because a bullet describing what you actually did with Kafka contains the word Kafka in a context that survives human review too. One more practical step: save as PDF from a tool that embeds real text rather than exporting an image, and open the file to confirm you can select and copy a sentence from it. If you cannot select the text, neither can the parser.
My Professional Journey So Far
Work Experience
Parsers look for standard headings; a creative one can push the entire block into an unclassified bucket.
Test your own file before you send it. Copy the text out of the PDF into a plain text editor. Whatever you can read there is roughly what the parser sees, and anything scrambled or missing is a real risk.
What gets software engineer resumes rejected
Most rejections at the resume stage are not close calls. They come from a small set of recurring problems, and all of them are fixable in an afternoon. The list below covers what reviewers of Indian software engineering resumes see most often, in rough order of how much damage each one does.
- A skills section listing 40 technologies, including three you touched once in a tutorial. Every item is a question you have agreed to answer.
- Job duties copied from the job description instead of what you actually shipped. "Responsible for" is the tell.
- No numbers anywhere. Scale, latency, cost, incident count, adoption, users. Pick whichever is honest for the work.
- A photo, date of birth, marital status or father's name. None of it belongs on a technical resume, and it takes the space a project needs.
- Tables and multi-column layouts that an older applicant tracking system reads out of order, scrambling your experience.
- A generic objective line. Replace it with a summary that states stack, years and one result.
- The same resume sent to a backend role, a front-end role and a data role. Three lines of summary and the skills order should change each time.
- Inflated titles or dates that do not match your payslips and offer letters. Background verification is standard in Indian tech hiring and a mismatch ends the process.
- A wall of unbroken text with no whitespace. If a reviewer cannot find your most recent employer in two seconds, the formatting has failed.
- Typos in the technologies you claim to know. Writing "Jaba" or "MangoDB" undoes an otherwise strong page.
Read your resume aloud once before sending it. Anything you would be embarrassed to say to an interviewer's face is a line to cut or rewrite.
Skills to put on a software engineer resume
Technical
- Java
- Python
- Go
- JavaScript
- TypeScript
- C++
- SQL
- Data Structures and Algorithms
- System Design
- REST APIs
- gRPC
- Microservices
- Object Oriented Design
- Unit Testing
- Concurrency
Tools and platforms
- Git
- Docker
- Kubernetes
- AWS
- GCP
- Terraform
- PostgreSQL
- MySQL
- MongoDB
- Redis
- Kafka
- Jenkins
- GitHub Actions
- Prometheus and Grafana
Working skills
- Code review
- Technical documentation
- Cross-functional collaboration
- Mentoring
- Incident response
- Agile delivery
- Stakeholder communication
- Estimation and planning
- Debugging under pressure
Certifications worth listing as a software engineer
| Certification | Full name | Worth it for |
|---|---|---|
| AWS SAA | AWS Certified Solutions Architect, Associate | The single most recognised cloud certification in Indian job postings. Worth it for engineers with one to five years who work near infrastructure and want the keyword on the page. Less useful if you have already run production workloads on AWS for years, since the experience outranks the badge. |
| AWS DVA | AWS Certified Developer, Associate | Better suited than the architect track for application engineers who deploy to AWS but do not design the infrastructure. Pick one of the two associate certifications, not both, unless an employer is paying for them. |
| AZ-204 | Microsoft Certified: Azure Developer Associate | Worth it if you are targeting the large service companies and enterprise clients where Azure dominates, particularly in banking and insurance delivery centres. Of limited value if your target list is Indian product startups, which lean heavily towards AWS. |
| GCP PCA | Google Cloud Professional Cloud Architect | A genuine differentiator because far fewer engineers hold it, but only in the narrower set of companies actually running on GCP, mainly data and machine learning heavy teams. Do not take it as a first cloud certification unless you already work on GCP. |
| CKA | Certified Kubernetes Administrator | One of the few certifications that is hands-on and hard enough to mean something, since it is a timed practical exam rather than multiple choice. Strongly worth it for platform, infrastructure and DevOps engineers. Not worth it for application developers who only write the deployment manifest someone else designed. |
| OCP Java 17 | Oracle Certified Professional, Java SE 17 Developer | Carries real weight with service companies and in campus and early-career hiring, where it is a clean signal for a fresher with no work history. Product companies mostly stop caring once you have two years of shipped Java behind you, so treat it as an entry credential rather than a career-long one. |
| Terraform Associate | HashiCorp Certified: Terraform Associate | Cheap, quick and a reasonable signal for anyone writing infrastructure as code. Useful alongside a cloud certification rather than instead of one. Skip it if you have public Terraform modules or a portfolio you can point at, since those are stronger evidence. |
Keywords an ATS scans for in a software engineer resume
These are the literal terms a parser matches against the job description. Use the ones that are true of you, in the sentences where you did the work, not as a list at the bottom.
- software engineer
- software developer
- backend development
- full stack development
- REST API
- microservices
- system design
- data structures and algorithms
- CI/CD
- unit testing
- agile
- scrum
- code review
- cloud infrastructure
- AWS
- Docker
- Kubernetes
- SQL
- version control
- on-call
Software Engineer resume FAQ
How long should a software engineer resume be?
One page up to about six years of experience. Two pages after that, and only if the second page carries real weight rather than a longer skills list and a hobbies line. Nobody has ever been rejected for a resume that was too easy to read. If you are struggling to fit one page, cut the oldest role down to a single line, remove coursework, and delete any technology you would not want to be interviewed on.
Should a fresher put projects above work experience?
Yes. With no full-time roles, projects are the strongest evidence you can offer, so they should sit directly under the summary where a reviewer will actually see them. State what the project does, who uses it and what was hard about building it, not just the technology list. An internship still goes in a separate experience section below projects, because a reviewer wants to see that someone employed you and what you did there.
Do I need a photo on a software engineer resume in India?
No. Indian tech recruiters do not expect one, and it takes space that a project or a result should occupy. The same goes for date of birth, marital status, father's name, nationality and a declaration paragraph. These come from an older template that spread through campus placement cells and they add nothing to a technical screen. The only exception is a client-facing role that explicitly asks for a photograph in the posting.
How many skills should I list?
Twelve to sixteen for most software engineers, grouped by type rather than listed as one long line. Enough to cover the job description honestly, and no more. Every skill on the page is a question you have agreed to answer in the interview, so a technology you touched once in a tutorial costs you more in the room than it gains you in the search index. Order each group with your strongest technologies first.
Does an ATS reject resumes with two columns?
It does not reject them outright, but some parsers read multi-column layouts out of order, which interleaves your sidebar with your experience and produces nonsense in the recruiter's view. A single-column layout removes the risk entirely, which is why all three samples above use one. Test your own file by copying the text out of the PDF into a plain text editor. If it reads in the right order there, it will most likely parse correctly.
What should I do about an employment gap?
State it in one line and move on. A gap for higher studies, a health reason, family care or a failed startup attempt is common and rarely disqualifying by itself. What creates suspicion is a rearranged resume that hides dates, because reviewers notice and assume the worst. If you built anything, studied anything or took on freelance work during the gap, list it as an entry with dates so the timeline stays continuous and explicable.
Should I include my GitHub or portfolio on the resume?
Include it if the profile helps you, and leave it off if it does not. A profile with real repositories, readable commit history and a working README is strong evidence, particularly for a fresher. A profile with three empty repositories and a single commit called initial commit actively hurts, because an interviewer will open it and read what is there. Spend an hour cleaning up two repositories before you link anything.
How do I write a resume with no work experience at all?
Lead with projects, then education, then skills. Treat each project as if it were a job: what it does, who used it, what you owned and what changed because it exists. Course projects count, hackathon builds count, and a tool you wrote to automate something annoying counts. Add anything checkable, such as competitive programming rank, merged open source pull requests or a teaching or club leadership role, since verifiable facts carry more weight than adjectives.
Do certifications actually help a software engineer get hired?
They help most when you have little professional experience or you are changing track, for example moving from support into development or from application work into infrastructure. They help least when you already have shipped systems to point at, because the work is the stronger credential. A cloud certification such as AWS Solutions Architect Associate or a practical one such as CKA carries more weight than a long list of short online course certificates.
Should I tailor my resume for every application?
Tailor the summary and the skills order, not the whole document. Three lines at the top, rewritten to match the stack and seniority in the posting, plus reordering your skill groups so the most relevant one appears first, takes about two minutes and does most of the work. Rewriting every bullet for every application is not sustainable and rarely changes the outcome. Keep one strong base resume and adjust the top third.
Related resume examples and guides
Build your own in any of these formats
Start from a blank resume or upload the one you have. The builder renders it in 24 templates and flags what an applicant tracking system will miss.
Build my resume