Sure, you can use side projects to complement other data, but if you're relying on it as the primary measure of a candidate's programming skill, you're doing it wrong.
Sure, you can use side projects to complement other data, but if you're relying on it as the primary measure of a candidate's programming skill, you're doing it wrong.
Unless you're an awesome company, with really cool projects and offering me a jaw dropping salary and benefits, then no, I'm not going to do free work for you. Even if you are an awesome company, people probably have to actually work for you to see that, so no, I'm not going to do free work for you.
I'd rather spend those hours doing work that I expose on GitHub.
> in-person assignment where they have several hours to complete a smallish design-and-build task
That's another proxy that's as useful (or as useless) as a coding exercise.
Our industry could follow after the restaurant industry and implement stages/trialing. You come in and work a full day. If you get the job that days pay shows up on your first paycheck, if not they send you out the door with a check.
I think most companies just don't want to take the time to set this kind of thing up. Easier to just pass on people that won't do the requisite song and dance.
Also I've had many dev interns at my company, it takes work on my end to enable them to be productive quickly, but it's not impossible. Maybe you need to write some skeleton code for them to fill out and unit test, maybe you need to document things well and spilt up your tasks well, but you absolutely can have some one come in and be productive day one.
In fact my interview was a college hire group interview, we were given a laptop with skeleton code in multiple languages, a problem to solve with fixed inputs. The problems were similar to what you'd likely encounter for whiteboard coding, except I got to be left alone with a computer, the internet, and my editor of choice to write actual code to solve the problem.
It's probably the best phone screen/coding assignment experience I've ever had. No pressure from someone looking over your shoulder, but limited in time and scope, so I didn't spend all day working on it.
In fact, we just hired someone who did that, and her assignment came back better than expected. At first we were so-so on her due to potential lack of experience, but the assignment (and her projects on her personal site) showed us were wrong.
Ha, but seriously, I hate take home assignments.
This is almost entirely the point of take home assignments. In fact, this is almost word for word what my response would be to anyone who doesn't like take home assignments!
> Thanks for admitting that, the first step is accepting you are no good at evaluating people.
Step two is admitting that, in general, evaluating people using non-empirical means is an enterprise fraught with peril.
Was it paid? If not, then it's free work. Call it whatever you want, in my experience the people talking about passion the most are those that are just looking to pay the least they possibly can.
Until we have established a name (track record) for ourselves, and/or have a number of respected people vouch for us, we are called on to demonstrate our skills, just as musicians and actors are.
In principle, I think this is reasonable, especially since there are reportedly many fakers and exaggerators applying for jobs.
In practice, it appears that there are so many shoddy auditions that we must endure when looking for a job, that it becomes almost a full-time waste of time. This is unreasonable, methinks.
The problem will become serious when nearly every company that is hiring runs a low-quality dog and pony show in which we must perform, or not be hired. We can already see an analogous issue in the ubiquitous presence of objectionable binding mandatory arbitration clauses in seemingly every contract we sign nowadays.
"Well do you have any recordings you can show me instead?" "No, I do other things with my free time. I don't work outside of work."
If the musician is any good compared to the people they've already auditioned, many times you won't play another song. The band will hire you on the spot.
I think I prefer the coding test.
The homeworks are mainly a time saving device on one hand, where they replace an hour of phone screen time for an engineer with hopefully less than 30 minutes of grading. For the candidate, they may take a couple of hours instead of 1, but they also allow for a more relaxed setting with use of IDEs, Google, etc. and no interviewer watching the typing and tapping their foot.
I've gotten complaints from companies where I've done homework assignments for interviews that it didn't seem like I put enough effort in and my reply has always been that I get payed good money to do this stuff at work, they're getting the left over hours in the evening when I'm of course not performing at my peak. If they want work-level quality they should pay me for the assignment.
A few weeks later I came onsite for in-person interview. I brought up the assignment and was able to use it to show my interest and capability of quickly learning and putting something to use. I really believe it worked to my advantage.
If the assignment were to implement something very specific I would not have done it. In my case the assignment was so completely open-ended and was able to convince myself that it wasn't a 'work for free' situation.
It's kinda funny that so many people have this attitude, when, as a salaried employee, we likely have all done more than a standard 40-hour work week on occasion (or habitually), without extra compensation.
Do you also consider time spent prepping for an interview (brushing up on algorithms, learning about the company, researching interview questions, whatever) as "doing free work"?
I just really don't get this attitude. It's not "work", it's a evaluation. And it's an evaluation that actually displays skills relevant to the job, unlike many other approaches.
My current employer, when hiring me, said "Have you ever looked at the Firefox codebase? No? Good. Here, take this Firefox bug. Fix it by Monday, or at least analyze the root cause, and let's talk about it during the interview".
Needless to say, they had no interest in Firefox per se. It was just a cool open-source project, and a good way to give me "actual work" while making it plainly obvious that it wasn't for their own benefit/ they weren't looking for "free code via tech interviews"
After I submitted my solution though, the company came back to me and said that they had received a lot of submissions and would not move forward with my candidacy. This made me intensely angry as I had spent an entire evening coding up the solution.
To add insult to injury, they even asked me to remove the solution from Github where I had posted it (I had not posted the question so it wouldn't really make sense to someone just glancing at it). At that point I stopped all communication with said company.