Live data from Hacker News

Enough with the Programming Puzzles

linkedin.com

51–60 of 76 posts

Re: Enough with the Programming Puzzles

#51

Earlier quoted context omitted.

It seems that other professions have solved this. Nobody is asking lawyers to run a trial on a whiteboard or solve a whodunit mystery in 2 hours. And I don't think that licensing process for lawyers guarantees anything other than the right to practice law (there are pretty bad licensed lawyers out there). Do construction workers draw diagrams of installing drywall in their hiring process? Do plumbers get challenged w…

In those other jobs get hired a lot : 1 - by social networking; 2 - on diploma. For 1, The problem is, programmers will be recruited either by: - non programmers. And dev will likely not be found in the same social circles than those people; - programmers. Which tend to use a technical solution to all problems. For 2, we all know now that you got as many good and bad dev, no matter the diploma, so people have given u…

When I freelance, they just ask if I can get the job done.

When I get hired, they want me to do dumb tests.

The only difference for them is that they can stop paying me right away when I freelance, but when I'm an employee they have to pay me for at least 2 weeks to go (at least in Germany were we have 6 months probation time on new jobs, where you can be fired easily)

I made many people I worked for happy, but many people who gave me tests wouldn't even consider me as employee.

I don't know if I would have been a bad employee for the testing-companies, but I never had issues with employers or customers who hired me, so I have the feeling the companies who didn't hire me were missing out.

Re: Enough with the Programming Puzzles

#52
post #16

If you want to find out if a programmer can actually do the job, then it seems to me that the way forward is to have them do something that actually resembles the job. In the high-end cooking world, it's not uncommon to do one of two things when looking to hire a new cook: 1) Make me a dish. Present the chef with the kitchen, and possibly a specific main ingredient(s), and have them make the best dish they can with t…

