skysight-inc/HackerNews huggingface dataset:
You have two steps round the wrong way:

1. Do the phone screen first. Frankly, in my experience, you can filter out a lot of people in the first minute; and

2. Then do the test.

Speaking of the test, I had a quick look and it takes time. How much time? I'm not sure as I didn't look at the starting code, just the list of tasks. Maybe it only takes 30 minutes. Maybe it might take hours. I really don't know.

Either way, these sorts of things are huge barriers to entry because, as someone looking for a job, I also have to decide on how much time to spend on you. The fact that this test is just to get to the phone screen lowers the amount of effort I'm willing to put in.

Also, you don't need terribly complicated coding problems to weed out early stage candidates. Honestly, getting someone to code a relatively efficient (at worst O(n) space and time) factorial function will tell you ~95% of what you need to know from this test if you can witness them actually doing it. Seriously. So screenshare with them and get them to do it. No editor. Just a Google doc or similar.

That all being said, I'm really shocked how woefully unqualified an awful lot of programmers are at... programming. The sort of acceptance numbers talked about here and at places like Google (disclaimer: I work for Google) are more testament to the number of clueless cowboys infect our industry than anything else.

Also, bear in mind that an interview is a two-way street. The more effort you expect from the candidate the more they need to want to work for you before they even start interviewing. Google, Facebook, Twitter and the like have this kind of developer gravitas. Do you? I don't know.

Lastly, the three month trial thing is, for me, a huge problem. After all this there's a 20% chance I might lose my job for no reason other than you may not like me?

One reason Google is so selective is we take employment seriously. Leaks and criminal offences notwithstanding, it's actually pretty hard to get fired from Google and those decisions are not made lightly. That may have some negative side effects but overall I think it's a good thing that engineers aren't constantly worried about being fired.
> but folks living in suburbs don't stop folks who like density from having it.

Yes. They do. That giant sucking sound you hear are the burbs bleeding the urban tax base dry.

Further, in my area, the burb leaders cock block anything that smells like it might help the urbans.

My city would be sparkling and new if we didn't have to subsidize the standard of living of all the deadbeats in the burbs.
It's hard to tell without asking the OP for specifics, but..

"I was recently asked to add a test suite to a service I wrote that is basically a simple wrapper that returns the result of a stored procedure call."

I interpreted this as meaning that the unit test would be for the 'service' and whatever it does with the stored procedure's result (and the arguments passed in the first place) rather than on the stored procedure itself. The reason for this interpretation was how he considered passing null values in order to exact a null response to be an acceptable test. Such a 'wrapper' might be a presenter system or simply convert data from the result to a different form, these things could be unit tested by mocking what the database returns.

If, however, he meant that the operation of the stored procedure was to be tested, then my previous post was moot.
There are probably a few exceptions. Do you honestly disagree with the sentiment?
Actually, Amazon will sometimes give out "homework" assignments after the initial phone interview usually comprising of 2-6 hours of work.
Looks like a great tool for teaching. I will introduce it in my university, just wondering how to play around with the name ;)
Am I missing something or was the linked post basically about someone of fame adding the author to its G+ circle? Very interesting.
Funny Programming Quotes
Sounds like the beginning of a beautiful hack. The keyboard-interface as I/O reminds me a lot of the similarly awesome ipod firmware dump via piezo speaker: http://web.archive.org/web/20070613032334/http://ipodlinux.o...
Does anybody know of jobs for computational scientists, programmers, and techies in these industries for people over here who wouldn't mind moving to ND for a few years?
I understand the benefit of a "trial period" for the hiring company, but for prospective hires this sounds terrible.

Is this common?
I've never actually applied for a job at Google, but going to 7 interviews (or however many it is now) seems like a lot more work than what they're asking for. I'd rather spend 30 minutes writing code than 7 hours on interviews, and either way you're going to have to answer technical questions at some point in the process.

