Was I just tricked to work for free?

Exploitative engineering: when some companies have no intention to hire, yet, nobody holds them accountable

BatCat
4 min readMay 13, 2024

Most of us have been through this: you’ve had that initial chat with the recruiter, aced the first interview, and your salary expectations aren’t an issue for the company. You’ve even cracked the coding riddles they throw at you, and then comes the take-home assignment. You open the document, and it’s stamped with a big “Confidential”. That’s when you know they mean business. Or do they?

As you quickly read through the tasks, they seem doable at first glance because, hey, you’ve tackled similar stuff before. But as you dive deeper, it feels like a mountain to climb. The recruiter reassures you it’s just a couple of hours’ job. Yet, with your daily grind, finding those hours becomes a whole new challenge.

After work, instead of unwinding with loved ones, you slip back into “engineering mode” and dive headfirst into the assignment. Time flies, and it feels like progress is moving at a snail’s pace. Exhaustion sets in, and you give yourself another 20 minutes before calling it a night. The next day, you jump back in, only to realize that more hours slip away.

As you near the dreaded 8-hour mark, doubts creep in. You know you could nail it with a bit more time, but then you remember that other candidate who breezed through it in less than a day. Self-doubt creeps in — maybe you’re just not good enough.

But you’re not one to give up easily. With the deadline looming at the end of the week, you push through, fueled by the burning desire to land that dream job. The company looks like the perfect fit, and you’re so close to proving you’re the top pick. With everything wrapped up neatly, documentation penned, and code pushed to the repository, you wait eagerly.

As activity buzzes on your repository, hope surges through you — people are pulling your code, looking at your solution. Days later, an email pings in from the recruiter:

“Thank you for your interest in our company and for taking the time to interview with us. After careful consideration, we regret to inform you that we have decided to pursue other candidates whose qualifications more closely align with our current needs. We appreciate your time and effort throughout the interview process and wish you all the best in your future endeavors.”

Sounds familiar?

The Ugly Truth

Yes, you were working for free. Nobody solved the assignment in 4 hours, and you were not that person either. No one will be hired. The company just gave out a task, recruiters found candidates, and solutions came in for free. Nobody needs to pay. These companies get away with it because they claim that “this is part of their interview process” and they sell you the idea that you were not as good as other candidates.

It’s a cycle of exploitation disguised as opportunity, leaving you feeling undervalued and powerless. But it’s time to break this cycle and demand accountability for fair and respectful hiring practices.

Time is the ultimate luxury and it is worth far more than money. So use your time wisely.

Red Flags

Before solving anything

The first thing you can do is to listen to is your gut. We usually sense if something is off, and that feeling is a good sign. We recognize a connection that is not obvious; we don’t know why, and we cannot explain it. Your gut knows best. If it doesn’t feel right, well, chances are high that it won’t feel right later either.

Does the job description look too generic and too vague? Does it lack clear responsibilities? This alone might not be enough but in combination with other points from this text is makes a stronger case.

Are there too many rounds of interviews? Do you get quality feedback after each round? Are there any surprise rounds the recruiter “forgot” to mention?

The company is always looking for talent but seems to hire no one?

Look for high turnover rate because it instantly shows instability. It is never good when people come and go from a company. Why would your case be special? Is it worth wasting your time?

Stalk the company for a bit: Google the company, the recruiter, the tech lead, everyone you interact with. Check LinkedIn, Glassdoor, Reddit, anything you can find.

Read the assignment carefully

A very short deadline is a good indicator that you are about to be exploited (see my example).

Give the assignment to Gemini or ChatGPT right away. Ask them for an estimate for the minimalist solution. If they say it’s not solvable within the timeframe given by the recruiter, that’s a definite red flag.

If you decide to read through it and find the scope excessive or the instructions unclear or vague, don’t think it’s because they want you to express yourself or showcase different solutions to see who shines best.

Hold Them Accountable!

The first thing you can always do is raising awareness as soon as possible to help your peers. Spread the word to others on LinkedIn, Glassdoor and similar platforms.

Find other people with similar experience with the same company or companies.

Ask the recruiter if the position was filled.

Document the process. If you are sure that you were exploited, report the company to local authorities.

Send an invoice to the company. The best case scenario is that you get your money. The worst case scenario is that they will be a bit annoyed.

Final Thoughts

It is disheartening that some companies exploit our vulnerabilities in pursuit of free labor. We should start recognizing our own worth and stand up against such practices. We can start setting boundaries and demanding respect for our time and skills.

Remember, this is not charity — it’s about fair treatment.

By spreading the word and collectively refusing to participate in exploitative practices, we pave the way for a future where candidates are treated fairly.

Only together we can build a culture of accountability and mutual respect.

--

--

BatCat
BatCat

Written by BatCat

My mission is to share some of the solutions I find during my journey as a data engineer. I mostly write about PostgreSQL and Python.

No responses yet