I do not take programming tests or projects for interviews. They are a waste of my time – not the companies time, my time. These test and projects, in my mind, produce nothing but the possibility of passing one of the hiring hurdles. Sometimes it may be necessary, but most of the time not at all, it tells me this place has either had some bad experiences, or just goes by a book and the book drives away talent.
Waste of Time
At times I've been asked to give a weekend, and even absurd week-long projects to prove my ability. No, I don't spend time I cannot get back in hopes of potentially getting work, which is no guarantee.
Imagine if you had a doctor about to help an injury at the ER and you required him or her to prove their ability, I haven't seen it happen and I think it'd be crazy. Likewise, your skills, portfolio, credentials should speak for themselves the same way a doctor gives no explanation to help his client simply by standing in a hospital in a uniform. I doubt many of us have ever seen an ER doctors diploma, nor do we care. We care about a problem getting fixed - and this is the same reason a company is out to hire.
It's Not a Major Problem
I don't think this is a big problem as only around 25% of companies seem to ask this, in my experience. In such the case it's a default pass and time to look somewhere else. Perhaps they didn't read my resume, or they don't believe me - that's fine, they are trying to be smart about who they take on but I value my time and will not do mini projects and/or tests that as far as I know (and have read time to time) could just be doing parts of that companies work for them, for free. That is less likely but it happens.
It's Company and Personal Time
It's not all about the company time, it's about your time as well. So you both spent time by interviewing/talking to each other. The business owner may be biased, you or I may be biased, but it cost everyone the same thing: Time, which is not refundable. I wouldn't waste a companies time and hope they wouldn't waste mine.
Remember, as much job searching you do a company is likely doing the same for a candidate. Never feel guilty about refusing to jump through hoops, otherwise a counter balance would be in order to send that company possibly interested some form of project or test for you.
This is not conventional advice and it may not be great advice, but who made up the rules and why must we play by them? You don't have to. This is not for some secret virtuous cause, it's only if you believe your time is really worth it or the gamble of landing this job is worth it. I don't gamble.
Interviews, What Really Matters
This is my opinion over the years. To get a job working for someone else I break it down into two very simple pieces. There are more but generally the top two are the following:
- Can I work with this person? (Your personality, first impression)
- Can this person do the work we need to do? (Your CV/Resume, Knowledge, etc.)
After that if you pass the big two, it's a basic pay negotiation. This isn't about pay though. An interview is more about #1 than #2 I think. It doesn't make a lot of sense, but it's more important the people you get along with like you, you can work together and learn together.
The second, if you don't have all the skills is often fine if you have some sort of start because by passing the first you'll be able to learn off the others and they'll be happy working with you. No company wants drama or problems, so #1 must come first.