Also, if you can't be bothered to spend 30 minutes proving that you can code, how much do you really want to work there? The only time I've done one of these challenges was for a company that I was really excited about working for.
That's not why it's faster. It's faster because I never have to manually run through whatever I'm developing. On a large feature that I can completely write using TDD, I don't ever 'test' the feature until I'm completely finished. There's a MASSIVE time savings in not ever having to walk through anything in a web browser, and never creating any regressions while fixing anything that breaks later in development.
My iPhone 4 has a couple of velcro strips (sewing section in WalMart) stuck on the back. This really helps with identifying back and front, and not sliding off sofa arms, and also lets me put it down quietly.

Plus it's useful if I want to attach it to things. Just arrange some velcro tie-wraps, and the iPhone will stick right on. Super convenient.
I agree re the test. I'm sure it would have been different if I was interested in the job, but I didn't even finish reading what they wanted me to do before I said "screw this".
Fair enough. The difference between giving out homework after giving a potential candidate a change to talk with future coworkers than doing it before is huge. Companies that bitch about how hard it is to find skilled programmers shouldn't be making it harder for skilled programmers find out why they should be interested in working for said companies.
Conversely, what happens if someone else renames/splits consequence_method? Without this unit test, how would they have known they broke something?

Unit tests help refactorability in dynamicly typed languages. Whether this is an argument for static typing is left as an exercise for the reader.
I have no intention of ever mocking the database, and I mock HTTP requests solely so I can work on my app without an internet connection. Look, a better approach is to use TDD for things it makes sense for. Spending a ton of time to mock out your database does nothing for you. Is mysql going to fail for you? Is the mysql driver that a million people are using going to fail for you? No? So, don't mock it out.
That's fair, but that's after the initial phone screen. I'm with jrockway: if you want me to complete a coding exercise before both (1) the initial phone screen with an internal recruiter and (2) a technical phone screen, then I just stop responding to emails. Companies get zero work before they give me a reason to be interested, and I am absolutely not going to take a test just to try to talk someone into looking at my resume. You have to sell me before I donate hours of my time. And I don't think I'm the only candidate that feels this way...
Yeah, it would be great if everyone who had epilepsy was up to hacking their video card driver to simulate an e-ink display's slow updates. I'm interested to hear what modifications you've made to your own system software to make it suit your preferences.
yes, it's common...though I agree with the OP that in most places it's very..easy going. It's particularly useful in places which don't have at-will employment (read, most places) so that you can fire someone who really doesn't work out without having the burden that's normally associated with firing someone.
Are you guys really bragging about having a faulty interview process that wastes over 99% of people's time?
Works for me in the SF bay area on Safari 5.1, OSX Lion. I believe you need to have the Google Earth browser plugin installed: http://www.google.com/earth/explore/products/plugin.html

That plugin is not available for Linux, sadly.
Yeah but you should still at least respond to people. I mean, why not? It's a win-win. Candidates at least find out and you look good by showing you care enough to get back to them.
Interviewing process is something which, to my astonishment, companies don't tweak or experiment with. They have a process and they stick with it...this is as true of large corporations as it is of small startups. There's no attempt at being better or trying something different, even though everyone acknowledges how difficult and important it is.

Part of the problem is people don't realize that they are doing it poorly.
Testable code is loosely coupled, because it has to interact with mocks. Untestable code tends to have things like hard-wired http clients, because it was "easier" to just inline the constructor. When you go back to upgrade the current version of your http client later, you'll appreciate that you didn't hardwire it.
Mass BitTorrent Lawsuits Set To Plague Australia
"One of benefits of publishing something on the web is that if it's the right kind of post and if it catches some wind, it can greatly increase your luck surface area."

Nice opening sentence, but the article doesn't really hook you, as I got three paragraphs in, and didn't understand where this 'luck surface area' was going. I got the sense it was just some naval-gazing discussion of getting blog posts to appear on Hacker News, so I just stopped reading.
Well i agree with you there but if you look at the most successful people from Edison to the current crop of luminaries you will see they all were/are ruthless!

