Software Engineer job description template
A template you can use, plus the part most templates skip: how to assess each requirement once candidates start applying.
Software engineers design, build and maintain the systems a product runs on. The role spans writing code, reviewing others' code, debugging production issues and making design decisions that constrain what is cheap to change later. A good software engineer job description separates genuine must-haves from preferences, describes what the person will actually do, and defines the criteria interviewers will assess against.
About the role
Software engineers design, build and maintain the systems a product runs on. The role spans writing code, reviewing others' code, debugging production issues and making design decisions that constrain what is cheap to change later.
Also advertised as: Developer, Software Developer, Programmer.
Responsibilities
- Design, build and ship features against agreed requirements
- Review colleagues' code and give useful, specific feedback
- Debug and resolve production issues, including out of hours where on-call applies
- Write and maintain automated tests
- Contribute to technical design discussions and document decisions
Requirements
Essential
- Demonstrated production experience in at least one relevant language
- Understanding of version control, code review and CI workflows
- Ability to debug problems they did not create
- Clear written communication — most engineering communication is written
Nice to have
- Experience with your specific stack
- Exposure to the domain
- On-call or operational experience
Keep the essential list genuinely essential. Long requirement lists measurably reduce applications from candidates who would meet your actual bar, with a stronger effect among under-represented groups. Everything you can train, move to nice-to-have.
How to assess each requirement
This is the part most job description templates omit, and it is the part that determines whether the description was worth writing. Each requirement needs a way to test it:
| Requirement | How to assess it |
|---|---|
| Demonstrated production experience in at least one relevant language | Ask: "Walk me through something you built recently. What was the hardest decision?" |
| Understanding of version control, code review and CI workflows | Ask: "What part of that system would you change if you started again?" |
| Ability to debug problems they did not create | Ask: "Tell me about a bug that took you a long time to find. How did you eventually find it?" |
| Clear written communication — most engineering communication is written | Ask: "How do you decide what to test?" |
Full question set with strong and weak answer guidance: software engineer interview questions.
On salary
Publish a range. Pay transparency requirements are expanding across the EU and parts of the US, candidates increasingly filter out roles without one, and omitting it mainly advantages whoever negotiates hardest — which correlates with confidence rather than contribution. See compensation bands.
Generate a version specific to your company and role with the free job description generator.