Interview Heuristics
jackg.orgWhile this list does correlate highly with the list of good developers I've worked with, it makes me a little uncomfortable to use any of these as a filter - none of these are essential. There are probably other questions you could ask that are just as quick and actually are skill-related (how do you list the disk volumes on a unix machine? what's a good library to parse HTML?) - maybe it will still have some of the same biases (e.g. I don't know how .NET people parse HTML, their answer might not convince me), and maybe it will end up selecting the very same set of people - but it's just easier to defend as being about technology rather than about fashion.
I agree with you, but I'm assuming technical questions are asked too. But given several candidates who seem to do well on that portion (which is more of an academic exercise), you have to differentiate them on metrics which you have not (or possibly would have a difficult time) capturing. Hence a set of heuristics which rely on the observation that correlations between practical developer quality (or possibly just the archetype the poster prefers) and seemingly meaningless series of choices exist, you can (hopefully, favorably) bias your decision based on the latter. Choices to speak a lot about the person, especially when it deals with something you work with for such a large fraction of your professional life (e.g., OS, go-to language, sources of information). Sure, you could be selecting mostly mainstream developers and denying potentially stellar candidates, but there is also risk in taking chances with people who fall outside the norm (or what might be the norm for "solid" developers) too. Having said that, I guess I just want to make the statement that while the premise of the post sounds appalling, I'm not entirely against it.
I'm not a huge fan of this .net hate. It smacks of fashion. Yes, .net is used heavily in the enterprise and probably 90% of the time .net projects are CRUDdy big balls of mud, but C# is actually a great language, visual studio is an amazing environment and (from what I hear) ASP.NET MVC is pretty great too. A good hacker who made the informed choice to use windows and .net would get unfairly penalised here. Just because it isn't cool doesn't mean you should throw the baby out with the bathwater.
(I speak as an OS X/emacs/go/prolog/javascript/... hacker, who was up until recently using .net/C# a lot)
This person (jackg) either does not know or realize that a great software engineer can use any platform, language, and tool to do whatever she needs to achieve. I'm also not a big fan of his own choices of "trendy" technologies. This post almost seems like trolling IMO.
For some context, I work at SeatGeek, Jack's startup, and participate in the later stages of the hiring process referred to in the post.
I think something that a lot of the recruiting/hiring discussions on HN miss is that the hiring process is not only about finding people who are capable of doing the job. It's also about finding people who will thoroughly enjoy doing the job and get along well with the rest of the team.
For example, I spoke to a candidate (in other words he made it through this set of heuristics) whose background was in security and whose primary platform was windows. He was definitely very bright and very well accomplished, but by the end of the interview, I genuinely thought he would have been bored out of his mind at SeatGeek.
Similarly, if you don't use at least one of OSX, git, ruby or python, there's a decent chance SeatGeek just isn't for you. An important caveat, that should probably be in the post, is that if your answer to any of the specific-tech related questions is "no, but I saw that you use X at SeatGeek, and I'm interested in learning more about it", that's probably equivalent to a "yes".
I'm struggling to respond to this post.
I've been reading and participating in HN for a couple months now. It's become clear, like in every social group, that HN has a "popular" crowd. It might not necessarily be specific people, but that there's an aura of an HN mainstream that bubbles to the surface on and off.
This post stinks of that popularity. For someone like me who is generally a contrarian, it puts me off. I don't have anything personally against the OP. I certainly don't want to insult him, and I'm not even sure that my feelings are correct or warranted. I don't know him and have only casual familiarity with his startup, but his list read like a list of "popular" topics on HN. PG! YC! ShowHN! git! Python! Ruby! OS X!
I apologize for being off topic like that, this post just brought it out of me.
I know these are your heuristics, but find it quite puzzling that you think the average web designer using ASP or Windows is an immediate rejection. What are you saying here?
As you mention, it's a heuristic. If I had infinite time, I wouldn't use that shortcut. But alas...
You mention web designers--out of the dozens of designers I respect, I don't know a single one who uses Windows. Do you?
There is a difference between a designer and a developer. If you are hiring for designers why do you care if they can program at all. I know dozens of designers who couldn't write a hello world in Python yet have a beautiful web portfolio and yes some of them use windows.
lol "Windows is a deal breaker?"
I know quite a few RoR/Java/Linux/Unix sys admins who still use Windows on the desktop (inc. me).
OS choice shouldn't be a deal breaker.
Is having a Windows Phone also a deal breaker?
As a side point, is there really that much difference between OSX/Windows now a days? I've have Macbook Pro's, Imacs and Windows things as main machines and nowadays I don't see that much difference between them (esp if you're working on web dev). From Mac -> Windows or back seems like just a new novelty tech to learn not a deal breaker any more. From your article it seems unlikely that Mac OSX or Windows is running your servers anyway.
(Same with Android vs iPhone - both are so similar now)
Mac OSX being UNIX based makes a huge difference. Try dropping to the windows shell and getting anything productive done.
I've seen a lot of open source programming languages that list cygwin as the windows installer option. That is a huge tell.
I would put linux & osx on their own camp and windows on another
What about command line skills? How many people that choose Windows are proficient on the command line vs those who use *nix?
Exactly. I'm no command line whiz but access to linux/unix command line programs makes me much more productive.
grep / sed / awk / tail / ps / cat - then you add being able to pipe output between them
Then you have command line editors like vim for quick edits.
night & day vs the windows command prompt
just because i use windows on my desktop doesn't mean i don't know how to use vim/xargs/find/awk/sed/bash install and configure linux/solaris etc.
just means i prefer windows on the desktop?
if friends ask me if they should change to Mac from Windows, nowadays my thinking is: "if you want to learn a new operating system that is different to Windows, get the Mac. If you just want to get stuff done and you already know Windows, get Windows"
(Note i'd say the same thing in reverse if they wanted to change to Windows from Mac, i.e. stick with the Mac if you want to get things done)
bottom line: you are not your desktop operating system choice (well you might be a Mac, but fscked if i'm a PC - both PC's and Mac's are tools, lol)
I love the implication that working in PSD's isn't challenging because it's easy. Maybe not interesting to programmers, but by no means is designing a product a trivial task.
Completely agree. I meant the raw PSD->HTML conversion, after all design is done. The sort of thing these outfits do: http://www.psd2html.com/. I'll update the post to make that more clear.
Much better - thanks!
There are several hot-button issues that I can't help but think you drizzled over your posting to increase the likelihood of visceral reaction by the demographic this posting targets.
Either that, or I have to conclude that the Heuristics you mention are sullied by personal bias, and if so should be reviewed.
It may also be that your blog is part of the svbtle network that has triggered my personal biases.
These heuristics, if they have any validity at all, are industry specific. In AAA game development, everyone (with a few statistical outliers) is Windows based for their development environment. For that reason, it's not surprising that most of the good programmers I know personally use and prefer Windows. I'm the only one of my coworkers who uses OS X at home.
Agreed. This was only intended to be applicable to web development.
Lord knows I wish I were "overwhelemed" with resumes. Unfortunately I'm not sure everyone experiences the flood he mentions...
Generic software development posts on craigslist can often net you a flood of resumes -- there's quite a few unqualified people you have to filter through
Having "automatic dealbreakers" is a fantastic way to miss talent who don't subscribe to your personal preferences...
Agree - but your going to miss talent anyway, right? He just reduces the pool of candidates quickly since he doesn't have time/bandwith for an exhaustive search.
I like his 'fail early' approach