Funny that the music industry gets such a bad wrap, yet we never saw VH1 behind the music like programs about the TV and film industries.
Thanks! The Google Earth plugin was the missing piece of the puzzle.
I haven't built a site with that scale but from what I understand, it can be done with pretty much all the platforms. It's more a matter of the architecture than the platform.
As a counterpoint, the way VS does autocomplete drives me insane. In the middle of a frenzy of flow typing, I have to move my hands away from the keyboard to the mouse to select which autocomplete entry I want. Aargh. It breaks the flow. (Although, I am using the Express edition so have not tried a vim emulator; perhaps their autocomplete is better.)
It's mind boggling that your parent, your OP, missed that people were mainly disappointed with the lack of feedback. It's also disappointing that, despite a number of signs, they don't even consider that they/their process might be the problem. There's a disconnect.
My thoughts:

1. Another programming problem. Okay, if it doesn't take too long, I'd do it.

2. 60 day fuse. No way. I've worked under a Sword-of-Damoclese clause before, and I won't do it again. This is a deal-breaker, and it's probably sending a very bad message to a large group of good engineers, and you're missing out.

Fire for cause, or whatever, if you have to. But I won't work in an environment like that, and (I guess you'll just have to take it on faith) it's your loss, not mine.
I have a big thing on the front page of my site explaining that I'm not the director. I still get a surprising number of emails who think I'm him. :D
It's strange that wanting to get rich is even considered a bad trait for an entrepreneur.

Off the top of my head, I'd say stupidity, laziness, cowardice, and soft-headedness are probably worse traits.
Excellent work. FWIW, from my experience with The Little MongoDB Book, people love epub format.
"My city would be sparkling and new if we didn't have to subsidize the standard of living of all the deadbeats in the burbs."

That is a silly notion. Are you assuming those out in the burbs don't pay property tax, vehicle related taxes, tax on purchases and every other tax in existence?

I'm positive we'd all learn quite a bit if we actually dug into the numbers.
All those interviews are done only after they're reasonably sure you're competent, rather than as an initial screening. By this time, they've decided to invest their time in you.
Do You Really Need a Wireless Broadband Internet?
Electric Guitar Review: Gibson Les Paul Studio
I can understand not wanting to work with the trial period; that's why we're really up front about it. There's a whole "no, we're not kidding; are you sure you want to take the job even given this?" segment to the offer.
Spreadsheets Come to ODF as Version 1.2 Wins Approval
Betting against John Dvorak is always a good bet.
It's four interviews and lunch. (Which is longer than the average interview, but if you are going to fly to another city and stay in a hotel, what's the difference between 2 hours and 5 hours? The actual interview is not the inconvenience, the travel is.)
http://www.youtube.com/my_account_unlink
I unlinked mine a long time ago - so I'm not sure if this still works.
I get the occasional email asking about "jrock recommendations". I have no idea why anyone would think that emailing me is a good idea; to find my email address from jrock.us you have to scroll past a page and a half of programming presentations I've given. People are weird.
Static Typing, Guard Rails and Street Signs (scala debate )
I was giving you a hard time. I don't think there's a significant percentage of people in finance for any reason other than money.

I am utterly fascinated with the capital markets and many aspects of finance. The returns reflect a true understanding of the markets. And yes, for the record, tech startups are in many ways less stressful than finance startups :)

