> Start by telling recruiters, up front, that you don’t do trivia interviews and the like. Be firm and explicit about this, as in, “if they start asking me to describe merge sort, I’m going to thank them for their time and tell them I need to go.”
Wow, OK. I suppose this is fine for someone who doesn't actually want a job, or in those rare times when the hiring market favors candidates. But in most cases, the company will just move on to the next resume in the pile. Why bother with this kook when there's a line of people outside eager to have a shot?
>“Hmm… you know what? I’m really sorry, but I think maybe we got our wires crossed somewhere here. I’ve had experience on the hiring side of this sort of interview style in the past, and I’ve seen it result in some really sub-optimal matches, so I’ve adopted a policy of having certain deal breaker cues in the interviewing process. So at this point I can safely say I’d be unlikely to accept an offer, and I really wouldn’t want to waste any more of your time."
Expected response: "Well........ Bye."
I appreciate the effort put into wording that nicely, but really all you're saying is, "Company, you need me more than I need you, and I expect YOU to jump through MY hoops." This is only true when you're a one-in-a-million talent. It's not going to work for the other 999,999 people.
> I appreciate the effort put into wording that nicely, but really all you're saying is, "Company, you need me more than I need you, and I expect YOU to jump through MY hoops." This is only true when you're a one-in-a-million talent. It's not going to work for the other 999,999 people.
No it is not. I have a job. I'm too busy taking time out of my day to explain concepts that I barely use and not going to be using at employer who is asking them. That is the broken part. They are passing up on good hires with irrelevant crap because some them don't have the time.
> Why bother with this kook when there's a line of people outside eager to have a shot.
Because the kook that refuses to explain merge sort might be better at the job than the guy who desperatly jumps through hoops.
> or in those rare times when the hiring market favors candidates
Which is... right now. I think this strategy could absolutely pay off. And your objection seems to be that if you say these things then the company isn't going to hire you - that's the point. It isn't a negotiation tactic, it's "I am taking this interview procedure as a reflection of the company as a whole and that gives me sincere reservations as to whether I'll be a good fit".
No, I wouldn't recommend this when you're fresh out of college. But many experienced developers absolutely do not know their worth - you shouldn't have to go through that crap when your resume clearly states you are capable.
Wow, OK. I suppose this is fine for someone who doesn't actually want a job, or in those rare times when the hiring market favors candidates. But in most cases, the company will just move on to the next resume in the pile. Why bother with this kook when there's a line of people outside eager to have a shot.
The thing is, not all companies do this. And there a LOT of other companies besides Google and The Usual Suspects. Heck, there are a lot of companies that aren't "tech companies" but they still employ developers. And they are probably less likely to do the whole "grill you on Data Structures 101" thing than Google. It's something to consider...
When I get calls/emails/social media pings from recruiters, hiring managers, CTOs, etc...all wanting "a few moments of my time" - I tend to be highly selective. I'll routinely get 6-10 requests in one day, and even a quick 30 min chat is a huge time sinkhole when there's multiples waiting for a response.
My time is more valuable to me than theirs. They jump through my hoops.
You would be surprised. While I am not looking, I get recruited often. I probably spend too much time giving recruiters feedback but I can't help myself. I am blunt and honest and recruiters actually respond well to it.
I refuse to take captive positions partly because of the craziness in the workplace but also because I can make much more contracting then what most employers are willing to pay.
Funny thing is now you are starting to see companies looking to hire contractors and wanting to make the contractors jump through these silly hoops (taking silly quizzes, take home projects, etc.)
I always come back with a proposal that includes cost & timeline to complete the take home project. I have gotten a couple gigs that way :)
uh, no. he doesn't expect them to do anything, especially not jump through any hoops, because he doesn't want to work for them. end of story. that's it, there's no catch. have a nice life.
if you don't understand that, it's no wonder you're on the other side of this fence.
also, your use of the word "need" is telling of your mindset.
"Why bother with this kook when there's a line of people outside eager to have a shot?"
Aside from Apple, Google, Facebook, do companies have this? Hasn't industry been complaining constantly that there isn't enough talent?
"Expected response: "Well........ Bye.""
So? The person just expressed their intention to not work for the company. You're acting like the company choosing to pass is now a terrible consequence.
"Company, you need me more than I need you, and I expect YOU to jump through MY hoops."
They're not really asking them to jump through hoops. Just don't be stupid.
And yeah, the company needs workers more than the worker needs the company.
> "Company, you need me more than I need you, and I expect YOU to jump through MY hoops." This is only true when you're a one-in-a-million talent. It's not going to work for the other 999,999 people.
(I assume "on-in-a-million" is an exaggeration to mean "exceptional")
How skewed do you think the market is? Many here talk about developer shortage, suggesting an employee's market. But let's assume this is an employer's market, and the employers can really chose: how exceptional exactly does one have to be to afford to be picky about the interviewing process? My guess would be between one-in-ten to one-in-a-hundred. No more.
I think this is really about status. Employees have lower status than their employer. They owe them obedience and loyalty (by law in most countries). Employers even expect a fair bit of deference most of the time. They expect the prospective employee to "know her place", and that includes putting up with dubious trivia questions.
Sure, if you must work at some top hot shot reputable company, you need to put up with their processes, however silly or gruelling. Or you could decide they're not so hot after all, and search elsewhere.
Even then, done right, refusing to jump through hoops raises your status. By acting like you're bargaining from a position of strength, your strengthen your position. If on the other hand you let them taking you for granted, they'll think less of you.
Now there are those who expect spineless sheep. They tend to reject me. Fine with me, I would be unhappy with them anyway.
I agree with everything you said. In my last company, someone was hired into the software team with such a "my way or the highway" type of personality and despite being technically strong, caused so much damage to the rest of the team structure that the net was a negative gain.
The message I get out of this post is: "Know what you want, and be uncompromising in your search for it." If a company is interviewing you wrong, then the company is disqualified from your list of places you'd like to work. You can draw up a similar list of criteria (e.g. has an open source presence, has a remote-first culture, uses JIRA, doesn't use JIRA, has low technical debt, has high unit test coverage) with which you can assess culture/role fit.
If you find the companies you're interviewing with consistently fail your test, then bring your pattern-identifying skills to bear and figure out why. Maybe all of the companies you're interviewing at have something in common (they're all startups, they're all Fortune 500s, the CEO isn't technical, the roles are too senior/junior). In which case you should break the pattern and apply for work at different types of companies.
Or possibly the pattern lies within yourself. Do you consistently fail the same kind of technical tests? Does your answer to a specific question ("Can you show us a large codebase you've worked on? Oh, you can't?") tend to elicit the same negative answer? Then maybe you should focus on strengthening those weaknesses.
"Rather, what if you simply placed a creative constraint on the organization that it could not grow by hiring strangers or unknown commodities?"
So...make tech even more of an old-boys club than it already is? Because that's what people will be complaining about if the only way to get a job is to know someone or be known.
Really, there isn't a solution here. Any system you use to allocate desirable jobs to an oversupply of applicants will result in folks who believe they were unjustly excluded. What would fix the problem is for people to define "desirable" in different ways, with a bias toward "the place that I actually ended up at". Love what you do, don't do what you love.
I think that's a bit of an uncharitable reading. He anticipates a similar objection with, "You’d lose out on entry level talent! Maybe, or maybe part of your operations would be getting to know college kids." (Emphasis mine.) What I took away from the article is that he's suggesting that your company find other ways of developing relationships with outside people, rather than putting out a call for strangers to line up and jump through hoops when they need to hire someone. Another example: So many companies rely heavily on open source software, but how often do they take the opportunity to form relationships with the people who build and maintain it?
When you say, "What would fix the problem is for people to define 'desirable' in different ways, with a bias toward 'the place that I actually ended up at'," that seems to me very much what he is suggesting.
I recently interviewed at Google and one coding interview had the most adversarial interviewer that I've ever encountered. It started with the interviewer complaining that he was busy. Everything from the language I chose to each line I wrote received complaints. By time we got past the first question, I thought maybe this was actually a behavioral interview in disguise to see how I'd deal with adversarial coworkers.
I got an offer from them, but I declined without hesitation. I interviewed at Facebook and that process was great. At least one of my coding interviewers did read/skim my github code beforehand. Woo, keep it up!
A big part of dealing with adversarial co-workers is team structure and managerial support, how does a 1 on 1 conversation with someone you've never met even really test your ability to work with "difficult" people? It seems more like seeing how much bullshit you can put up with at that point (this is NOT the same to me as "dealing with an adversarial co-worker").
There's already a baseline of bullshit to deal with everywhere anyway, it's part of almost any job. If a company thinks there's so much bullshit and/or difficult people to deal with that they need to screen for it during interviews, that seems like a HUGE turnoff to me wanting to work there.
Impressive that you got the offer, then. Doesn't sound like it was "disguised" at all. ;)
I get the part about being busy and not devoting adequate time to reviewing a candidate's portfolio (though sometimes you're pulled in at the last minute), but I wouldn't take this out on someone--I'd hope we all remember what it's like being on the other side of the desk.
I also recently interviewed at several major tech companies, and I agree that Facebook had by far the best process. The content of the technical questions was largely similar to everybody else, but Facebook really went out of their way to make sure I was comfortable throughout the whole process and took the time to understand who I am and how I can best contribute.
So many "hiring is broken" stories lately. I sympathize. Interviewing is typically not fun.
However, I'd like y'all to consider the problem from the other side of the table. I conduct a lot of technical interviews. I desperately want to avoid bad hires. How do I avoid the bad hires? It's a really hard problem and there are consequences from both false positive and false negative signals.
Google asks "big-O" type questions not because they're shibboleths or useless trivia. It's practical knowledge in an environment where things often have to scale up to absurd degrees. Most candidates haven't had experience in that kind of environment, so interviewers are looking for signs of aptitude. Knowing which kinds of algorithms can scale up is a sign of that aptitude for those kinds of problems.
Lately, I've been asking more questions from the domain of what I call "programming in the small" -- the kinds of things that crop up when actually writing or reviewing or debugging code. I do this because I've learned that the ability to construct an airtight Boolean predicate expression to test for a well-defined condition is a survival skill for good programmers.
If you're a good candidate, then I'm sincerely sorry that I waste some time (for both of us!) talking with you about some basic stuff rather than having a more interesting technical conversation.
Google probably needs algorithmically savvy people, but that is surely not the case with most of the companies asking similar questions. If a company developing CRUD apps asks me to reverse a linked list, it is a sign to me that they are clueless.
If I have provided a GitHub account with some interesting code, then sure as hell I have demonstrated that I am able to compose "airtight" boolean expressions.
Just like I have to be informed about your company before interviewing, take your time to inform yourself about me.
This is true - a friend told me how he got hired in Bloomberg, he just asked a friend about their interview process and questions, breezed in. Anyone could do this. Now, Bloomberg might feel it is making a mockery of their recruitment process, I prefer to think of it revealing how crap it is.
I think it's worth noting that the reason you have the degree isn't to show knowledge, it's to show you're willing to complete a process that's out of your control, but you do it anyway because that's what is expected.
The ideals are always nice to have, but if I have to fight with a new hire over every built-in process because he doesn't immediately see the value in it, I'm going to get irritated at him.
Reminds me of something a former co-worker told an incoming revolving-door CTO. He said there are only three things an employer can offer to recruit great technical talent - a great work environment, really interesting work, or lots of money. (Our former employer had a crap environment and dull work)
If you need to recruit, you need to offer at least one, preferably all three.
One thing that I think is commonly missing from these discussions about hiring is the fact that most hiring processes (especially at these large companies) are not designed around letting all qualified applicants in. They are designed to ensure that unqualified applicants don't get in, even at the cost of passing up good candidates.
The negative cost associated with one bad hire can often outway the gain from one great higher. So if a company has to pass up on some great candidates in order to maintain quality they are going to do it.
Are there better ways than trivia questions and whiteboard coding to prevent bad hires? Of Course. One of my co-workers brings up the hiring practice at his old job. They would fly all potential candidates out to their office and have them work (paid) with the team for one day. From there, they would take their top picks and have them work (paid) for a week. From that group they would choose who to hire. My co-worker always remarks about how great of a process it was. However they were also only ever hiring for one or two positions a year. When you're trying to hire as many qualified applicants as possible, these kinds of in depth interviews just aren't efficient enough.
So the negative cost of hiring a bad applicant, in addition to the problem of trying to hire as many people as possible with minimal cost leaves us with interview techniques that don't cater to everyone. But they do do a good job of weeding out bad applicants, even if that does mean passing on good applicants.
Now I'm not saying this is the right way to interview, I just think this aspect is commonly left out of these discussions.
Spot on, I've independently decided that I won't submit to brain-teasers and white-board coding (diagramming yes) any longer.
A company can look at my online work, read my written communication, have a nice chat on the phone, and then perhaps can hire me for a short contract to write a component to see how things work out. If they don't they don't have to pay.
I'm also considering not allowing video on the calls also, and will experiment with that. For the last five years I haven't gotten any work from startups (even though I specialize in python and javascript) and wonder if it is due to the fact that I don't dress like a lumberjack and am not as young as I used to be.
>I'm also considering not allowing video on the calls also
I've never considered live video of me a requirement in any professional or technical context a requirement unless I was actually doing something visual that explicitly requires it. When on the job I've never even bothered asking if it was ok to not have my camera on, and in interviews I've never thought twice about letting the interviewer know that I won't have a video stream up. Sometimes its because I genuinely can't (either poor internet or the fact that I don't have a webcam for my desktop) or I just don't feel like it. It's not about some high-minded principle regarding discrimination or a tactical decision or anything, I just don't think that video conferences add anything to audio in any situation except visual presentations or personal/emotional contacts (GF or family). I've been in a LOT of live calls in a lot of contexts and I've never noticed the other party having any issue with this, no interviewer has detectably taken it negatively.
I'd also like to add that I don't always have my camera off, just that I don't feel any pressure to justify myself when it is turned off, which is most of the time.
Maybe filtering out people who won't play the game is better for both sides. After all, the company will be asking you to do other things you disagree with. Getting things done often means compromising on stuff that doesn't matter in order to do the stuff that does. It's an important job skill.
This is a clearer signal than "cultural fit" (whatever that means).
Looking at a github profile would take about the same amount of time as walking to the conference room to conduct the interview. So I'm not buying the "you're wasting interviewers time with that stuff" line.
Can also serve as a good source of questions - can the candidate answer questions about his/her own code?
Much more meaningful then some riddles or BST traversal.
It cuts two ways - if the hiring company expects me to waste, sorry, invest, my time reading their corp pages to make sure I have learnt all about them pre-interview, they can damn well take the time to read my profile and code snippets.
1. A single bad hire can do immense damage to a team and organization. I never fully appreciated this until I saw the consequences of bad hires, and as a hiring manager it's one of my biggest fears.
2. Labor laws and HR exist. You can't just willy-nilly fire people, there's a process in any well-functioning company to protect employees from management and vise versa. As a hiring manager this will generally reflect poorly on you.
This has caused interviewers, who are in the position of power, to make the process thorough and straining to protect themselves.
In many ways my philosophy has been shifting to the article's, which is to grow much more slowly and carefully. I don't think this scales well, but it leads to a personal process I can feel good about. I've been networking to meet people within the community, and I hope my future hires either come through personal knowledge of them or vetted referrals.
Google is actually capable of this kind of interview, but it's rare. I was referred to a manager a few years ago by an ex-coworker, and the whole process was great. I met the whole team, I went to lunch with the manager, he told me I could contact him if I had any questions, etc. I didn't end up joining, but I left with a very positive opinion of the manager and team.
The problem I see with his solution is on the other side. Alot of very good/creative developers and technical people tend to be of a non-social sort. As a result, restricting yourself to known people will inherently miss the people who don't move into the "scene" (whatever that happens to be). This just leads to a different set of problems and ultimately results in a "broken" process as well, just a different kind of broken.
Hiring is broken because people follow what google does.
Once google stops asking whiteboard, big o questions hiring will be "fixed". As simple as that. This is the only to fix it, we don't need endless discussions every week about this.
I don't think I have a problem with organizations like google that need to filter candidates. For all I care roll dice. It's companies that have positions open for 6 months waiting on the "one."
Great advice for hiring the first 50-100 hires after that your hurting your self. You just need meat that point.
What do you think of our trash guy he has 4 phds and we pay him 400k a year.
The funny thing is, when people say things like "hiring is broken", they usually mean different things. Hiring is very different in different markets and parts of the world.
I'm desperately looking for competent developers right now. I don't ask HR for help, and I don't really filter by CV: anyone who considers himself a "senior" is going to get a skype call from me. But the first thing I give them is an assignment, 4-8 hours of work for a candidate of desired skill level. I tell candidates this estimate right away, and after sending it out several dozens times already I haven't met a single one who would say "sorry, I'm to busy to work on that for free". Before starting this process, I was sure this will going to be a problem, and I was sincerely surprised that it didn't happen once.
That's because pushing back against a potential employer like that is the HN version of Internet Toughguy Syndrome. You might also be surprised how few people respond to a mugging attempt with a well-placed roundhouse kick.
- If they have public code, talk about that. Maybe ask them to add a feature onto THEIR code.
- If they have no code, give them the option of take-home work or a whiteboard test or a live coding session.
- If they have no code and don't want to do a take-home or whiteboard or live coding session, and you are both senior level, then just talk about work. It should be pretty clear whether they'll be a fit.
- If they have no code, don't want to do a take-home or whiteboard or live coding session, and are NOT senior level, you should probably pass.
People will probably feel better and do better in the interview when they feel they can have a choice in how they are examined because they can plan to show their strengths.
The only downside is that with this is it becomes a bit more difficult to track how well your interviews go with a grading rubric or something.
Yeah, I concur. There are a million other ways to test someone's knowledge. Rather than having them write a merge sort (for example), giving them one that either doesn't work or is suboptimal is a much better way to assess their abilities. (Or maybe pick something more real-world than a merge sort since nobody writes their own sorts anymore.) But you get to see how they deal with existing code, how good they are at debugging, and things like that. Those skills are probably going to be used more than writing new stuff from scratch anyway.
Often I ask myself, why do employers set up the interview?
I mean, both parties want something.
The best interviews I had (now I'm freelancing so I don't have to do them anymore) were when the employer had no idea how to interview.
They asked me what I did and what they do and told me what they want from me.
I asked them how they work and what they have to offer.
The moment they tried to set up some interviewing process, with special questions asked by people with no technical skills and strange tests, everything went downhill...
[+] [-] ryandrake|10 years ago|reply
Wow, OK. I suppose this is fine for someone who doesn't actually want a job, or in those rare times when the hiring market favors candidates. But in most cases, the company will just move on to the next resume in the pile. Why bother with this kook when there's a line of people outside eager to have a shot?
>“Hmm… you know what? I’m really sorry, but I think maybe we got our wires crossed somewhere here. I’ve had experience on the hiring side of this sort of interview style in the past, and I’ve seen it result in some really sub-optimal matches, so I’ve adopted a policy of having certain deal breaker cues in the interviewing process. So at this point I can safely say I’d be unlikely to accept an offer, and I really wouldn’t want to waste any more of your time."
Expected response: "Well........ Bye."
I appreciate the effort put into wording that nicely, but really all you're saying is, "Company, you need me more than I need you, and I expect YOU to jump through MY hoops." This is only true when you're a one-in-a-million talent. It's not going to work for the other 999,999 people.
[+] [-] JanneVee|10 years ago|reply
No it is not. I have a job. I'm too busy taking time out of my day to explain concepts that I barely use and not going to be using at employer who is asking them. That is the broken part. They are passing up on good hires with irrelevant crap because some them don't have the time.
> Why bother with this kook when there's a line of people outside eager to have a shot.
Because the kook that refuses to explain merge sort might be better at the job than the guy who desperatly jumps through hoops.
[+] [-] untog|10 years ago|reply
Which is... right now. I think this strategy could absolutely pay off. And your objection seems to be that if you say these things then the company isn't going to hire you - that's the point. It isn't a negotiation tactic, it's "I am taking this interview procedure as a reflection of the company as a whole and that gives me sincere reservations as to whether I'll be a good fit".
No, I wouldn't recommend this when you're fresh out of college. But many experienced developers absolutely do not know their worth - you shouldn't have to go through that crap when your resume clearly states you are capable.
[+] [-] mindcrime|10 years ago|reply
The thing is, not all companies do this. And there a LOT of other companies besides Google and The Usual Suspects. Heck, there are a lot of companies that aren't "tech companies" but they still employ developers. And they are probably less likely to do the whole "grill you on Data Structures 101" thing than Google. It's something to consider...
[+] [-] robodale|10 years ago|reply
My time is more valuable to me than theirs. They jump through my hoops.
[+] [-] 20years|10 years ago|reply
I refuse to take captive positions partly because of the craziness in the workplace but also because I can make much more contracting then what most employers are willing to pay.
Funny thing is now you are starting to see companies looking to hire contractors and wanting to make the contractors jump through these silly hoops (taking silly quizzes, take home projects, etc.)
I always come back with a proposal that includes cost & timeline to complete the take home project. I have gotten a couple gigs that way :)
[+] [-] beachstartup|10 years ago|reply
uh, no. he doesn't expect them to do anything, especially not jump through any hoops, because he doesn't want to work for them. end of story. that's it, there's no catch. have a nice life.
if you don't understand that, it's no wonder you're on the other side of this fence.
also, your use of the word "need" is telling of your mindset.
[+] [-] st3v3r|10 years ago|reply
Aside from Apple, Google, Facebook, do companies have this? Hasn't industry been complaining constantly that there isn't enough talent?
"Expected response: "Well........ Bye.""
So? The person just expressed their intention to not work for the company. You're acting like the company choosing to pass is now a terrible consequence.
"Company, you need me more than I need you, and I expect YOU to jump through MY hoops."
They're not really asking them to jump through hoops. Just don't be stupid.
And yeah, the company needs workers more than the worker needs the company.
[+] [-] forgetsusername|10 years ago|reply
Yes...and? That's why they're looking for someone. If you're confident in your skills, why would you be grateful for employment?
[+] [-] wfo|10 years ago|reply
But he's saying it's okay to walk away from what you know from the hiring process is likely to be a bad job.
If you're destitute, desperate and dying on the street, this is bad advice.
If you are already happily employed, this is good advice.
If you are somewhere in between, it's something interesting to think about. Almost as if it were in a long-form blog posted on Hacker News.
[+] [-] loup-vaillant|10 years ago|reply
(I assume "on-in-a-million" is an exaggeration to mean "exceptional")
How skewed do you think the market is? Many here talk about developer shortage, suggesting an employee's market. But let's assume this is an employer's market, and the employers can really chose: how exceptional exactly does one have to be to afford to be picky about the interviewing process? My guess would be between one-in-ten to one-in-a-hundred. No more.
I think this is really about status. Employees have lower status than their employer. They owe them obedience and loyalty (by law in most countries). Employers even expect a fair bit of deference most of the time. They expect the prospective employee to "know her place", and that includes putting up with dubious trivia questions.
Sure, if you must work at some top hot shot reputable company, you need to put up with their processes, however silly or gruelling. Or you could decide they're not so hot after all, and search elsewhere.
Even then, done right, refusing to jump through hoops raises your status. By acting like you're bargaining from a position of strength, your strengthen your position. If on the other hand you let them taking you for granted, they'll think less of you.
Now there are those who expect spineless sheep. They tend to reject me. Fine with me, I would be unhappy with them anyway.
[+] [-] pkaye|10 years ago|reply
[+] [-] cjcenizal|10 years ago|reply
If you find the companies you're interviewing with consistently fail your test, then bring your pattern-identifying skills to bear and figure out why. Maybe all of the companies you're interviewing at have something in common (they're all startups, they're all Fortune 500s, the CEO isn't technical, the roles are too senior/junior). In which case you should break the pattern and apply for work at different types of companies.
Or possibly the pattern lies within yourself. Do you consistently fail the same kind of technical tests? Does your answer to a specific question ("Can you show us a large codebase you've worked on? Oh, you can't?") tend to elicit the same negative answer? Then maybe you should focus on strengthening those weaknesses.
[+] [-] nostrademons|10 years ago|reply
So...make tech even more of an old-boys club than it already is? Because that's what people will be complaining about if the only way to get a job is to know someone or be known.
Really, there isn't a solution here. Any system you use to allocate desirable jobs to an oversupply of applicants will result in folks who believe they were unjustly excluded. What would fix the problem is for people to define "desirable" in different ways, with a bias toward "the place that I actually ended up at". Love what you do, don't do what you love.
[+] [-] mazelife|10 years ago|reply
When you say, "What would fix the problem is for people to define 'desirable' in different ways, with a bias toward 'the place that I actually ended up at'," that seems to me very much what he is suggesting.
[+] [-] db1024|10 years ago|reply
I got an offer from them, but I declined without hesitation. I interviewed at Facebook and that process was great. At least one of my coding interviewers did read/skim my github code beforehand. Woo, keep it up!
[+] [-] Benjammer|10 years ago|reply
There's already a baseline of bullshit to deal with everywhere anyway, it's part of almost any job. If a company thinks there's so much bullshit and/or difficult people to deal with that they need to screen for it during interviews, that seems like a HUGE turnoff to me wanting to work there.
[+] [-] percept|10 years ago|reply
I get the part about being busy and not devoting adequate time to reviewing a candidate's portfolio (though sometimes you're pulled in at the last minute), but I wouldn't take this out on someone--I'd hope we all remember what it's like being on the other side of the desk.
[+] [-] jchendy|10 years ago|reply
[+] [-] pklausler|10 years ago|reply
However, I'd like y'all to consider the problem from the other side of the table. I conduct a lot of technical interviews. I desperately want to avoid bad hires. How do I avoid the bad hires? It's a really hard problem and there are consequences from both false positive and false negative signals.
Google asks "big-O" type questions not because they're shibboleths or useless trivia. It's practical knowledge in an environment where things often have to scale up to absurd degrees. Most candidates haven't had experience in that kind of environment, so interviewers are looking for signs of aptitude. Knowing which kinds of algorithms can scale up is a sign of that aptitude for those kinds of problems.
Lately, I've been asking more questions from the domain of what I call "programming in the small" -- the kinds of things that crop up when actually writing or reviewing or debugging code. I do this because I've learned that the ability to construct an airtight Boolean predicate expression to test for a well-defined condition is a survival skill for good programmers.
If you're a good candidate, then I'm sincerely sorry that I waste some time (for both of us!) talking with you about some basic stuff rather than having a more interesting technical conversation.
[+] [-] bluetomcat|10 years ago|reply
If I have provided a GitHub account with some interesting code, then sure as hell I have demonstrated that I am able to compose "airtight" boolean expressions.
Just like I have to be informed about your company before interviewing, take your time to inform yourself about me.
[+] [-] brianbarker|10 years ago|reply
Like standardized testing, the way to win is to get good at taking the tests. Even if you disapprove, this is how you get a job. I've accepted this.
[+] [-] askyourmother|10 years ago|reply
[+] [-] FussyZeus|10 years ago|reply
The ideals are always nice to have, but if I have to fight with a new hire over every built-in process because he doesn't immediately see the value in it, I'm going to get irritated at him.
[+] [-] beat|10 years ago|reply
If you need to recruit, you need to offer at least one, preferably all three.
[+] [-] emodendroket|10 years ago|reply
Excellent. As we all know, the tech industry's biggest problem is a lack of insularity and out-of-control diversity and this strategy is sure to help.
[+] [-] loserpenguin15|10 years ago|reply
The negative cost associated with one bad hire can often outway the gain from one great higher. So if a company has to pass up on some great candidates in order to maintain quality they are going to do it.
Are there better ways than trivia questions and whiteboard coding to prevent bad hires? Of Course. One of my co-workers brings up the hiring practice at his old job. They would fly all potential candidates out to their office and have them work (paid) with the team for one day. From there, they would take their top picks and have them work (paid) for a week. From that group they would choose who to hire. My co-worker always remarks about how great of a process it was. However they were also only ever hiring for one or two positions a year. When you're trying to hire as many qualified applicants as possible, these kinds of in depth interviews just aren't efficient enough.
So the negative cost of hiring a bad applicant, in addition to the problem of trying to hire as many people as possible with minimal cost leaves us with interview techniques that don't cater to everyone. But they do do a good job of weeding out bad applicants, even if that does mean passing on good applicants.
Now I'm not saying this is the right way to interview, I just think this aspect is commonly left out of these discussions.
[+] [-] mixmastamyk|10 years ago|reply
A company can look at my online work, read my written communication, have a nice chat on the phone, and then perhaps can hire me for a short contract to write a component to see how things work out. If they don't they don't have to pay.
I'm also considering not allowing video on the calls also, and will experiment with that. For the last five years I haven't gotten any work from startups (even though I specialize in python and javascript) and wonder if it is due to the fact that I don't dress like a lumberjack and am not as young as I used to be.
[+] [-] BookmarkSaver|10 years ago|reply
I've never considered live video of me a requirement in any professional or technical context a requirement unless I was actually doing something visual that explicitly requires it. When on the job I've never even bothered asking if it was ok to not have my camera on, and in interviews I've never thought twice about letting the interviewer know that I won't have a video stream up. Sometimes its because I genuinely can't (either poor internet or the fact that I don't have a webcam for my desktop) or I just don't feel like it. It's not about some high-minded principle regarding discrimination or a tactical decision or anything, I just don't think that video conferences add anything to audio in any situation except visual presentations or personal/emotional contacts (GF or family). I've been in a LOT of live calls in a lot of contexts and I've never noticed the other party having any issue with this, no interviewer has detectably taken it negatively.
I'd also like to add that I don't always have my camera off, just that I don't feel any pressure to justify myself when it is turned off, which is most of the time.
[+] [-] robodale|10 years ago|reply
[+] [-] skybrian|10 years ago|reply
This is a clearer signal than "cultural fit" (whatever that means).
[+] [-] ChemicalWarfare|10 years ago|reply
Can also serve as a good source of questions - can the candidate answer questions about his/her own code? Much more meaningful then some riddles or BST traversal.
[+] [-] askyourmother|10 years ago|reply
[+] [-] rm999|10 years ago|reply
1. A single bad hire can do immense damage to a team and organization. I never fully appreciated this until I saw the consequences of bad hires, and as a hiring manager it's one of my biggest fears.
2. Labor laws and HR exist. You can't just willy-nilly fire people, there's a process in any well-functioning company to protect employees from management and vise versa. As a hiring manager this will generally reflect poorly on you.
This has caused interviewers, who are in the position of power, to make the process thorough and straining to protect themselves.
In many ways my philosophy has been shifting to the article's, which is to grow much more slowly and carefully. I don't think this scales well, but it leads to a personal process I can feel good about. I've been networking to meet people within the community, and I hope my future hires either come through personal knowledge of them or vetted referrals.
Google is actually capable of this kind of interview, but it's rare. I was referred to a manager a few years ago by an ex-coworker, and the whole process was great. I met the whole team, I went to lunch with the manager, he told me I could contact him if I had any questions, etc. I didn't end up joining, but I left with a very positive opinion of the manager and team.
[+] [-] emeraldd|10 years ago|reply
[+] [-] dominotw|10 years ago|reply
Once google stops asking whiteboard, big o questions hiring will be "fixed". As simple as that. This is the only to fix it, we don't need endless discussions every week about this.
[+] [-] sharemywin|10 years ago|reply
Great advice for hiring the first 50-100 hires after that your hurting your self. You just need meat that point.
What do you think of our trash guy he has 4 phds and we pay him 400k a year.
[+] [-] jschwartzi|10 years ago|reply
[+] [-] programLyrique|10 years ago|reply
If reading/skimming github repositories is too long, maybe developing visualisation tools, machine learning tools would help for that.
I wonder why Google has not already done that, although they are known to automate their system administration heavily, for instance.
[+] [-] golergka|10 years ago|reply
I'm desperately looking for competent developers right now. I don't ask HR for help, and I don't really filter by CV: anyone who considers himself a "senior" is going to get a skype call from me. But the first thing I give them is an assignment, 4-8 hours of work for a candidate of desired skill level. I tell candidates this estimate right away, and after sending it out several dozens times already I haven't met a single one who would say "sorry, I'm to busy to work on that for free". Before starting this process, I was sure this will going to be a problem, and I was sincerely surprised that it didn't happen once.
[+] [-] nat|10 years ago|reply
[+] [-] known|10 years ago|reply
[+] [-] FLUX-YOU|10 years ago|reply
- If they have public code, talk about that. Maybe ask them to add a feature onto THEIR code.
- If they have no code, give them the option of take-home work or a whiteboard test or a live coding session.
- If they have no code and don't want to do a take-home or whiteboard or live coding session, and you are both senior level, then just talk about work. It should be pretty clear whether they'll be a fit.
- If they have no code, don't want to do a take-home or whiteboard or live coding session, and are NOT senior level, you should probably pass.
People will probably feel better and do better in the interview when they feel they can have a choice in how they are examined because they can plan to show their strengths.
The only downside is that with this is it becomes a bit more difficult to track how well your interviews go with a grading rubric or something.
[+] [-] vitd|10 years ago|reply
[+] [-] k__|10 years ago|reply
I mean, both parties want something.
The best interviews I had (now I'm freelancing so I don't have to do them anymore) were when the employer had no idea how to interview.
They asked me what I did and what they do and told me what they want from me.
I asked them how they work and what they have to offer.
The moment they tried to set up some interviewing process, with special questions asked by people with no technical skills and strange tests, everything went downhill...