Your time is valuable and shouldn't be taken for granted. Let me say that again for the people in the back: your time is valuable and shouldn't be taken for granted. Time is the most precious commodity we have as human beings, so never waste that time on free "spec" work. It's never worth it. Ever.

I've had up-and-coming designers reach out to me multiple times and ask specifically about completing spec work or "challenges" presented by hiring staff. My first question is normally, "Are they paying you for it?". If the answer is no, then I tell these individuals to move on. The company and the role is not worth their time.

There are plenty of companies that respect the hiring process and will pay you for your time. Good on them. These are the places that you should be striving to work with/for. Avoid those who don't. If they don't respect your time before they even consider hiring you, what makes you think they'll respect it once you're on the team?

Never?

Never. If a company or individual is considering you for a role, so much so that they are interested in seeing how you would work with them directly, they need to pay you. These companies (large or small) would laugh at the concept of doing something free for you. Why is their time respected but yours isn't?

Asking for Free Spec Work? Stop.

If you're implementing these practices at your place of business, then you're part of the problem. Maybe you need a more robust candidate review process, so those interviewees you are willing to pay for "code challenges" or spec work are more finely tuned. Maybe you just need to re-evaluate how much you value the workers you're looking to hire.

The software world is a strange beast where we have adapted this "work for free before we think about paying you". Imagine implementing this system for something like a plumber?

"Hey, could you install this new sink for me - for free? Then, if I think you did a good job, I can start to pay you for other work around my house?"

Good luck with that.

Be Confident

This post is mostly targeted to new designers and developers, but can certainly still apply to those with years of experience under their belts. I've been guilty of doing free spec work years ago when I was first starting out (my grey hairs are showing...) and it never paid off. Literally and figuratively. Learn through my own mistakes and just walk away from people asking you to work for free.

No matter what you think about your skill level or real-world experience, you need to have at least a bare-minimum standard for yourself:

Never work for free -- Unless you choose to work for free on something like a personal or open source project. That is obviously a different situation!