As far as "altruism" is concerned, the value-add to society is wholly artificial: if our financial systems weren't structured to force retirement and pension funds to invest in the capital markets, I highly doubt anyone would say they were doing something good for the world.
In my experience, yes. But I haven't lived everywhere - a fellow who lives in LA might have a different experience than a guy living in Wisconsin.
Cached by ViewText: http://viewtext.org/article?url=http://www.chrisnorstrom.com...
I think it's simplistic to blame the drug war on self-interested lobbies. For one, shouldn't the entire food and music industries be 100% behind legalization? There is definitely a degree to which marijuana use is a social taboo associated with hippies, poor people, and unpopular ethnic groups. Whereas alcohol has always been considered more "classy", aside from a short-lived temperance movement.
If you want some banners, I'd recommend: http://bannersmall.com/ - a lot of well known companies such as 1&1 and ELance have used them plus, their prices are cheap too.
Tesla Making Faster 2012 Model S, 0-60 In Under 4.5 Seconds
It is possible, I believe, to test first and then interview. I think the greatest example of this is ITA Software's puzzles [1] I find it almost impossible not to stop what I'm doing and try to solve a few, because they are both interesting and difficult (even the more mundane ones). In this case these tests before interview would actually attract me to ITA, if everyone there has solved those problems you'd know you'd be working with pretty smart programmers, and your work would probably be pretty interesting.

The Deviant Art test however is something I would consider a dull day of work. If you want me to prove my worth by challenging me to an interesting combinatorial optimization problem, I'll bite. However if you want me to prove my worth by testing my ability to perform the kind of task that usually makes programmers think they should be looking for more challenging work, then good luck to you.

1. http://www.itasoftware.com/careers/work-at-ita/hiring-puzzle...
Hate to be another "me too". But I also looked at the test and it was pretty obvious that (a) it's going to take more than 5 minutes and (b) it's not really clear how I demonstrate my knowledge to the potential employer.

Vague requirements like "add support for our new data format" mean nothing to me in this context. Am I supposed to add error checking? Should I automatically detect which format is used? I have no idea how much effort is expected, and so I'm not even going to try because some less talented person may have had more time to work on it than me.

The great thing about FizzBuzz is that it's the kind of thing a decent programmer can knock out in a minute or two (so they're not wasting too much time when they speculatively apply) and yet it's just sufficiently difficult that people who can't program at all are easy to screen out.
Well if you want to move to Canada, their office in Montreal is on top of a restaurant/microbrewery(http://les3brasseurs.ca/) that brews it's own beer on site. I've always wondered if they built a tap that goes to the restaurant.
If you put a donation button but not a charity, american, etc, Google Checkout will freeze your account.

http://checkout.google.com/support/sell/bin/answer.py?answer...

Or they could try PayPal instead...
...a relatively efficient (at worst O(n) space and time) factorial function...

If you can do that, you'll win a Nobel prize. (Yes, I know there isn't a Nobel prize in computing: You'd win a Nobel prize in physics, for showing how to store Θ(n log n) bits in O(n) space.)

Heck, if you can compute n! in O(n (log n)^(2-x)) time for any x > 0 you'll probably win the Turing award. Such an algorithm would be really really big news.
There's a certain amount of selection bias here, given that I've obviously already gone through a similar sort of process to get hired there, but I don't think it's terrible to ask an applicant to do a small proof-of-competence task before you tie up a bunch of time in talking to them. For what it's worth, it's somewhere in the half hour range for that exercise, and I've certainly spent longer than that tweaking a resume + cover letter when applying for jobs in the past.

Ultimately "because we don't like you" is the reason you'll lose any job. The main thing that makes us decide someone isn't working out is if they're not performing, though. I don't think I've seen anyone get dropped after the trial for any other reason.
With Google it seems though once your get to this stage they are fairly interested, in this case 90% of people who take some time to do the code exercise get no further.

The hiring process isn't one sided, especially with the demand for talented developers at the moment. So not just how much I want to work for the company but how much the company wants me to work there.
I'm pretty sure I had 7 interviews when I visited Mt.View five years ago. Maybe Google's standards are slipping? ;-)
What's interesting to me is the opening paragraph of the blog post:

"It turns out to be quite difficult to hire good developers. I’m involved in the hiring process at deviantART, and it has opened my eyes to just how unqualified the majority of applicants to these jobs are."

There seems to be a complete lack of connecting the dots from "this is unusually difficult" to "what can be done to make this better/easier/more efficient." And given that this failure is centered around software developer positions... it doesn't say good things about the kinds of problem-solving that goes on in their culture.
We do a simple programming test too, but we do after a phone screen and after we decided to invite you to come in. It's simply part of the 1/2-1 day interview that we do.

