Listing eight technologies as mandatory is the first thing to go wrong in most software engineering intern job descriptions — and the second is that they list requirements without ever describing the work. A student reading one cannot picture a Tuesday, so they either do not apply or apply to forty postings indiscriminately, and you get volume without fit.
The template below is the opposite shape. It opens with what this software engineering intern would actually do — ship small, well-scoped features into the production codebase under review, among other things — states what success looks like by the end, prices the role as a number, and sets out a selection process built around a two-hour exercise on a small, realistic codebase: fix one described bug and add a test that would have caught it. Everything in square brackets is yours to fill in; everything else is ready to post.
The template — copy this
Software Development Intern — [City] ======================================= ABOUT THE INTERNSHIP [Company name] is hiring a Software Development intern for a 3-month internship based in [City]. This is a working internship on live projects — not a training programme and not shadowing. In your first week you will be shown around the codebase, ship one small change under review, and sit in on a code review of someone else's work. You will have a named mentor, a scoped project, and a review at the midpoint and at the end. WHAT YOU WILL DO • Ship small, well-scoped features into the production codebase under review • Write and maintain unit tests for the code you add • Reproduce, diagnose and fix reported bugs • Take part in code review — both receiving and reading others’ changes WHAT SUCCESS LOOKS LIKE At least three merged pull requests running in production by the end of the internship. We will tell you at the start exactly what we will be assessing, and you will get written feedback at the midpoint so nothing at the end is a surprise. WHAT WE ARE LOOKING FOR • B.E./B.Tech, BCA, MCA, B.Sc (CS/IT) or a demonstrable self-taught portfolio. Final-year students and recent graduates are both welcome. • Working familiarity with data structures & algorithms • Working familiarity with one of Java / Python / C++ / JavaScript • Working familiarity with git & version control • Working familiarity with debugging and code reading • Working familiarity with writing unit tests • The ability to ask a clear question when you are stuck, rather than staying stuck WHAT WE OFFER • A stipend of [stipend] per month, paid monthly • A 3-month internship starting [start date] • A named mentor and a weekly one-to-one, not an unassigned desk • A certificate and a written reference reflecting your actual work • Your code reviewed by an engineer, every time — not merged unread • A pre-placement offer for interns who meet the bar — this is a real path, not a maybe SELECTION PROCESS • Application review — we read every application and reply either way • A 20-minute screening call about your background and what you want from the internship • A practical task: a two-hour exercise on a small, realistic codebase: fix one described bug and add a test that would have caught it. It is timeboxed, we will tell you what we are looking for, and someone will read it and give you feedback either way. • A final conversation with the team you would be joining • Decision and offer within a week of the final round HOW TO APPLY Apply through this listing by [application deadline]. Attach your CV and, if you have one, a link to code you have written — a repository, a deployed project, anything real. You do not need one to apply. [Company name] is an equal-opportunity employer; we assess every application against the same criteria, and we reply to everyone who reaches a screening call.
What this software engineering intern will actually do
These are the responsibilities the template uses. They are deliberately concrete: an intern can picture the work, and you can assess against them at the end.
- Ship small, well-scoped features into the production codebase under review
- Write and maintain unit tests for the code you add
- Reproduce, diagnose and fix reported bugs
- Take part in code review — both receiving and reading others’ changes
What to screen for in a software engineering intern
Can they read unfamiliar code and explain what it does before changing it? That one question separates candidates for this role far more reliably than the CV does, because almost nobody applying has directly relevant work history. The practical way to ask it is a two-hour exercise on a small, realistic codebase: fix one described bug and add a test that would have caught it — timeboxed, reviewed, and with a line of feedback back either way.
- Data structures & algorithms
- The one to insist on. Depth here beats a passing acquaintance with everything else on this list.
- One of Java / Python / C++ / JavaScript
- Working familiarity is enough at intern level — this is learnable on the job if the first item is genuinely there.
- Git & version control
- Working familiarity is enough at intern level — this is learnable on the job if the first item is genuinely there.
- Debugging and code reading
- Working familiarity is enough at intern level — this is learnable on the job if the first item is genuinely there.
- Writing unit tests
- Working familiarity is enough at intern level — this is learnable on the job if the first item is genuinely there.
Why this JD converts
- It names the codebase reality — merged pull requests, code review, tests — instead of promising "exposure to industry projects". Students have learnt that "exposure" means watching.
- It states a countable outcome (three merged PRs) so the intern knows on day one what they are being assessed on, and so do you at conversion time.
- It puts the language requirement as "one of" rather than a list of six. Software interns who know one language well outperform those who half-know four, and the "one of" phrasing stops the strong single-language candidate from self-rejecting.
What employers get wrong hiring software engineering interns
- Listing eight technologies as mandatory
- Nobody at intern level has all eight. You lose the candidates who have the three that matter and would have learnt the rest in a fortnight.
- Asking for "1–2 years experience" in an internship
- It is the single most common contradiction in Indian internship postings, and it is read as either carelessness or a disguised cheap-hire. Both cost you applications.
- No mention of code review or mentorship
- Strong CS students choose internships on what they will learn. A JD that says nothing about how their code gets reviewed reads as a JD for a company that will not review it.
What to pay a software engineering intern
For a three-month, in-office internship at a mid-sized company, the benchmark band for this role in a tier-1 metro is ₹18,000–₹48,500 a month, and roles priced in the upper-middle of that band fill fastest. Adjust down for tier-2 cities and remote work, up for large enterprises and GCCs. State the number in the JD — "as per company norms" reads as "low", and the strongest applicants filter it out before you ever see them. For this role specifically, the thing candidates weigh against the stipend is at least three merged pull requests running in production by the end of the internship — a credible answer there is worth several thousand rupees a month in how fast the role fills.
Who to open this software engineering intern role to
The template uses a deliberately wide eligibility line: B.E./B.Tech, BCA, MCA, B.Sc (CS/IT) or a demonstrable self-taught portfolio. Widen it rather than narrowing it. Long undifferentiated requirement lists measurably suppress applications from candidates who would have succeeded, and the effect is strongest among exactly the candidates most internship programmes say they want to reach. CS, IT and ECE students from engineering colleges, plus BCA/MCA and a growing share of self-taught candidates with real repositories. For an internship, a public repository you can read beats a certificate you cannot verify.
Frequently asked
Should a software intern JD ask for specific programming languages?+
Ask for one, not six. An intern who knows Java well will pick up your Python service in a fortnight; an intern who half-knows six languages will not pick up any of them faster. Phrasing it as "one of Java, Python, C++ or JavaScript" also stops the strong single-language candidate from reading your list and deciding they are not qualified.
Do we need to mention code review in the job description?+
It is one of the most effective sentences you can include. Strong CS students choose internships on what they will learn, and code review is the specific mechanism by which they learn. A JD that says nothing about how their code gets reviewed reads, accurately, as a JD for a team that will not review it.
Should we ask for a GitHub profile?+
Ask for it, do not require it. A public repository you can read is worth more than any certificate, but plenty of capable students have written all their code for coursework on a laptop. Make it "if you have one" and treat its absence as neutral rather than as a signal.
Can we use this software engineering intern template commercially?+
Yes — copy it, edit it and post it anywhere, with no attribution required. On JD length and structure generally, the master internship job description template covers what applies to every role; this page covers what is specific to hiring a software engineering intern.
