There have been a number of posts about hiring practices lately. And a lot of them contradict each other. My conclusion is, that people hire people that are similar to themselves or similar to how they would like to see themselves, and the whole hiring process, the style of interviews and coding tasks and the sources from which they hire, is based upon this model.
A company founded by Stanford CS students will focus on ivy league CS students; friends of mine have a pretty successful consulting company and none of them has a formal CS background, but years of experience delivering complex software; they focus on guys that can deliver, regardless of background. Some people never went to MIT, but have a deeply ingrained wish that they would have - by surrounding themselves with MIT grads, they suddenly generate the wanted association.
Most hiring processes spend gigantic amounts of effort to see how a candidate works as a member of the team, without actually having the candidate... work as a member of the team.
I suspect that the reason why, is that so few engineering teams do pair programming full-time, complete with daily-or-more rotations.
Pairing gives you the ability to spin somebody up rapidly enough to see how well they do on real code, and at the same time get a good read on personal fit from multiple team members.
Pivotal is shockingly good at this. You start with an hour-long pairing exercise over the phone. If that goes well, you come in, sign an NDA, and pair on two different projects, with a block for lunch in the middle.
That's a grand total of ten hours of screening time.
This process isn't fool-proof, mind you. But it does do a good job of answering the most important question: Do I want to show up for work, tomorrow, and start working with this person?
Perhaps just as importantly, it gives the candidate enough information to answer that same question for themselves.
Nothing tells you whether or not you want to work somewhere, like actually working there.
In my experience, pairing interviews usually falls into two categories: one where you're tapping away at a problem while your interviewer is doing a work assignment (but please ask me questions), and the second is where the interviewer is grading you (and interjecting) line-by-line rather than actually participating. It's rarely the case when pairing goes as it should i.e. a collaborative work process.
I agree. I interviewed with Pivotal, and it was fairly distracting for me to be asked to work on a problem where the interviewer clearly knew the solution, and did all the typing. It wasn't fun.
It was a gigantic waste of time. Some whiteboarding would have been adequate; it would have been better, even, without all the weird keystroke errors and unwritten expectations on the codebase.
While I have great appreciation for problem solving and human interaction, pairing on a non-customized computer, on a random code base, with someone you met 5 minutes ago is absolutely the wrong way to go about interviewing.
I've done work sample tests: they take a lot of time (time is money), and I don't really have enough invested in this company to want to work for free. I'd much rather do a work-sample after the onsite - let's at least determine if we are comfortable around each other before I start investing hours of my after work life into this thing.
> I'd much rather do a work-sample after the onsite
Pivotal Labs and Pivotal Cloud Foundry teams default to 100% pairing.
What you experienced is basically the actual job. It's perfectly OK that you didn't like it, lots of people don't want to work that way once they've tried it.
But it wouldn't make sense to find potential pair programmers by not pair programming.
Almost all silicon valley interviews are a 1hr phone screen and a full day of interviewing with lunch in the middle. What they seem to be asking seems to be about the same amount of time. And TBH it's less intense sounding since it should be a mostly normal work day.
> Arrogant absurd process with no basis or evidence in reality.
Do you sell t-shirts? I would like to buy one.
In fairness, though, most people who decide to take an offer have self-selected. Malleability might be one reason. Another could openness to new experiences.
Great answer. When I see these ideas floated around, I always think that these companies will never hire people who value their time and have at least a decent job. When a company comes to me with these great "deals" the first thing I say is thank you very much and move their emails to my spam box.
I get the sentiment behind this, but bear in mind that interviewing is a two way street - and the company is often spending a lot more on it than you are (of course, they can better afford it).
That's worth possibly negotiating the amount of time or staging earlier parts with less impact.
I wouldn't say no to an interview that is going to burn a day, but I also wouldn't go to one without a pretty good feeling that I was likely to accept an offer if it came.
I mostly think of interviews as at least as much of a chance for me to evaluate them as the other way around (even the way they choose to interview tells me a lot).
you're asking me to feel bad for a company that probably has millions in seed funding for investing a day in a new hire? hah, no, not going to happen. I (and probably most people here) already have a job that pays me for the work I do, this company can either do the same or they can walk. The one thing that's not going to happen is for me to pity them for the money they are investing.
No, I didn't ask you to feel bad for them. I only pointed out that there is at least some symmetry in the situation. I don't know where you got the very odd idea that pity is/should be involved.
There is no reason that you can't have a mature interaction with a company where you both agree to invest some time and effort in a process that could benefit both of you. If it looks like a bad risk to you, don't go. If you are doing a competent job of this, you should know what an interview process looks like before you agree to the interview. If there are aspect of it you aren't sure about, you should ask about them. If their reasoning doesn't convince you - respectfully decline the interview.
The most valuable thing about an interview process is an exchange of information. Thinking about it too much as a time-for-money trade off can miss this point. Of course, if you can find a more time efficient way to exchange the same information, that's good all around.
However candidates for Labs will see stuff our clients consider commercially sensitive (sometimes their mere existence is commercially sensitive), sometimes candidates for Cloud Foundry will see stuff that is commercially sensitive for Pivotal.
Mind you, I did a round of interviews a few years ago and everyone had an NDA at the door. I read them and none of them were silly, so I signed them.
If pairing and rotations is truly a critical part of how your company builds stuff then this isn't a bad approach. But there are plenty of productive coders who would struggle with this.
I think part of the reason people how those like themselves of that that's the only area where they have any confidence in their ability to assess skill. It's easy to say that this person is just like me, only a few years behind (or ahead!). But someone with a vastly different style and background is much harder to assess. Even with the same questions - as they're often kinda bullshit - it's hard to interpret the responses.
For a generic/flexible developer position I'd purposefully avoid hiring people from "brand" school. You'll definitely need to be over paying, and they will likely be poached.
I unless you need like a PhD who is the top expert in X (and you're willing to pay any price) .. it just seems like a bad bargain
The Ivy League is actually an athletic conference, believe it or not, and consist solely of schools in the Northeast.
The schools are Brown University, Columbia University, Cornell University, Dartmouth College, Harvard University, the University of Pennsylvania, Princeton University, and Yale University
As a Midwesterner from the heart of Big Ten territory, I am often disappointed that Carnegie-Mellon, Northwestern, Purdue, Illinois at Urbana-Champaign, Michigan, Wisconsin, Minnesota, Ohio State, and Indiana are seldom mentioned in such lists, despite all of them being world-class schools for computer science. Sure, the Ivy Leaguers and Californians, and the closer-to-the-coast schools are remembered (except maybe Georgia Tech, Maryland, Pennsylvania, Penn State, or Johns Hopkins), but it's like the space between the Appalachians and the Rockies is one vast flyover wasteland not worthy of notice (or venture capital).
Rice, Texas A&M, and Texas at Austin are also ignored pretty often, but Texans can be offended on their own behalf without my help.
As another person from Big Ten territory, you might as well add University of Washington to that list. I often find interesting work (research, course assignments, etc.) from there, and it's typically ranked highly in CS, but it also seldom is remembered.
I assumed he was using it as a metaphor, because the actual Ivy League schools aren't especially known for computer science. So "ivy league [of] CS" as in the top CS schools, not literally the Ivy League schools.
Would love to put all these "no, THIS is how you hire properly" people in a (virtual) room together to hash things out. Someone is the most correct and the others are all more wrong than that person. We could go really slowly and break down all arguments etc. and see where things fall apart or when things contradict other arguments. And actually get somewhere
>by surrounding themselves with MIT grads, they suddenly generate the wanted association.
Could you clarify what you meant here? Was it that 1. those who surround themselves with MIT grads discover an ingrained wish that they would have gone to MIT, or 2. that they satisfy a pre-existing wish to have gone to MIT by instead surrounding themselves with MIT grads? In the case of (2), are these effects tangible as they might expect?
The latter. Having been to quite a couple of interviews with hiring managers, most of them interviewed in a way that they would have hired themselves, so case number 1. Case number 2, hiring people that they subconsciously wish themselves to be, is coming more from an observation of all these hiring practices posts here on HN. The latter would be quite a nice empirical/psychological study, though I fully expect such a study to already exist.
Disclaimer: I'm living in Germany and nearly exclusively interviewed in Germany so far. There's nothing comparable to the top US schools here, so school reputation is probably much less important than in the US.
>
Disclaimer: I'm living in Germany and nearly exclusively interviewed in Germany so far. There's nothing comparable to the top US schools here, so school reputation is probably much less important than in the US.
A company founded by Stanford CS students will focus on ivy league CS students; friends of mine have a pretty successful consulting company and none of them has a formal CS background, but years of experience delivering complex software; they focus on guys that can deliver, regardless of background. Some people never went to MIT, but have a deeply ingrained wish that they would have - by surrounding themselves with MIT grads, they suddenly generate the wanted association.