The only thing that really did bother me was two engineers showed me a game they were working on and asked me what I thought. We talked a bit and I ended up giving them a bunch of "here's what I'd do to make the game more fun/interesting" ideas, and everything I mentioned was at some point added to that game (these were fairly basic concepts such as level designs, so it's possible they had some thoughts on their own). I learned never to give advice to a company without compensation, at least.
I once had an interviewer with two (TWO!) PhDs. He made sure that I knew he had two (TWO!) PhDs by handing me his business card as we sat down and casually remarking that he had two PhDs (see, right there, two of 'em, yupperoo). This behavior ("he's kind of jerk, and he has two PhDs") had been accurately foretold by the prior interviewer (that session had gone great).
The guy-with-two-degrees asked, "What is the simplest way to synchronize two threads?"
Well, "simple" is pretty fluffy and subjective, so I asked what he meant by it.
"You know, the most simple way."
It didn't get better. I probably made a mistake, and started naming a bunch of synchronization schemes. "Mutex? Semaphore? Dekker's algorithm? Spinlock?". Each mention got a response like, "No, I mean simple. Simpler!"
I never got it. The rest of his questions were similar ("What is the best way to do RPC?"). His parting words to me were, "You need to go back to school."
The specific answer he was looking for was, "mask off interrupts". Doesn't work on multiprocessor systems, so I'd not even mentioned it. I wrote their hiring manager a polite email along the lines of "thanks for the interview, here's one question that I got wrong and why."
No surprise, I didn't get an offer.
Four or five months later the firm called me back, saying that they had fired the jerk and was I interested in interviewing again? I told them I was pretty happy where I'd landed. (I did not congratulate them on firing the jerk, and I suspect they'd had trouble hiring anyone while he was there).
If I didn't have a family to support and a mortgage to pay, I'd consider doing a second PhD, given how much I enjoyed my first.
I'd say he's extremely unique, it's far from the typical.
I also just had a double PhD apply for a job with me - one PhD in stochastic differential equations, one in machine learning.
It’s rare, for sure, but not unique.
But when I got to college, one of my professors had been this first guy's student, and one of my other professors had been the second professor's student.
fwiw...
We never made a no-hire decision based on one answer, and nobody ended an interview after one question, unless there was some sort of emergency. Site outage, fire alarm, that sort of thing.
> He went on to ruin digg.com (the rewrite everything guy)
I didn't ruin Digg. Ruining Digg was an all-hands-on-deck multi-year team effort. I wasn't involved in the decision to rewrite it and didn't agree with it. I don't know for sure who was, or what pressures were at work behind it.
What I do know is that our VPE came to me and said that we were going to rewrite Digg from scratch, and do it in six months, because the code was a mess and it took too long to do anything. Which was true.
I told him it was a terrible idea and we should figure out the end point we wanted to be at, then incrementally refactor our way towards it.
He said we'd tried that and it didn't work, so we were throwing away everything and rebuilding it from scratch. In six months.
I said that if we wanted the slightest possibility of success, we'd have to cut features to the bone and ship a minimal version we could quickly iterate on. I suggested cutting the ability to comment on stories.
He told me he didn't think we needed to do that, and we were going to ship a feature-complete version of Digg in six months, from scratch.
It was a completely bananas project, doomed from day one, and I wasn't shy about saying so — I told anyone who'd listen that I gave it a 50/50 chance of destroying the company. The promises made about what would be delivered & when were completely unrealistic and unreasonable. There was nobody articulating what we were supposed to be building, or to say no to what shouldn't get built. Into that leadership vacuum flowed a torrent of well-intentioned but (in my opinion) misdirected ideas for what the thing should be, which ate that first six months in the blink of an eye.
> I promised myself to never be a dick to people I interview.
I personally going through a personal mini trauma.
I don’t want explain what is it. But the way you think is very fascinating to me. I want to be a person like you. Not some asshole who literally ruined 1 year of my life.
Checking his LinkedIn it seems he works for what amounts to a modern payday loan (now the users pay with privacy loss and a monthly subscription instead of high interest) website now.
Why?
Sounds like the interview process worked for you. You found out that you don't want to work with him and didn't.
I've interviewed around 40-50 folks for $role at $wildly_successful_megacorp.
My qualifications: zero training, zero oversight.
I'm getting a lot better and more consistent. But I have still left a lot of interviews thinking how poorly I have done, and needing to reflect on how things could have gone differently.
It's very easy to think of interviewing folks as a chore or merely a favor to $other_manager. For something so vital to the long term health of the company, it's really appalling how little effort is put into it.
And so companies turn that around and say "Let's take our best and brightest, and have them interview candidates! Then we'll select the best candidates!"
But it's the same research / teaching faculty problem, where one skillset does not imply the other.
But putting that function in the interviewing process seems awkward...
The most difficult lesson I've learned is even the worst person in the world has their uses and I only hurt myself by not admitting that.
If I can't stand a team I move on as quickly and professionally as possible because life is too short to fight pointless battles.
He's technically right though. For instance in postgres, you don't need to have a GROUP BY clause when using HAVING https://www.postgresql.org/docs/current/sql-select.html#SQL-...
Clearly not something to nitpick over in an interview