A job description is a partial document. The recruiter or hiring manager wrote (or templated) the visible parts — title, summary, requirements, nice-to-haves — but the real role operates on signals scattered throughout the document. Hiring managers know which signals to read. Most candidates don’t.
If you read JDs the way the hiring manager reads them, two things change: you stop applying to roles that won’t land, and you position the resume correctly for the ones that will.
The seven implicit signals
1. Altitude
The level the role actually operates at, regardless of the title. Read the verbs in the responsibilities:
- “Ship,” “build,” “debug,” “code daily” → IC, mid-to-senior.
- “Drive,” “set direction,” “own the roadmap” → lead, principal, group.
- “Mentor others,” “small team” → senior IC with light leadership.
- “Define the strategy across the org” → director+.
Title compresses 1–2 levels across companies. The verbs don’t. Find seniority signals in a JD is the deeper read.
2. Scope
How many surfaces, products, or systems does the role own?
- “You’ll own the checkout flow” → one surface, IC scope.
- “You’ll own the payments suite” → multi-surface, lead/group scope.
- “You’ll set the engineering standards across the company” → director+ scope.
Match your resume’s scope language to this. If the role is one-surface, drop multi-surface scope language from your bullets.
3. Verb shape
What kind of work the role wants. The verb shape implies the daily reality:
- 70%+ execution verbs in the JD (“ship,” “build,” “implement”) → expect to be heads-down on artifacts.
- 70%+ strategic verbs (“define,” “drive,” “align”) → expect alignment, planning, less hands-on.
Mirror your bullets to the role’s verb shape. Execution verbs vs strategic verbs is the conversion list.
4. Reporting structure
The JD names a reporting line, sometimes obliquely:
- “Reports to the Engineering Manager of Platform” → mid-IC level, no reports of your own.
- “Partners with the VP of Eng on technical direction” → senior/staff IC, occasional executive exposure.
- “Reports to the CTO” → either small company or genuinely senior role.
Reporting structure clues in job postings decodes the patterns.
5. On-call
Often hidden. Look for:
- “We run a 24/7 platform” → on-call expected.
- “Customer-facing reliability is critical” → likely on-call.
- “Production-critical systems” → on-call.
- No mention → could go either way; ask in screening.
On-call requirement hidden in JDs walks through detection.
6. Team size
The JD usually implies (rarely names) the team you’ll work with:
- “Small, scrappy team” → 4–8 engineers.
- “Cross-functional pod with eng, design, PM” → ~5–8 people.
- “Multi-team org” → 20+ engineers; you’re a lead/staff or above.
Team size signals in job postings decodes the cues.
7. Comp band
Increasingly visible (CA, NY, WA require it). Compare to your current comp:
- 70%+ of your comp → at level.
- 50–70% → meaningful step down.
- <50% → role is for someone earlier in their career.
If the band isn’t visible, infer from the rest of the signals — title, scope, team size give you a reasonable range.
How to actually read
Three passes through a JD for serious applications:
First pass: altitude check (30 seconds)
Read the title, the first paragraph, and the responsibilities list. Determine the altitude. If it doesn’t match your altitude, stop — apply only if you’re deliberately downshifting and your resume is repositioned. Is this job below my level? is the pre-decision check.
Second pass: shape check (60 seconds)
Read the responsibilities and nice-to-haves carefully. Identify the verb shape, the implied scope, and any tacit disqualifiers. Note what your resume might contradict.
Third pass: tailoring (5 minutes)
Read with your resume open. Identify which 3–5 of your bullets best mirror the JD’s verb shape and tacit signals. Make sure those bullets are in the first half of the resume. Drop or reposition bullets that contradict the implicit signals.
The “nice-to-have” trap
The “nice-to-have” section is often where the real requirements hide. Recruiters list “must-haves” conservatively for legal reasons, then put the actual requirements in nice-to-haves. If a nice-to-have is mentioned twice in the JD (once explicitly, once implied in responsibilities), it’s a real requirement.
Example: “5+ years of Python” in must-haves; “comfortable owning production services” in nice-to-haves. The second is the actual requirement — the role wants someone who’s owned production, and Python is just the language they happen to use.
Run the JD-reading check
If reading JDs at this level feels like a lot, the diagnostic does it for you. It reads the JD on all four axes against your resume in 27 seconds and tells you which signals trip and which bullets to reposition. Two free runs, no card.
Related reading
- Find seniority signals in a job description — the altitude detection cluster.
- JD level cues — IC vs lead — the level-distinguishing patterns.
- Tacit disqualifiers in job postings — the signals JDs imply but don’t name.
- Reporting structure clues in job postings — the reporting-chain signal in detail.