You get 2 hours, a problem that doesn't take more than 30-60 mins to solve, and an internet connection in case you want to look something up.

I agree with other posters here that a very simple problems weeds out a large chunk of the inept folks.

We had people just sit in that room for two hours and all they did was remove some lines from the skeleton that we have them. Or people who just left this simple exercise and went home.

I disagree with others about doing it life via a shared session. Programming and thinking is a private affair (IMHO), there is some exploration component in it. Nobody will want to explore in front of a panel.

In the end we don't even look at the test unless there is disagreement between the interviewers, or we identified a specific concern about problem solving.
Got it. Also dividends are better than higher wages for tax purposes.
It's funny that they don't get it though. If you want a community (HN) to help you with something (finding help), you need to be nice/polite to them. Otherwise people start getting vocal.
At the very least, having sex with someone who's passed out and unable to consent is rape; those rapes, at the very least, could not be committed without some type of drug to cause the person to pass out, and alcohol is the most legal and most widely used drug that has that effect.

I'm quite inclined to think that rape is far more common than you think. Most rapists are perfectly "normal" people in their everyday lives.
But the employees are getting salary and have been for the last 3-4 years.

They've only had employees for about 2 years. /pedantic

http://blog.airbnb.com/hiring-really-smart-software-engineer
Also worth mentioning, DeviantArt has a challenge up at CodeEval.com

Here's the direct link: http://www.codeeval.com/public_sc/47/

Give it a shot.
Apple had been releasing new iPhones like clockwork every 11-13 months, but this model is late. The iPhone 4S/5 hardware is rumored to have been completed months ago, but held up by iOS 5 bug fixing. I would expect Apple to try hard to get back on schedule for 2012.

* iPhone 1 @ June 2007
* iPhone 3G @ July 2008 (13 months)
* iPhone 3GS @ June 2009 (11 months)
* iPhone 4 @ June 2010 (12 months)
* iPhone 4S/5 @ October 2011 (16 months)
We do worry a bit about the "dull day of work" aspect to it. But what it's testing for is important, and attention to detail in a messy little webapp is likely a better predictor for success than the ability to throw out a flawless algorithm exercise.
Belgian Dubbel? Noice. Wanna taste that beer.
This was posted a few days ago:

HN discussion: http://news.ycombinator.com/item?id=3047741

Reddit discussion: http://www.reddit.com/r/programming/comments/kuhn3/ocaml_for...
the "new data format" is just them checking if you a) recognise data formats when not labeled or b) are capable of identifying data you don't know. The data format they link to is json; the "puzzle" is identifying it, adding support is trivial.
GHC 7 can use LLVM as a backend. That might allow generation of JavaScript code from Haskell. There's already ghcjs (https://github.com/sviperll/ghcjs), but the output from that is quite verbose from what I've seen so far.

Update: For OS X you need GHC 7.2 to use the LLVM backend. Otherwise GHC just ignores the -fllvm flag. The Haskell Platform only uses version 7.0.4.
Some people write their entire Ph.D. research papers on a computer that's never backed up, not even once in years.

This behavior should be stomped out in first year as a mandatory course, right along CPR.
Looking at your job description, I'm guessing that you are trying to hire junior PHP/MySQL programmers at maybe a $50,000/yr US range. Nothing wrong with that.

Looking at your coding exercise, it's a small set of code, but it would be more than an hour or two for me (or presumably anyone) to do all of the improvements, find all the bugs, fix them, do the extra credit, make sure it's not sloppy before I turn it in, etc. So way more commitment than just sending in a resume or writing you an email.

Reading your blog post, you guys seem to want rock star technical candidates, but with that job description, you're going to attract people who have done a few PHP web sites, maybe customized a Drupal or or Joomla or Wordpress site.

When I've interviewed and hired developers, our best ones always came from friends or recommendations, never from job postings or job boards.