Skip to main content

An Open Letter to Recruiters: We Need to Talk

Β· 7 min read
David Puziol Prata
Platform Engineer

I've been working in tech for years. I've been on both sides: as a nervous candidate waiting for a response, and as a tech lead helping hire people for my team. And I need to say it: the tech recruitment process is broken.

This is not a complaint. It's an invitation to dialogue.

The Problem of Impossible Requirements​

Open any job board and you'll find descriptions like:

"We're looking for a junior developer with 5 years of experience in React, Vue, Angular, Node.js, Python, Go, Rust, AWS, Azure, GCP, Kubernetes, Terraform, CI/CD, Machine Learning, and blockchain. Knowledge of quantum physics is a plus."

Am I exaggerating? Only slightly.

The reality is that many job descriptions look like a Christmas wish list, not an actual professional profile. This happens for several reasons:

The person writing the job posting doesn't understand the job​

Often, the description is created by someone in HR who received a list of technical terms from the manager, without context. The manager said "needs to know Kubernetes," but what they meant was "needs to be able to deploy an application." These are very different things.

The fear of hiring wrong​

When in doubt, they add everything. "If the person knows all this, they'll definitely handle it." The problem is that this person doesn't exist. And if they do, they're probably not looking for a job.

Copy-paste from other postings​

Many descriptions are copied from other companies or previous openings, accumulating requirements that no longer make sense for the current position.

The Result?​

Good candidates don't even apply. Research shows that women, for example, tend to apply only when they meet almost 100% of the requirements, while men apply meeting 60%. Inflated requirements push away diversity.

Additionally, you lose excellent people who look at the posting and think: "I'm not all that." When in reality, they could learn what's missing in weeks.

The Lack of Salary Transparency​

This is perhaps the most frustrating problem.

Imagine spending hours preparing your resume, going through screening, taking a technical test, HR interview, technical interview, manager interview, practical case... Only to find out at the end that the offered salary is half of what you currently make.

This isn't just a waste of time for the candidate. It's a waste of time for the company too. Hours of interviewers, recruitment resources, all wasted because basic information wasn't shared at the beginning.

Why hide the salary?​

Common arguments are:

  • "We want to evaluate the candidate first" - But why can't the candidate evaluate the position first?
  • "The salary is negotiable" - Great, then share the range
  • "We don't want competitors to know" - Your current employees already talk to each other and the market

The truth is that hiding salary usually means one of two things: either the salary is too low for the requirements, or the company doesn't have clarity on what they're willing to pay.

The real impact​

An employed professional, satisfied, considers a change. Goes through a 4-week process. Receives an offer 30% lower than their current salary. It's not just frustration. It's disrespect.

Salary transparency from the start should be the standard, not the exception.

On the other hand, when the salary is transparent from the beginning, something interesting happens. If the person agrees to participate in the process knowing they'll earn less than they make today, it's because they're looking for something they don't have where they are, or that has already ended. Sometimes we're looking for a new challenge, a chance to work with a specific technology, a different environment. Sometimes taking a step back means taking three steps forward. And that's fine. But the difference is that we enter the process knowing this, by our own choice, not due to lack of information.

Another impact that few consider: referrals. If I know the salary range and the position isn't for me, I can refer someone who fits. Without this information, I'll only refer people who are unemployed.

Endless Processes​

Six stages. Eight stages. An 8-hour take-home technical test. Interviews with 5 different people asking the same things.

I understand that hiring is an important decision. But there's a point where the process stops being thorough and becomes merely bureaucratic.

Signs of a dysfunctional process​

  • Stages that don't add new information
  • Interviewers who haven't read the resume
  • Technical tests that require days of free work
  • Weeks of silence between stages
  • No feedback at the end

What good candidates think​

Qualified professionals are usually employed. They have options. When a process drags on for too long, they simply give up and accept another offer.

Long processes don't filter better. They only filter those who have more free time or fewer options.

And when a long process "works out"? Often it's because the candidate didn't receive better offers along the way, or because they were unemployed and had no alternative. This doesn't mean you hired the best person. It means you hired whoever could wait.

A Constructive Proposal​

I don't want to just criticize. I want to propose practical changes:

For those writing job postings​

  1. Separate essential requirements from nice-to-haves - And be honest. What's truly a dealbreaker?
  2. Talk to people who do the work - Before publishing, validate with someone in the field if the requirements make sense
  3. Less is more - Someone excellent in 3 technologies is worth more than someone mediocre in 10
  4. Include the salary range - Or at least be prepared to discuss it in the first conversation

For those running processes​

  1. Respect the candidate's time - Every hour you ask for is an hour they're investing in you
  2. Give feedback - Even a generic rejection is better than silence
  3. Align expectations early - Salary, work model, real challenges of the position
  4. Question the need for each stage - Does it really bring new information?

About technical tests: If the candidate has a public portfolio, GitHub repositories, documented projects, they've already proven they can do the work. A practical test makes sense when you have no evidence of the person's work. Otherwise, it's redundancy. And let's be honest: in the age of AI, candidates will probably work with code assistants daily. Testing as if we were in 2015 doesn't reflect the reality of 2026.

About culture fit interviews: Why a separate stage? The candidate will behave impeccably in an interview labeled as "cultural." Nobody walks in saying they're difficult to work with. Culture fit should be evaluated organically from the first conversation, not in a theatrical stage where everyone knows the script.

For candidates​

  1. Apply even without meeting 100% - If you meet 60-70% of the main requirements, try
  2. Ask about salary early - It's not rude, it's pragmatic
  3. Evaluate the process as a signal - How the company treats candidates reflects how it treats employees
  4. Give feedback about the process - Help improve the market

What's at Stake​

The tech market complains about lack of talent. But is there really a lack of talent, or a lack of processes that allow finding them?

Every time an impossible posting is published, good candidates scroll past. Every time a process drags on, professionals give up. Every time a salary is hidden, time is wasted.

We can do better.

Recruiters, hunters, HR professionals: you are the gateway to companies. The experience you provide defines the first impression candidates have of the organization. This is an enormous responsibility, but also an opportunity.

A fair, transparent, and respectful process doesn't just attract better candidates. It builds the company's reputation in the market.

And for those on the other side, looking for opportunities: don't accept disrespect as normal. You deserve to know what's being offered before investing your time. You deserve feedback. You deserve to be treated as a professional, not as a number in a funnel.

The market changes when we stop accepting what doesn't work.