One problem with "take on people for a trial period" is that it's more risky for the candidate too. If you happen to be unemployed then doing a trial-work-period is obviously an improvement on not working at all, but otherwise I'm going to be reluctant to quit my current job for an "after a couple of months we may say sorry, didn't work out" setup. (That's different from the current standard '3-6 months is a probationary period' because right now the assumption is that unless you actually screw up you get the job, so it's not an in-practice risk for a competent employee. With a more definite "trial period" approach the employer is going to be more likely to say 'no' at the end -- otherwise the "pick who to trial" question is still just as high-stakes as "who do we hire" was and they haven't gained anything from the change.)

Re: Enough with the Programming Puzzles

#53
post #52
post #16

If you want to find out if a programmer can actually do the job, then it seems to me that the way forward is to have them do something that actually resembles the job. In the high-end cooking world, it's not uncommon to do one of two things when looking to hire a new cook: 1) Make me a dish. Present the chef with the kitchen, and possibly a specific main ingredient(s), and have them make the best dish they can with t…

One problem with "take on people for a trial period" is that it's more risky for the candidate too. If you happen to be unemployed then doing a trial-work-period is obviously an improvement on not working at all, but otherwise I'm going to be reluctant to quit my current job for an "after a couple of months we may say sorry, didn't work out" setup. (That's different from the current standard '3-6 months is a probatio…

That's a good point, and one I didn't think about. Cooking is, on the whole, a much more unstable industry in terms of work experience and generally the kinds of restaurants that even do a stage are the kinds it's even worth taking the risk on even if you are employed.

One possible solution might be to make it a remote contract. "Work on this bug/commit/sample project at your leisure, commit by no later X date". Then moonlighting applicants or even just people who don't want to risk being off the search during the trial period can still participate on the same playing field, though they would potentially still be disadvantaged compared to unemployed applicants. I don't think though that a little bias there is entirely a bad idea personally, though you could possibly argue the merits either way.

Re: Enough with the Programming Puzzles

#54

Earlier quoted context omitted.

It seems that other professions have solved this. Nobody is asking lawyers to run a trial on a whiteboard or solve a whodunit mystery in 2 hours. And I don't think that licensing process for lawyers guarantees anything other than the right to practice law (there are pretty bad licensed lawyers out there). Do construction workers draw diagrams of installing drywall in their hiring process? Do plumbers get challenged w…

Actually, many firms do set puzzles, normally by asking the candidate to create a brief based on materials provided. It takes far more than a couple hours. Bar exams, depending on where you are, also sometimes incorporate this sort of thing.

The California bar exam includes two separate performance tests of (IIRC) two- to three hours each. You're given a packet of "facts" and legal-reference materials. Your assignment is to write a motion for a court case; a memo to the client; etc. (Starting in July 2017 it'll be cut to one performance test of 90 minutes [0].)

[0] http://abovethelaw.com/2015/07/california-bar-exam-cut-from-...

Re: Enough with the Programming Puzzles

#55
post #9

Us, software engineers, start to sound like spoiled kids when it comes to interviewing. We don't like writing code on the whiteboard, we don't like mind teasers, we don't like programming puzzles, and so on. We complain about everything. Well, hiring is a difficult problem, and nobody has a universal solution yet. But the truth is that if I want to get a job, I will need eat the humble pie and get out there and try t…

We realize that all these exercises are pretty pointless an unrelated to the work we are doing. Is that really acting like a spoiled kid?

Re: Enough with the Programming Puzzles

#56

I'm actually in the middle of a bunch of interviews right now. The most ridiculous interview process I encountered so far was one that was supposed to be 7 (!!) steps long (that usually takes 3-4 weeks by their own estimates), beginning with a 45 minute HackerRank challenge, then a technical project that was said to take 2-5 hours on average (but the time given was a whole week, so I have my doubts about that estimat…

You dismiss this as "esoteric", but that's the whole point, the purpose of a puzzle like this is for you to be unable to map it to something you've done previously or to something you learned in school, and instead to force you to invent an algorithm on your own.

It is the opposite of what the author of the article complains about - "academic", "targeted at cs grads" - it goes against that. It is an attempt to test problem-solving ability by removing knowledge from the equation. Knowledge can then be tested separately. Fresh CS grads are not going to do better on this problem than a guy who graduated 10 years ago.

In fact, this is the kind of problem given to children (who can't be expected to have CS knowledge, and you don't want to give a big advantage to those who happen to have some) in programming competitions. I would put the difficulty at either easy problem for high schoolers or difficult problem for elementary schoolers (this doesn't mean it's super-easy, these problems have to be relatively hard or the smartest kids would all solve everything).

I am not sure why so many developers dismiss the value of this and are in fact often actively hostile to any suggestion that it might be ONE of the indicators of programming ability.

I do agree that the time constraint was probably too strict and favors people who've solved stuff like this before, mainly due to them knowing they should try to solve this with a pen and paper or in their head, then just code the solution once they've found it. Trial and error through code is a huge waste of time and this was probably your problem.

Re: Enough with the Programming Puzzles

#57

Isn't it difficult to reject these puzzles on principle without sounding either bitter or like you simply can't solve them? I can't imagine a single case where this is going to cause a potential employer to re examine these exercises. They'll simply chock you up to being unqualified. I reckon most jobs simply require you to not be a knob for an hour while someone asks you tricky questions about your worst behaviors.…

Well, I guess you could start your own company. You could even hire anyone who comes in the door claiming to be able to code, although what you'll do with a dozen people who can't even FizzBuzz is beyond me.

Re: Enough with the Programming Puzzles

#58
post #50
post #5

Surely there's a middle-ground between puzzles designed to trip you up, and puzzles designed to show you have some baseline chops. There's a lot of people who can't walk their talk. At one place I work at, we're trying to get some senior-level PHP devs... and we're getting some applicants that can't even conceptually do FizzBuzz...

Its not usually that difficult to work out if people know what they are talking about.

Some people are really good at bullshitting their way through stuff. You need to make them actually do stuff to discover they flounder.

And since you can't have them do anything meaningful in an interview (there isn't enough time), anything you ask them to do will be a silly "programming puzzle".

Re: Enough with the Programming Puzzles

#59

So I guess we know the answer to the "How would you react if assigned a task you didn't enjoy?" question. A: Rather than spend two hours getting the job done, an hour is spent doing a write-up on why the task wasn't done. A job, any job, will involve thousands of hours with at least a few hundred of them on tasks you really do not appreciate. A candidate not willing to suffer for a couple hours during the interview p…

> A job, any job, will involve thousands of hours with at least a few hundred of them on tasks you really do not appreciate. But you get paid to do those tasks. And remember that those 2 hours are an estimate, which means it'll probably take longer. Then multiply that by the number of interviews you have and you can quickly see why it becomes unfair rather than 'lazy'.

Sometimes you have to work on spec.

Re: Enough with the Programming Puzzles

#60

Earlier quoted context omitted.

Well, Laszlo Bock claims Google looked at the data and found zero correlation between having a degree from a well respected university and being useful at Google http://mobile.nytimes.com/2014/02/23/opinion/sunday/friedman... So no, using a degree isn't useful for hiring engineers apparently

That's pretty weird though. Is using a degree useful for hiring medical doctors, mechanical engineers, actuaries? It's really hard to believe that only Computer Science as a field has a problem where it's churning out people who are technically incapable of programming to such a degree that you need to explicitly test them in interviews through "puzzles".

Maybe they all have that problem and no one has ever bother to actually check the data?

I know for me and interviewing programmers my personal experience is the degree doesn't matter. I've met plenty of degreed "engineers" who couldn't program for shit from schools like MIT and Harvard. I've also met some amazing programmers from those same places. I don't know what make the difference except possible love of the activity. Not sure how to asses that in an interview or whether it correlates better with outcomes.

Post reply on HN