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:

RequirementHow to assess it
Demonstrated production experience in at least one relevant languageAsk: "Walk me through something you built recently. What was the hardest decision?"
Understanding of version control, code review and CI workflowsAsk: "What part of that system would you change if you started again?"
Ability to debug problems they did not createAsk: "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 writtenAsk: "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.