Why Most Job Descriptions for Developers Are Wrong
Most job descriptions for developers are wrong because they list technologies instead of problems, require years of experience that have no bearing on output, and describe the ideal candidate rather than the actual job. The result is that the candidates who self-select through the funnel are the ones who are good at reading job descriptions, not the ones who are good at building software.
Written by Yashveer Singh, founder of Yashveer Labs.
What you actually need to know
- Most developer job descriptions are copies of other job descriptions, not descriptions of actual jobs.
- Requiring five to ten years of experience for roles that could be filled by a two year developer is the single most common self-inflicted filter that narrows the candidate pool to the wrong people.
- Long technology lists are a symptom of not knowing what the role actually needs to accomplish.
- The candidates who apply to inflated job descriptions are the ones who are good at navigating job descriptions, not the ones who are good at building software.
- A good job description describes the problem, not the perfect person. The perfect person does not exist and the problem is real.
| Job description type | What it attracts | What it misses | Time to fill |
|---|---|---|---|
| Technology list with experience requirements | Keyword-matched candidates | Strong generalists, career changers | 8 to 14 weeks |
| Credential focused (degrees, certifications) | Formally educated candidates | Self-taught high performers | 6 to 12 weeks |
| Problem focused with honest context | Candidates interested in the actual challenge | People seeking comfortable maintenance work | 4 to 8 weeks |
| Minimal, vague, no salary range | High volume of mismatched applications | Almost everyone good | 12 to 20 weeks |
The core argument
The job description is the first product you ship in a hiring process. Most founders and engineering managers treat it as paperwork, something to be posted quickly so the search can start. The result is a document that describes a fictional candidate, assembled from templates and cargo-culted requirements, that will spend the next three months attracting people who match the document but not the job.
The core mistake is describing the candidate instead of the work. A job description that says "must have five years of React experience" tells you nothing about what the developer will spend their days doing. A job description that says "you will own the customer-facing dashboard, which is currently built in React and has significant performance problems we have not had time to address" tells a candidate exactly what they are walking into. One of those descriptions attracts people who have React on their resume. The other attracts people who are interested in performance problems.
Senior developers read job descriptions differently than junior developers. A junior developer scans for technologies they recognize. A senior developer reads for what is honest, what is hard, and what they will own. When a job description lists twelve technologies, requires eight years of experience for a startup role that did not exist eight years ago, and contains the phrase "must be comfortable in a fast-paced environment," a senior developer reads it as a description of organizational confusion. They close the tab.
The founders and engineering managers who hire well write job descriptions that are shorter than the average, more honest than is comfortable, and specific about the problems to be solved rather than the credentials of the person who should solve them. Those descriptions get fewer applications and better ones.
What goes wrong in most developer job descriptions
The experience inflation problem
A requirement for five to eight years of experience on a role that involves building a single SaaS application is not a filter for quality. It is a filter for candidates who have been doing similar work for a long time, regardless of how much they improved during that time. A developer with two years of intense, complex, production-focused work and a developer with seven years of light maintenance work are not comparable, and the years of experience requirement picks the wrong one as often as it picks the right one.
The reason this requirement persists is that it feels like a safe filter. It is not. It is a lazy one. Replace it with a description of the complexity of the actual work and let candidates demonstrate that they can handle it.
The technology list problem
The average developer job description lists between eight and fifteen technologies. The developer who has used all fifteen of them in production is a rarity. The developer who has used six of them deeply and can learn the rest in three weeks is common and often better. By listing fifteen, you filter out the second type and attract resumes optimized for technology matching.
List the three things that are genuinely non-negotiable, the things where the learning curve is long enough that you cannot wait. Everything else belongs in a "you will encounter these" section, not a requirements section.
The vague output problem
Most job descriptions describe input, not output. "Strong communication skills" describes an input. "Own the weekly engineering update to the founding team and write the incident post-mortem for any production issue" describes output. Outputs are specific, testable, and attractive to the type of developer who wants ownership. Inputs are generic, unverifiable, and attractive to the type of developer who wants to match a template.
How much does it cost
| Cost of a bad job description | Time lost | Money lost |
|---|---|---|
| Three extra months to fill the role | 12 to 16 weeks | 30k to 80k in delayed output |
| Wrong hire who looks good on paper | 6 to 9 months | 40k to 120k direct plus rework cost |
| High volume of unqualified applications to screen | 40 to 80 hours of founder or manager time | 5k to 15k in opportunity cost |
| Senior candidates who self-select out | Indefinite | Unmeasurable but real |
The cost of a bad job description is mostly invisible because it shows up as "we could not find the right candidate" rather than "the job description filtered them out." But the math is real. Three extra months to fill a senior developer role at a startup means three months of delayed product development on a timeline where months matter.
What a good developer job description looks like
- Opens with a one paragraph description of the problem the developer will spend most of their time solving.
- Names the three to five technologies that are genuinely non-negotiable and nothing else.
- Describes the team structure, including how many engineers are on the team and who the developer will report to.
- Lists three to five things the developer will own in the first ninety days.
- Is honest about the known challenges, including tech debt, unclear requirements, or missing documentation.
- Includes the salary range. Always.
- Is under 400 words of requirements. Everything after 400 words is usually hedging.
Expert opinion
The best job descriptions I have seen were written by founders who were frustrated with the process. They stopped copying templates and wrote honestly about what was hard, what was broken, and what kind of person they were actually looking for. Every time, the application quality went up and the time to fill went down. The description is a filter. Write it to filter for the right things.
>
Yashveer Singh, founder of Yashveer Labs
How this played out on a real project
I know a founder who spent four months trying to fill a senior developer role with a job description that required eight years of experience, listed eleven technologies, and described the company as an "exciting early stage startup in a fast-paced environment." He received hundreds of applications, screened dozens of candidates, and hired none of them. When I helped him rewrite the description, we cut the requirements to three technologies, removed the years of experience requirement, and replaced the generic language with an honest paragraph about the existing codebase, its known issues, and what the first ninety days would actually look like. He filled the role in five weeks.
The rewrite took forty minutes. The original description had taken four months to produce results. The same pattern shows up in the broader hiring questions process, where specificity and honesty in the first conversation predict outcome better than any credential or credential requirement.
If you are trying to understand what the developer you are hiring should actually be able to do, the vetting framework covers verification in detail. And if you are uncertain whether to hire an employee or a contractor, why some developers cost three times more covers the rate-to-value relationship that determines which engagement structure makes sense.
Common mistakes
- Copying a job description template without editing it to reflect the actual role. Templates produce template responses.
- Requiring years of experience instead of describing complexity. Years of experience is a proxy that breaks in both directions.
- Listing all the technologies in the stack instead of the three that are genuinely non-negotiable.
- Describing the company in marketing language. Senior developers find marketing language in a job description off-putting.
- Omitting the salary range. The range is a filter. Use it.
- Writing requirements in passive voice. "Experience with databases preferred" is not a requirement. Say what you mean.
- Including a requirements list longer than six items. Every additional requirement after the sixth one narrows the candidate pool further and lowers average quality.
- Not including a description of what success looks like in the first ninety days. If you cannot write that paragraph, the role is not ready to be filled.
A 14 day plan
- Days one and two. Write down the three things the developer will spend most of their time on in the first six months. Not a list of technologies. A list of problems.
- Days three and four. List the technologies that are genuinely non-negotiable, meaning the learning curve would measurably delay the project. If more than five items are on this list, cut until you are at five.
- Days five and six. Write the honest paragraph about the challenges in the role. Tech debt, unclear requirements, missing documentation, whatever is real. Senior developers want to know this.
- Day seven. Set the salary range and add it to the description. Make the range specific, not a twenty-thousand-dollar band.
- Days eight to fourteen. Post and collect applications. If the volume is overwhelming, the description is too broad. If the volume is zero, the salary range or requirements need adjustment.
For more on how the job description fits into the broader hiring process, agencies that win founder trust covers what the best vendors look for in a client brief, which is structurally similar to what a good candidate looks for in a job description. And the two person team covers how to calibrate the role you are hiring for against the team structure you actually need.
Frequently asked
Why this is the work I do
The work in this article is not theoretical for me. It is what I shipped last quarter, last month, and this week. Yashveer Singh, founder of Yashveer Labs. I do not write about things I have not done. I do not pretend to expertise I do not have. If the topic here is the topic you are dealing with, I am the person who has dealt with it. Multiple times. Recently.
Posts that line up with this one.
- Hiring Developers, Freelancers, and Agencies
Hiring Mistakes That Founders Repeat Endlessly
The five hiring patterns I see founders repeat across every stage, from the first hire to the tenth. Written from the build side, not the theory side.
- Hiring Developers, Freelancers, and Agencies
Hiring Offshore: The Real Tradeoffs Beyond Cost
Offshore hiring is not just a cost decision. It is a communication, quality, and accountability decision that plays out differently depending on the stage of your company and the type of work involved.
- Hiring Developers, Freelancers, and Agencies
Hiring Your First Engineering Manager: A Founder's Guide
The first engineering manager hire is one of the highest-leverage and highest-risk decisions a founder makes. Get it wrong and you damage the team. Get it right and you buy back your time while the team grows.
- Hiring Developers, Freelancers, and Agencies
How Recruiters Can Read a GitHub Profile Like a Hiring Manager
GitHub profiles are a primary signal for engineering talent, but only if you know what to look for. Here is how a hiring manager reads one in under five minutes.