Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm going through the interview process this week at two different companies. One of the companies I found through an ad on Stack Overflow whereby they publish two programming "exercises/puzzles" with the opportunity to earn $100 for a correct answer to each puzzle ($200 total for two correct answers). While I spent more than eight hours on both puzzles, I found them to be thought provoking and I learned stuff in the process so I don't feel like I wasted any time and I got a check in the mail for $200. My code was reviewed by their dev staff so they had immediate feedback on my programming ability and high confidence to bring me in for an on-site interview. I like this process and consider it worthwhile.


What these companies have successfully done is weed out all the great devs who value their time very much. Those who are desperate for a job will spend the 8hrs it takes on these silly tests and make it thru the process. Good developers who can take their choice of jobs will just ignore these companies who think they are being clever to require a test, and just move to some other company what is not showing signs that they will be a pain in the ass to work for. IMO, the more difficult the interview process, the more of a pain in the ass the company is going to be once you're hired. If an interviewer is not capable of determining my knowledge level by a normal interview that tells me right away something up, and I probably don't want to work with them because they aren't too smart themselves.


So you basically dismissed all of Google, Microsoft, Facebook, Amazon - all of them. Because, guess what, they all want you coding, sometimes on a computer, sometimes on a white board.

And no, they can't determine how awesome you are based on a normal interview process. Nobody can.

I've interviewed people with "20+ years of industry experience" who will swear up and down they can hack the Linux kernel but then can't reverse a string in place or write a function that determines if a word is a palindrome or not.

Having someone write some code, any code is meant to weed out those muppets. Just show me you can actually write a loop. With an 'if' statement somewhere. Please. That's all I ask. You have 15 years+ experience with SQL server? How about a simple JOIN statement? Please?

Now, companies like Google take that too far and I'm 99% positive that the day-to-day job for more than 19/20 people who work there does not involve suffix trees or reverse-printing a linked list through recursion or implementing a stack with two queues, but those are meant to shrink the pool of potential hires from the thousands to the dozens. Nobody wants to sit through a normal interview with thousands of people, better to stump most of them with idiotic, useless quiz questions and interview only a few dozen in person. I get it.

I think interviewing for software jobs is horrible everywhere, period. We just have no way to determine if someone is good or not - you can put anything on your resume and it's hard to verify and compare/contrast with other candidates.

I believe the solution is to hire someone temporarily for a few months on reduced salary/benefits (which would still be considered an amazing deal for 85% of the work force in the US) and see how they work out - can they actually produce? If so - full time, if not - bye.


"What these companies have successfully done is weed out all the great devs who value their time very much."

That's a feature. They get the good, undervalued talent early.

"If an interviewer is not capable of determining my knowledge level by a normal interview that tells me right away something up, and I probably don't want to work with them because they aren't too smart themselves."

News flash, all companies are horrible at determining knowledge level by a "normal" interview. The only ones that have a hope are those that use some sort of test or have existing work to review.


"If an interviewer is not capable of determining my knowledge level by a normal interview" -> So it turns out that mostly, no, you really can't, even though you think you can.


Good developers who can take their choice of jobs

*who are just as likely to leave for another company as soon as something better comes along?


You are implying that willingness to take a silly coding test will translate to greater company loyalty?


Ah, yes, loyalty to a company. Because a modern-day public company would never stab its employees in the back or lay them off if Wall Street was unhappy, right?


What these companies have successfully done is weed out all the great devs who value their time very much

I'm not sure I understand this. A dev who valued their time very much would already be working at a job they liked enough not to be looking. As job satisfaction declines, time opens up to work on whatever you want to call this, a technical feeler, perhaps. A dev who values their time wouldn't get snowed under by a ton of these because they wouldn't be applying willy-nilly, only to those places they want to work.


Not for those of us who have experienced the pain of terrible management and burnout caused by this. The last search I did I was also working 50 hours a week under very poor project management. I had to rule out any prospects that involved meeting with recruiters or these screens. I got a job I liked.


Not actually all that hard to understand: yes, lots of talented devs who hate wasting time have a job they like. However, N is a big number here, so your assertion on that fails.

Also, your assertion that "as job satisfaction declines, time opens up" also does not follow. Plenty of very talented people are both unsatisfied and snowed under with crap.

Finally, saying that a Dev wouldn't be snowed under because they wouldn't be applying willy-nilly would hold iff hiring practices at firms where even remotely efficient and fair.


And how did such a person learn which places they want to work if not by spending their valuable time looking at all the places they don't?


There is a selection bias here as others have noted, the exam is likely biased in favor of younger, unmarried workers, especially those without children who have 2-8+ hours to spend on top of their other commitments.

I applaud their decision to pay for correct answers, as it balances the "cost" bourne by the applicant and employer. Employers who send out tests en masse have an asymmetric advantage -- they can force many candidates to incur a cost without incurring much or any cost of their side. This causes bad behaviours.

Traditionally in interviews, companies "paid" with their time, but online exams skewed that. Paying something per correct answer at least makes them think twice before inviting hundreds to the exam that they have no real intention of ever interviewing.


To be fair, younger workers will usually have less of a professional network; older workers will usually have more of a network, and are more likely to have open source code that's reviewable.

It's all just ways to filter. If I can filter you through our mutual network, I'll do that - if I can't, open source code; if I can't, coding test.


The flip side of this is that not everyone has the luxury of that much free time to focus on puzzle-type exercises just to get a foot in the door. This process seems to select for single people with a good amount of free time, which, depending on who you ask, is possibly what they want (if e.g. frequently greater than 40hr work weeks are expected).

Edit: thinking more about this, it's good to see that it's a paid puzzle, so even if you don't get an interview, you are still compensated for your time.


I understand your concern but you are actually talking from a privileged position. Its not really that hard to take a bit of time out of your evening or weekend to do some online programming exercise - IF that is the only thing that companies want. Anecdotally speaking I had to do these types of things while working full time to pay the bills.

Having a broader perspective - its maybe only in programming that the hiring process is so much easier. For almost any other job you need the right technical skills, years of expensive schooling, unpaid internships and have done a lot of networking ( cough nepotism cough ) - its only in programming that raw skills can get you anywhere.


> its only in programming that raw skills can get you anywhere

Simply not true. Maybe there's a few exceptions, but in general, most companies (especially in tech - just check out our great diversity :|), filter based on arbitrary things like 'school', 'specific # years of technical experience', and other flavours of the day.

Example: I had an interview with Mozilla many years ago, where the first question was, I kid you not, "Are you a Javascript rockstar?". I said no (being truthful - I was naive back then), to which the reply was an immediate "Sorry - bye".


> its only in programming that raw skills can get you anywhere.

The skill of programming is more like carpentry, mechanic, heavy machinery operation, or machining. I'm not going to higher a carpenter that can't tell the difference between a hammer and a saw, and I won't find a machinist useful if they can't run a lathe.

We need to start thinking of programming as a journeyman tradecraft career.


But that is exactly the strategy of the company. They want to select applicants that are young and have enough spare time to solve these puzzles. The fact that the puzzle is paid also makes sure that the small amount of cash is enticing for the applicants (i.e., young developers).


I don't believe that to be their strategy at all. It's a small company with a few devs who don't want to waste their time on junior/mid-level candidates. It's a prescreening process on both sides (me and the employer). I'm early thirties with a wife and two kids so it's not like I have dozens of hours to dedicate to that task.


This. I like this. Other companies wondering why they cannot find good devs need to do something like this.


And realize that spending only $200 per candidate is a lot better deal than they would ever get from spammy, scummy recruiters.


After you get the job you should share the name of the company!


which company was the one offering puzzle homework ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: