How to write a tech job ad senior engineers answer
A job ad that senior engineers answer does three things before they scroll away. It names the actual work, separates what is required from what would be nice, and tells the engineer what they gain from the move. Everything else in your job ad can come second.
This guide takes those three jobs in turn, using lines from tech job ads on the Human Direct site as working examples. At the end you will find a before and after you can adapt, plus a short check to run before your next job ad goes live.
Start with the work, not the company
Company context matters, but it is rarely what a senior engineer looks for first. The engineers you want are often employed and busy. The question in their head is simple: what will you ask them to build, fix or run in their first year?
The Senior Analytics Engineer job ad on our website answers that in its "About the role" section. It names a migration "from Teradata to BigQuery", "the central Common Data Model (CDM) hub" and "new data spokes for consuming teams". An analytics engineer knows within two sentences whether this is their kind of problem.
You can do the same for any role. Name the system, the stage it is at and the problem your new hire will own. "Join a growing team" gives your reader nothing to act on. "Own the migration of our reporting layer to a new warehouse" tells them whether to keep reading.
Split must-have from nice-to-have, and mean it

The most useful thing you can do for a reader is mark which requirements are firm. When every line sits in one long list, a strong engineer who lacks two items has to guess. Some will not apply, and you will never know they existed.
The Senior Analytics Engineer job ad lists nine items under "Must have" and seven under "Nice to have". Teradata experience sits in the second list, even though the project is a Teradata migration. That choice tells a BigQuery expert they are welcome, and a Teradata specialist that their background is a bonus.
The split also forces a useful conversation inside the team. If a requirement is marked must-have, would you really reject an excellent candidate without it? If your honest answer is no, move it to the second list. Your must-have list may get shorter as a result.
Write requirements you could test in an interview
A requirement only helps you if you can check it in an interview. "Experience with AI tools" could mean anything from one chat window to a team's whole delivery process. You cannot interview for it, and your candidate cannot tell whether they meet it.
Two other job ads use this line instead: "Regular and responsible use of AI tools to improve productivity and quality of outcomes, including structuring effective prompts and critically validating outputs." It describes a habit, names two skills and gives the interviewer something specific to probe.
Apply the same thinking to tools with close alternatives. The Senior Analytics Engineer job ad asks for "Hands-on experience with Dataform, or a similar SQL-based transformation framework such as dbt, with willingness to work with Dataform." One line keeps a whole group of qualified engineers in play and states what you expect.
Years of experience deserve the same care. A figure such as "10+ years", which the Lead Site Reliability Engineer job ad uses, works when it reflects the scope of the role. Pair it with what that experience should have produced, and you give your reader a fair test instead of a blunt filter.
Tell the engineer what is in it for them
Your job ad is also an offer. A senior engineer weighs the work, the people and the conditions, not only the salary. A job ad that lists only what you want leaves out half of the decision you are asking them to make.
The Product Marketing Manager / Subject Matter Expert job ad has a short section called "What's in it for you?". It offers recognition as a technical and market expert, varied technologies and markets, direct contact with customers and partners, and influence on how solutions are positioned.
Those four lines are specific to that role, which is why they work. "Competitive salary and a great team" says nothing that every other employer does not also say. Write down what your role offers that another would not give them: the problem, the scope, the people, the decisions they will own.
Be clear about what you cannot say yet
Some searches are confidential, and that is normal. What costs you candidates is a gap you leave unexplained. An engineer who cannot see who the employer is, or why not, can easily assume the worst and move on.
The IT Manager job ad handles this in one sentence: "The client's name will be shared with candidates at a later stage of the process." It still describes the industry, the site and the teams the hire will work with, so your reader has enough to decide.
The same applies to anything else you cannot publish yet, such as the salary band or the exact team. Say that it exists, and tell your reader at which stage they will hear it. A clear "later in the process" reads as organised. Silence reads as something to hide.
A before and after you can adapt

The example below is an illustration written for this guide, not a real job ad. The "before" is a generic shape you will probably recognise. The "after" applies each point above, borrowing patterns from the job ads quoted in this guide.
Before:
- A fast-growing, innovative company is looking for a rockstar Senior Data Engineer.
- Requirements: SQL, BigQuery, dbt, Dataform, Teradata, Python, Airflow, Looker, AI tools, 7+ years.
- Competitive salary and a great team.
After:
- The work: move the reporting layer from Teradata to BigQuery, and own the shared data model other teams build on.
- Must have: strong SQL, including complex transformations and performance tuning.
- Must have: hands-on BigQuery in production.
- Must have: Dataform, or dbt plus a willingness to switch.
- Must have: regular use of AI tools, including checking what they produce.
- Nice to have: Teradata, Python, Airflow, Looker.
- What is in it for you: the data model is yours to shape, and you decide how other teams consume it.
- Not public yet: the salary band, shared in the first call.
The "after" is longer, but every line answers a question your reader would otherwise have to ask you. Did you notice that "7+ years" disappeared? In this version the must-haves already describe the experience you need, so a separate year count adds little.
Check your job ad before it goes live

Run this check on your next job ad with your hiring manager in the room. Every line it removes is one less reason for a good engineer to hesitate.
- The first paragraph names the work, not the company's history.
- Every requirement sits under "Must have" or "Nice to have".
- You would really turn down a candidate who lacks any one must-have.
- You can test each requirement in an interview.
- The job ad accepts close alternatives to a named tool.
- The job ad says what the engineer gets that another role would not give them.
- Anything confidential is named as coming later, with the stage.
We work in the same order. As Human Direct's recruitment process sets out, you validate a profile of the technical skills, personality traits and soft skills before we build the recruitment strategy. Agree on the must-haves first, then write the job ad from them.
Take your current job ad, sit down with your hiring manager, mark each requirement must-have or nice-to-have, and rewrite the opening paragraph around the work before you publish it again.
Share this article on
Introducing the developer’s
console.
Sign up to our newsletter and you will receive periodic updates of new blog posts, contests, events and job opportunities.
From our blog