6 ms·
For engineers without open source contributions, why not give a coding project? It seems to me like there's no need to eat into the person's working time, spend
by andreyf 12y ago
For engineers without open source contributions, why not give a coding project? It seems to me like there's no need to eat into the person's working time, spending a few hours solving an interesting problem shouldn't deter people you want hire to code all day, and the signals you'll get are orthogonal to what you'll be able to assess in person.
- jmartinpetersen 12y agoBecause you want to minimize friction. They already have a job so they don't really need you. You want them to want you, and making them jump through your hoops (one way or the other) is alienating.
- andreyf 12y agoNah, you want to minimize friction for the people you want to hire and maximize it for people you don't want to hire. Even without the evaluation signal coding exercises give you (one could argue that it's hard to make it representative of actual work), I think there is a correlation between someone who will spend a couple hours working on a coding problem to demonstrate their skill and the kind of person you want to hire.
- pandaman 12y agoThis is a question of hiring people who already have a job. Would you spend few hours solving an interesting problem while being gainfully employed and, hopefully, having interesting problems of your own? Honest question. I, for one, would not.
- andreyf 12y agoAbsolutely, for a company that I want to work with. For companies that I'm not super excited about, I politely decline-for-now. Seems to me like that saves everyone tons of time. Do you really want to hire someone that doesn't want to be there enough to spend a couple of hours coding for you and doesn't have open source code to evaluate them on?
- pandaman 12y agoIf a company approaches me there are probably some reasons for that. Because asking random people to prove how much they want to work for this particular company does not seem to be a very productive approach to me. You can post a job ad and get all the people who are supper excited to self select and then you can have your time making them to jump through whatever hoops you want. With somebody who expressed enough interest to answer the recruiter (in broad sense) you are not guaranteed to have a super excited candidate. Making him or her jump through the hoops will most likely terminate this and any future contacts.
- andreyf 12y ago> If a company approaches me there are probably some reasons for that. Because asking random people to prove how much they want to work for this particular company does not seem to be a very productive approach to me. Why not? Make it a test that is easy to score and then finding people who do well on it and are interested in working for you is rather high, no?
- pandaman 12y agoIt takes time and effort to get somebody who is not looking for a job to talk to you. It's going to cost a lot of money to hire anybody with a random approach. As far as I know, even Google or Apple cannot afford this - every time their recruiters contacted me it was about a job in alignment with my qualifications.
- vonmoltke 12y ago> Do you really want to hire someone that doesn't want to be there enough to spend a couple of hours coding for you and doesn't have open source code to evaluate them on? I want to hire someone to do a job. That job requires a base level of competence. If they exceed that level such that I think they will bring positive value to the company I vote to hire them. I don't care about their motivation or "passion" beyond what is required to take them over that bar.
- bucky 12y agoI would! I love coding exercises meant to gain information about a candidate; they're like yardsticks for my professional growth. I love evaluating how I solve a problem now vs how I would have solved it while interviewing for the job I'm leaving. I also just enjoy solving problems. To me, doing a coding exercise is like doing a Tuesday crossword puzzle (they're never hard enough to be stressful) that I get to show off: Look how correctly I solved this, and in ink, with no mistakes, with very well written, clear words. I don't see it as a waste of time; it's about the potential payoff, which is a (presumably) better job with better opportunities. I wouldn't apply to a job unless I was reasonably sure I wanted to work there anyway. I might be very lucky in that I've worked for good companies in the past few years and the only reason I'd leave one of these companies is for a much much better one. Usually when I leave a job, I've become bored of the problem domain anyway and am looking to solve new problems. Disclosure: 31 year old man, no kids, I live with my partner.
- volkadav 12y ago> no kids I hate to be that guy, but everything changes when you have kids. Trust me, a spare hour when you have nothing better to do than jump through some hoop for a company is an extremely rare luxury item when you've got little ones. I love solving problems too, but there aren't any technical problems as interesting as reading a book to your snuggly little human(s). :) c.f. http://blog.codinghorror.com/on-parenthood/ http://blog.codinghorror.com/on-parenthood/ (not about interviewing, but filter your thoughts about free time through the perspective that article provides...)
- pandaman 12y agoIt's about the potential payoff for me too. When I am not looking for a job (i.e. I am happy with the job I have) an offer to write some code for some company does not look very enticing. After all, if I already thought that company offers a better job, I'd been asking them for a job myself. The most I can offer in this situation is a chance to sell me on the job. On the other hand, when I am looking for a job (I am unhappy at the current job ) I go far and wide as I am applying to multiple companies. In this situation I talk to the ones that ask for interviews first, as they appear more committed, and push all the tests after the interviews. From my limited experience, by the time the interviews clear up I have at least a couple of offers on hand. Offers I can identify with people I've been talking to, the environment I've seen, the location, the projects etc. Spending several days on tests, which, at best will bring an interview, which may or may not lead to an offer, which, in its turn, may or may not be better than the offers I already have now looks like plain gamble to me. So I take the best offer instead of doing any tests.
- parados 12y agoThis is exactly what we do where I work. We send them a small problem that any competent person can solve in 15-30 mins in Python/Java/C++. It is amazing what an effective filter this is and submitted results range from fully tested code, innovative O(1) solutions down to code submitted in MS Word that gives the wrong answer. As a front line filter it is cheap, simple and revealing.
- ddebernardy 12y agoYes, and 15 min makes sense. What the parent wrote ("spending a few hours solving an interesting problem") does not.
- nodelessness 12y agoAs someone who is employed, I don't have the inclination to solve a open ended problem that somehow subjectively interests you or some individual arbitrarily in what little time I have in my life. I have other projects I could be working on, my family to give my life to. Not engage in something like this. The test problem should be small. Not a 'coding project'. It is unethical to ask for anything more.
- ddebernardy 12y agoI'm not so sure that a software engineer who doesn't have any time (because you know, family) or desire (because it's unpaid work) to spend on open source software would suddenly find it OK to spend more than short amounts of time on a company's test project -- especially if they have a job or clients or any type of regular work lined up.
- crdoconnor 12y agoI wouldn't mind being asked to create a small piece of open source software that would continue to look good on my portfolio even if the company never talked to me again. Hell, if the company wrote the project boilerplate and the tests and let me fill the code in and put it up with a GPL license, I'd be thrilled :) Won't hold my breath. I'm sick to the back teeth of most of these mini coding projects, though. They're too often sent by companies who aren't even sure they want to hire at all or wouldn't hire you anyway for some unrelated reason (age, race, etc.). The projects are always boring and almost never suitable for a portfolio. It's also too easy to hit the 'send email' button and too easy to ignore the responses. Unless there is some cost for the company sending you the mini-project, a lot are going to waste your time. For this reason, I actually prefer interviews. They're going to at least do a cursory examination and reject you outright before wasting an hour of their own time.
- drglitch 12y agoAgree on mini coding, useless projects - especially when an HR drone sends out Java test to a python dev :) Another thing to keep in mind is that for a lot of people who are already employed, permission must be obtained from current employer before contributing to open source (and more and more companies are actively enforcing that unfortunately).
- andersonvieira 12y ago> for a lot of people who are already employed, permission must be obtained from current employer before contributing to open source I am always puzzled about contract clauses that try to limit what an employee can do in their free time. I understand that some people may be in a bad situation and have no choice but to put up with it. But if we're really in a seller's market, as everyone says, how can this kind of thing become a tendency?
- drglitch 12y agoIt's actually usually not the employer, but the local dept of labor laws - for salaries employees, unless explicitly stated otherwise - your employer generally "owns" anything you do in your line of work, even on your own time. So for example if you work for a game studio, coming up with an idea for a game would auto-magically make it your employer's property, even if you did it on a sunday morning. This is further reinforced by various employer-specific clauses in the hiring contract / code of conduct. Its screwed up but its the world we live in.
- Decade 12y agoI have a limited number of hours and a lot of need for money. I would be a lot happier with these multi-hour code challenges if successful completion led to guaranteed job offer. As it is, they disproportionately waste my time, for the amount of care the recruiter puts on the rejection.
- sheepmullet 12y agoOr if they offered 30-50% above market if you aced their tests.
- hidro 12y agoI strongly prefer this approach, as long as the project is interesting enough to attract engineers, and allows you to assert the aspects you want to see in them. The coding project we give to candidates is to implement an open source Hacker News client. If it were me I won't mind doing one and put it on my portfolio (which I did), regardless of whether I pass the interview.
- hvs 12y agoIf you are asking someone to develop something for "a few hours" on their own time, you should be willing to pay them for it. Companies regularly pay recruiters 30% of the first year salary for candidates, companies should be willing to pay a few hundred dollars to someone that they are asking to dedicate a significant chunk of time for the "honor" of developing code for them.
- jghn 12y agoDo you also ask that they pay you for the time spent on site during an interview? It's possible that these projects are replacing on site time. FWIW we have a coding project but it's part (a large part) of the on site and really just replaces the whiteboarding and such. Candidates are not asked to code on the fly in ither sessions
- aswanson 12y agoNo, but lunch at a good nearby restaurant paid for by the interviewer is a considerate offering. If the level of interest is high enough that man-day or more project submittal is asked of the candidate, at least put some skin in the game along with candidate in terms of time. Time is money. "The only thing I have in this life is time, and you are wasting it." -Andy Grove
- jghn 12y agoI'd argue that having several people on the company's side - both in person and prep work is skin in the game. I've fought a fairly arduous battle in my company where we spend a lot of time reviewing code samples, resumes, pre-interview discussions and then the actual interviews. All told it's far more person-hours than the candidate is spending. That said, that's exactly how I think the dynamic should be
- hvs 12y agoI don't think the fact that you have a lot of people spending time on an interview is any sort of "payment" for the interviewee. That's an investment in the company. The interviewee gets nothing out of it (unless they are the one person that is hired). For what it's worth, I'm not talking about the 2-4 hours an interviewee spends on-site. I'm talking about the additional 4-8 hours some companies expect interviewees to spend doing coding projects or time spent on-site above and beyond 2-4 hours.
- macspoofing 12y agoIf you're interviewing 10 people for 1 position, you've just wasted 9 people's time. Maybe a smaller problem that takes a few minutes, but not hours.
- JoeAltmaier 12y agoThat's what the resume is for, including a code resume. No, I'm not going to work a day for free for you.