8 ms·
Every time this comes up on HN we see why the problem is so hard to solve: - Nobody likes whiteboarding - Take-home assignments are unpaid work, and candidate
by twblalock 7y ago
Every time this comes up on HN we see why the problem is so hard to solve:
- Nobody likes whiteboarding
- Take-home assignments are unpaid work, and candidates who are raising children don't have time to do homework after they get home from work
- Pair programming during interviews makes people uncomfortable because of the pace or because it's not how they are used to working
- People who currently have good jobs are unwilling to consider contract-to-hire or "tryout" periods
- Credentials, including graduate degrees, are no guarantee that someone is a good engineer
The current interviewing situation in the industry sucks but all of the alternatives are worse in important ways.
- shados 7y agoIf we could just accept that not all companies should cater to everyone, and each can pick their methods that work for them (and if you don't like it as an applicant, go elsewhere), things would be a bit simpler. When Im looking for a job, I make it pretty clear what Im ok and not ok with, which will dictate which companies Ill interview at or not. If we were in a dotcom crash it would be a different story, but right now its definitely something people can do.
- SQueeeeeL 7y ago"- Credentials, including graduate degrees, are no guarantee that someone is a good engineer" Too true, I've started to recruit non-CS people and teaching them how to code. The state of CS education in the US is insanely inconsistent. But I'm lucky, I have lots of time to train people; most companies can't handle months of startup time.
- somatic 7y agoWant to hire me? I’m a reasonably competent programmer already, pretty good designer. Most recently I wanted to familiarize myself with the basics of C++ so I wrote my own big integer library.
- curtis 7y agoI'm OK with whiteboarding. I don't object to take-home assignments in principal, but I do object to them in practice -- they take up way too much time, and then part of the time you get ghosted after submitting them. I think the right answer here, to the extent that there is a right answer, is to give applicants a choice.
- jschwartzi 7y agoThe only time I've ever told a recruiter off was when I was asked to "spend about a half an hour to write a solution for [problem]" for Microsoft and it turned out to take about that long for me to set Visual Studio up on my laptop at home, and then an equal amount of time to figure out how to navigate the project files, etc. etc. and I could see that the interviewer A) had not given this any thought and B) had no idea how long this would actually take for someone who doesn't develop software at home.
- seanmcdirmid 7y agoThat was assuming you even had a Windows laptop to set VS on. I know a lot of people have to say no these days since they just have a MBP running OS X.
- cr0sh 7y ago> I know a lot of people have to say no these days since they just have a MBP running OS X. That's where the person who knows how to set up a VirtualBox VM running Windows and VS would have a large advantage; when they brought in the result, showing their MBP running VS in a virtualized manner, and explained what they had to do - that's a bit more of an impression than someone who says "they can't do it because MBP".
- seanmcdirmid 7y agoYou can actually run Windows just fine on a mac using bootcamp. The big problem is just getting a legit Windows license, and then the hurdle is just a few hundred bucks (or whatever a non-OEM non-upgrade license costs these days). Also, I'm nowhere near ops jobs, so I don't think those people interviewing me would care much about those kind of logistics (anyways, they wouldn't want to know the details). It wouldn't score any "points" beyond just getting the task done at all.
- tempsolution 7y ago> Nobody likes whiteboarding That's why companies should allow laptops. > Take-home assignments are unpaid work True, they could be optional. You may not get the job if you don't do it. Honestly, if you can't spend one or two hours on a take home assignment during a 7 day period, you certainly have different problems than applying at this company. > Pair programming during interviews makes people uncomfortable I agree, pair programming during an interview is mostly a no go. Not because of the issues you mentioned but because most interviewers are totally unqualified to do this properly (unfortunately, most interviewers are also unqualified in general to conduct interviews). It takes a lot of skill to conduct pair programming interviews and draw the correct conclusions. > People who currently have good jobs are unwilling to consider contract-to-hire In US, there is practically no difference between those three. You can be fired any day anyway. But yes, if you have a secure job that is good, the bar for switching is high, but so what? Why even switch? It's your choice then... Luxury problem! > Credentials, including graduate degrees, are no guarantee that someone is a good engineer I would go as far as saying your credentials and degrees are horrendously irrelevant in predicting your skills as an engineer. The only thing you might be able to conclude is that a GPA 4 M.I.T. graduate probably can pick up missing knowledge quickly, as opposed to a no degree dish washer who learned "how to code" in a 6 week bootcamp. On that note I have experienced first hand, Berkeley and Georgia Tech CS majors, who were absolutely incompetent on the job and just had no idea what the hell they were doing, with little improvement in sight...
- jedberg 7y ago> Honestly, if you can't spend one or two hours on a take home assignment during a 7 day period, you certainly have different problems than applying at this company. That's an extremely privileged thing to say. And what a terrible way to start out your working relationship. The very first thing you ask of me is to do unpaid work in my free time? IF you're willing to do that, how else will abuse me in the future? Also, why should they spend time on your homework before they know if you're a company they would even want to work for?
- gjm11 7y agoI mostly agree, but attending any interview is also doing unpaid work in your free time, and often takes a comparable amount of time to the sort of take-home assignments used for recruiting. I think the reason why take-home assignments tend to feel more unreasonable is the asymmetry. If I attend an interview, it's costing a pile of my time, but it's also costing a similar pile of time for multiple people at the company where I'm interviewing, which gives me some reason to think that my application's going to be considered seriously and therefore that the effort I'm putting in isn't going to be totally wasted. Whereas a company can hand out a take-home assignment with no effort at all, so the fact that I've been given one doesn't indicate that the prospective employer sees me as a serious prospect or that there aren't hundreds of other candidates in the same position as me, so it's no guarantee that my chances of getting hired aren't miserably low, so there's more risk that I'm wasting my time.
- chillacy 7y agoMaybe this is the triplebyte business play, you come up with your own credentialing and companies pay you to access a high-signal talent pool.
- zerr 7y agoWhy do you think that the paid take-home task which is related to the job (i.e. not leetcode riddle) is worse compared to what you've listed?
- draw_down 7y agoPaying doesn’t really change the dynamic very much. If the issue is that people don’t have a bunch of time to do the problem, paying them a few bucks doesn’t really address that.
- paxys 7y agoEven small-mid size companies can see thousands of applicants for a single position. You cannot pay every one of them at market rates for even a day of work without an unlimited recruiting budget.
- rzzzt 7y agoBut if they are not solving riddles, those candidates could do (good or bad) _actual work_ for you. Why not reward them the same way?
- paxys 7y agoThe code you write for these take-home tests will be evaluated and thrown away. It isn't actually making its way into a product or feature the company releases.
- raverbashing 7y agoI have to say that from all of those, the least annoying has been the pair programming. But to be fair the problems were not too hard, the interview was set-up properly (problem files on place and a good code editor at hand, no tricks or gotchas) And the worse of course is having to write fizzbuzz in a whiteboard, I just have to roll my eyes then
- lacker 7y agoNobody likes whiteboarding Honestly, I really like whiteboarding. I liked doing programming contests too, which are like whiteboarding except harder and you spend more time at them. There are times when I have gotten together with other like-minded software engineers and given each other whiteboard programming problems for fun. (Also to test whether problems are good interview problems.) A lot of people like whiteboarding problems and like interviewing with whiteboarding problems. Those are usually also the people who pass whiteboarding interviews. Just because there are a lot of complaints about them, don't assume that represents everyone.
- cwp 7y agoI like whiteboarding too. It's stupid to expect people to write syntactically correct code on a whiteboard, but totally reasonably to use it to discuss a problem. I mean, that's why we have whiteboards in our offices in the first place, right?
- mercutio2 7y agoPeople who participated in ACM competitions is my (now no longer secret) secret weapon when forced to filter thousands of resumes. It’s probably the most strongly correlated with liking and being able to do the job signal I’ve ever seen.
- codeisawesome 7y agoWould you say the same about Google CodeJam? Some people didn’t have the chance to go to college...
- mercutio2 7y agoProbably not, no. First, you’re not going to get your resume in front of me without a college degree, CS degree or equivalent experience is a bar that recruiters apply well before I’m involved. But as far as I can tell, Google CodeJam is an individual sport (I may be mistaken about that, but Google’s page won’t load in my browser, so I could only read the Wikipedia page about it). The key thing about the ACM contest is it requires BOTH effective cooperation with a teammate AND the desire to solve programming puzzles. Now, just to be clear, I’ve fired people who passed this bar; being a smart puzzle solver who’s social enough to collaborate is a great start, but it turns out lots of people just aren’t interested in shipping software. I still think ACM team participation is a strong signal, it just doesn’t cover the fact that being an adult means 90% of every job is boring, and not everyone is ready to do the boring stuff when they’re fresh out of college.
- commandlinefan 7y ago> Credentials, including graduate degrees Some people even suggest that advanced degrees are an anti-indicator of ability: http://blog.alinelerner.com/how-different-is-a-b-s-in-computer-science-from-a-m-s-in-computer-science-when-it-comes-to-recruiting/ http://blog.alinelerner.com/how-different-is-a-b-s-in-comput...
- seanmcdirmid 7y agoThey are also indicators of over qualification; e.g. will that PhD from CMU really be that interested in working on your CRUD app, will they find the work fulfilling enough to hang around? And mostly they aren't wrong.
- artichokeheart 7y agoCandidates should just be given a horrible, undocumented, broken piece of legacy code and asked to fix it. Select the person who comes up with the quickest solution. That's who you want on your team when you find out there's a production issue at 4:30pm on a Friday afternoon.
- Washuu 7y agoI would love this kind of interview. This basically describes my job.
- collyw 7y agoThe best interview experience I had was when I was asked to bring in my laptop with some code. I had a very unfinished side project, so I talked the guy through it, he asked questions then asked me to add a simple feature. It didn't take a huge investment of my time, its code that I am familiar with, so no nerves problems, no clever algorithmic stuff.
- tomjen3 7y agoThe real solution is to allow me create a portfolio of work, which would be a total of about 100 hours and then let me use that _everywhere_. I have easily spent 5k hours getting the degree, the 100 hours over the ears it took to do that isn't a big deal. We could even have some sort of offical stamp that "this guy can code". Doing 10 hours of work to apply for every random "we make another business PHP/crud website" company is not worth it. Your company isn't Google, don't interview like it is. I am not going to write custom code for you, but I am willing to flash my credentials.