Software Engineer Job Description
A complete software engineer job description template, plus the ATS keywords hiring teams screen for and what the title actually means in practice.
"Software Engineer" is the least specific title in tech, and that is a problem for everyone involved. The same two words cover someone writing payment infrastructure at a bank and someone maintaining an internal dashboard at a fifty-person startup. A posting that does not say which one it means will get applications from both.
The most useful thing a software engineer posting can do is be concrete about scope. Which part of the system? Whose problems? How much of the job is new code versus keeping existing code alive? Candidates screen postings faster than employers screen candidates, and vagueness reads as a team that has not decided what it needs.
One asymmetry worth knowing if you are applying: mid-level software engineer postings are where title inflation is worst. A company calling a role mid-level may mean three years of experience or eight, depending on how long the company has existed. Read the requirements, not the title.
Verrantine · Austin, TX
Full-time · Hybrid
$120,000 – $165,000
About the role
Verrantine is hiring a Software Engineer to join the platform team, which owns the services the rest of engineering builds on. You will spend most of your time on backend systems in Python and TypeScript, with enough frontend work that you should be comfortable reading React when a change spans both sides.
This is a build-and-maintain role in roughly equal measure. The platform is six years old, carries real production traffic, and has the accumulated decisions to prove it. We are looking for someone who treats improving existing systems as engineering rather than as a chore to get through before the interesting work starts.
What you'll do
- Design, build and ship backend services in Python, with API contracts other teams depend on.
- Take features from a loosely defined problem through to production, including the parts nobody scoped.
- Write and maintain automated tests, and treat a flaky test as a defect rather than as background noise.
- Review other engineers' pull requests with enough care that the review is worth waiting for.
- Participate in an on-call rotation covering the services your team owns, roughly one week in six.
- Improve the systems you work in as you go — taking a query from seconds to milliseconds counts as delivery.
- Work with product and design early enough to change what gets built, not just how.
What we're looking for
- Three or more years writing production software that other people depended on.
- Strong working knowledge of at least one backend language — Python here, but transferable experience counts.
- Practical SQL: you can read a slow query, understand why it is slow, and fix it.
- Version control, code review and continuous integration as everyday tools rather than ceremony.
- The ability to write a clear technical explanation for someone who was not in the room.
- Comfort with ambiguity — a good proportion of the work starts as a sentence and a rough deadline.
Nice to have
- Experience with AWS or another major cloud provider, especially container orchestration.
- Familiarity with React and TypeScript for the frontend half of full-stack changes.
- Exposure to infrastructure as code — Terraform, or something like it.
- Experience mentoring less experienced engineers, formally or otherwise.
- A track record of improving a system you inherited rather than rewriting it.
Benefits
- Medical, dental and vision coverage, with employee premiums covered in full.
- 401(k) with a 4% company match, vested immediately.
- Hybrid schedule: three days a week in the Austin office.
- $2,000 annual learning budget, usable on conferences, courses or books.
- Twenty days of paid time off plus company holidays.
Salary range
As posted for this sample role. Real pay varies by employer, location and experience.
$120,000–$165,000/ yr
ATS keywords for this role
The applicant tracking system (ATS) — the recruiting software a hiring team searches and filters applicants with — will screen for these. Weight shows how central each one is to this specific posting.
Required and central (5)
Important (9)
Mentioned in passing (6)
Frequently asked questions
What is the difference between a software engineer and a software developer?
In practice, almost nothing — most employers use the two interchangeably, and the same posting will often use both. Where a distinction is drawn, 'engineer' tends to imply more system design and 'developer' more implementation, but this varies far more between companies than between the titles. Apply to both.
How many years of experience does a mid-level software engineer role require?
Usually three to five, but the range is wide and the title is unreliable. A company founded two years ago may call four years senior; a large bank may call the same experience entry-level. The requirements list is a much better signal than the title.
Do I need a computer science degree?
For most postings, no — a degree is commonly listed as preferred rather than required, and bootcamp graduates and self-taught engineers are hired routinely. It matters more at companies with formal levelling systems, and at those sponsoring visas, where a degree can be a legal requirement rather than a preference.
This was a sample. Your resume should be tailored to the real thing.
Rezi Ninja reads an actual job posting and rewrites your resume to match it, with a Ninja Score so you know it lands before you hit send. Free to start, with the AI usage included.
