Hiring Great People (and rules for how we do it)
blog.tinfoilsecurity.com
blog.tinfoilsecurity.com
Argh. These rules are toxic. You are unlikely to predict your best hires. A lot of evidence suggests that engineers are uniformly bad at making subjective judgements about future performance. The "Sunday" and "Caller ID" rules basically put a deceptive veneer on the most subjective of all criteria: the "gut check".
That's bad enough, but both rules also have a pernicious culture effect. In companies full of 20-something Red Bull drinking 11a-9p gamer nerds, the rule gets you more gamer nerds. In companies full of 30-somethings with kids, you get more people with kids. This is exactly what you don't want to have happen; a real culture adapts to any positive competent person you find. Good cultures figure out down the road how to get people to hang out outside of work. They also accept people who just don't want to spend their out-of-work time with their officemates. Why would you want to filter those people out? That property has no known correlation to ability or performance.
Finally: do you really want to be the hiring manager who says out loud that you have a rule built into your hiring process that involves people working on Sunday? Don't make people work on Sunday.
The sooner we kill the "Sunday rule", the better.
How I look at the Sunday test is less of a "are they like me" and more of a "will I get along with them many hours a day"? We work anywhere from 7 hours a day, up to 18 (especially during major code pushes) - we try to avoid this as much as we can, but sometimes (for us at our stage), it's inevitable.
I do have to enjoy working with my colleagues, and someone for whom I won't be willing to come in on a Sunday has a higher chance of bringing me down on a regular basis. That doesn't mean we work Sundays (we're typically in the office M-F), but it's important to be able to get along with people and it's a good litmus test, imho.
You should certainly rule out people who are disagreeable, or who immediately send signals that they'll be logistically difficult to work with. But you should base those decisions on some kind of objective metric. That requires some up-front thought: what are core hours? Do we avoid meetings and thus require lots of continuous written feedback? Do people need to be comfortable with our chat system?
But as you think of those metrics, start to worry when you get to things like "will this person usually be available to review code prior to deployment on a Saturday night?".
That, of course, only applies to programmers. On the other hand, if I'm hiring a salesman, I'd want that person to be the kind of person who puts all their effort into being a likable person. The same goes for hiring managers. Being a likable person will get you far in many positions in a business. Programming is not one of them.
https://news.ycombinator.com/item?id=2030433
'iamelgringo (who I miss!) is telling me that just because I feel like I get a good night sleep on 5 hours or whatever it is I get, doesn't mean my sleep quality isn't horrible due to apnea, and that maybe over the long term the apnea might kill me.
I think it's the same with hiring. Everyone thinks they do it well; you look around you, feel like you like everyone you work with, and then write up the process that got you there. What's dangerous is if your current success is a fluke, and the process you set up is a recipe to become insular, or a stepping-stone job for SFBA people, or (worst of all) one of those companies you can't work for if you're a mom --- and I know you personally don't want to be any of these things!
You are awesome and I'd love to work with you someday. I just hate the way you say you hire. :)
| it's not about "liking someone" necessarily, it's
| about being excited to be around them and work with
| them.
That's just another way of saying "liking someone." You can "like someone" for a variety of criteria.Unlike tptacek, I love the "Sunday test", because it acts as a filter for me -- I'd never work at a place where that question was asked in a non-sarcastic way.
I have to admit though that I don't really get why you'd use the "Sunday test" and the "Caller ID" test, since both are differently worded ways of gauging exactly the same thing. Seems like you could simplify it down to the "Is this guy (or girl) an asshole or what?" test, but I guess just asking it outright like that doesn't give you the same process-hipster cred of having heard of these other "tests".
It's not about 'process-hipster cred' - most people who know me will tell you I don't give a shit about anything like that. It's about having questions to keep in mind when evaluating a candidate and your ability to work with him/her. "Is he/she an asshole?" is one such question, but these are others that we have found to work well.
Disagreement is one of the things that I think we tend to be pretty open with at Tinfoil. Not everyone has to agree with a decision, but they always get airtime to voice any concerns and for those to be addressed or at least considered/acknowledged.
I ended up ranting at the CEO and CTO about how their hiring practices were excluding the best people because they were treating candidates like their time is free. The claim was that they wanted to hire the best people, yet their hiring practices were dissonant with this.
They said it was an acceptable trade-off to not have access to the best people in order to ensure they got people that were going to do whatever they asked them to do. At the time they were trying to hire a designer, but the practices carried over into engineering hiring too.
They want people too foolish to value their time, yet smarter than them. Riding that knife's edge isn't easy.
Before I became a professional developer, I was a professional pilot who programmed as a hobby. Right after graduating college in 2006, I got a job right out of school working for a flight school. The school specialized in training Chinese people to fly.
Anyways, this was back before the economy exploded. There was a shortage of instructors at my school. I was assigned 4 students that I would be teaching mostly one-on-one. Three of the four students were really cool and very likable. The fourth I didn't like at all. Lets just say we didn't get along well. The guy was very difficult, and hard to communicate with. The other three were a joy to work with.
If I had the luxury of dumping that fourth student onto another instructor, I would have. But this was back in 2007, and the economy hadn't tanked yet, so there was an instructor shortage, and I had to grit my teeth and deal with this guy.
Fast forward to a month later. The tables have turned completely the other direction. The fourth guy who I hated at first was my favorite student. The three students I had liked at the beginning now were the ones giving me the most greif. The extroverted easy to work with likable guys were pleasant to deal with, but they weren't very smart, and I had a lot of trouble teaching them stuff. The fourth guy was hard to deal with, but he was extremely smart and I barely had to teach him anything, he learned everything on his own.
Once the economy got bad, the student/instructor ratio fell. The flight school hired a bunch more instructors and got less students. Every instructor got 2 students instead of 4. I made it a habit to go around to all the new instructors and ask them if they have a student they they don't really like working with. 4 times out of 5 the instructor would tell me "yeah I have this one guy..." My last 6 months at that job I had 8 students that basically taught themselves. That was easy money.
I've found the best way to deal with unlikable people is to just let them go off and do their own thing. The act like that (unconsciously) because they resent you getting in their way.
In the end I think both parties "won" by his dismissal, but companies hiring for culture fit should be aware that they're willingly constraining their talent pool by doing this. (I don't think it's necessarily wrong either -- I expect to have some form of latent character filter if I'm in a hiring position as well. However, I'm much more fond of the introverted, "difficult" types than the average person).
They also claim to want to hire people "smarter" than they are. I am not running a business, but isn't the danger here that "smarter" people take your projects/clients in a direction that your management is unable to provide leadership on, and then just bail, taking the project/client with them?
Source: http://www.gsworkplace.lbl.gov/DocumentArchive/BrownBagLunch...
Interesting read: http://blog.prettylittlestatemachine.com/blog/2013/02/20/wha...
If I could get one new hiring process adopted in tech, it'd be that one: come up with a graded work-sample test that will generate a history you can mine for data down the road.
"[UPDATE] Just to clarify the above, we do not mean that we ask candidates these questions. These are questions for the existing team when evaluating a candidate, and it isn't about forcing people to come in on a Sunday, or convincing ourselves that candidates are just like us. It is simply about hiring people we would want to work with, be around, and help / be helped by, no matter what the occasion."
the test metaphors can use some work though ;) i don't see how Monday test would be any different than Sunday test? you're still working with that person right?
i've been in a situation where i've made recommendation to hire because the candidate aced the interview, but i knew i had no interest in spending too much time with them on personal level. it was conflicting to say the least, but in the end he ended up making some good work contributions. It is almost impossible to tell how well the person will behave long term (i don't care what Gladwell says).
The critical point to be made is that the founder signed our paychecks. Until after the company dissolved, you couldn't tell who was doing it for office politics reasons or out of genuine friendship. Today, only 15% of those employees still speak to the founder.
In my opinion, it's best not to approach hiring in the same manner as dating. At the end of the day, it's a business arrangement and it's about getting high quality work done in exchange for money.