Hacker News new | ask | show | jobs
by tinkertamper 2020 days ago
Recently I started trying something new for our interviews. I start with a phone interview that is more about discussing their background, expertise, what they need to feel productive, and explain the role. If I think they’d be a good culture and expertise fit, I send them something like this (I’ve made a few): https://gist.github.com/tywalch/cf60e4c942ab6a80e481f4ba6754....

It’s a small “api service” that represents a POC with some bugs and bad practices. I tell them to look over it, write down notes on how to make it production ready, setup a time to discuss their thoughts in a second call. No code writing necessary.

It ends up being an excellent Rorschach test where folks can really show/express their unique skill sets and experience. I ultimately let them drive the conversation and it gives me great insights into what experiences have shaped their career and what it might be like to collaborate with them. Best of all it does resemble what some of their day to day might look like better than hand crafting some tree algorithm.

4 comments

I had an interview a few years ago where they literally hauled out some of their legacy code (unstructured PHP written in the PHP 4 era), and asked me to make a list of what I'd do to clean it up and make it more manageable. No coding involved.

It was a very pleasant experience from this side too and allowed me to express all of my domain knowledge without making a significant investment. This is such a great approach IMO.

Damn that SQL injection will get you owned in 3 seconds or less :D
It really really sucks that it’s almost 2021 and we still have to try to sneak in a little SQL injection just to see if they know about it...

Ffs is that never going to go away?

the only way it could possibly go away for good is database libraries that don’t support dynamic SQL. But you almost always need the flexibility at some point, and SQL is so powerful that taking it off the table is hard to justify.
just use prepared statements instead of string concantenation to build your SQL statements.
Yes, there's lots of ways to fix SQL injection. I'm more surprised that after knowing about this vulnerability for 20+ years, its STILL lost on many developers. You and I pick up on it immediately, but there's (apparently) a lot of developers who think the code is "good enough, works for me" and ship it to production.

So it needs to be asked for in interviews, and if you find it and discuss it you're apparently one of the "better" programmers. The bar for being a passable programmer is literally on the floor.

Absolutely, but most database libraries still allow concatenation.
That’s cool, I’d actually enjoy getting this instead of being asked to build yet another production ready app in “two hours but you can spend more if you like hint hint and then we might even get back to you”
TL;DR: you're testing for likability and other emotional response.
I disagree. This taps into a lot of technical know-how and communication skills.

It’s a well-rounded examination of how someone can contribute to the development of a product. That such a well-rounded assessment happens to include examining your likability or “other emotional response” is just a byproduct of testing how well someone interfaces with other humans - part of the job almost always.

You’re saying that as if social skills were worthless, and likability unimportant for working together. I wonder where that sentiment comes from.
The grandposter actually doesn't say "social skills" are worthless. You're kinda putting words into their mouth. They only claim that that type of interview is biased for one factor.
"Culture fit" is one of those things that seems to be used as a proxy for traits that are illegal to take into consideration during the hiring process.
At its worst case, sure. But it also means, can I work with this person? Can we be productive together? Are they picking up what I and the rest of the team will be throwing down?

Everyone has had to do a terrible group project in school where the group dynamic was just not there and the whole thing suffered, despite all the smarts being at the table. This is to attempt to avoid that exact same thing from happening, because often you just don't have the time to flub around telling someone how to document something properly for the 10th time.

Also a proxy for not wanting to build a team where people don't like each other. Culture fit isn't a bad thing unless you take it too far.
It's OK to challenge people's beliefs. Make a misogynist work with women on their team. Don't enable those sorts of attitudes
We recently spent a long time filling a position. We're a relatively small team, where it is paramount that one works well with the rest of the team.

That doesn't mean you got to fit some tight social profile, far from it.

But since we're a small team each person has a lot of responsibility, and so we need to trust the right decisions are made for the right reasons, that communication won't be an issue, that you can handle dealing with customers for projects and troubleshooting etc.

We don't need the best skilled coders. We need developers who're good at finding solutions to our customers problems, within the constraints of us being a small team with limited resources (time most of all). We need someone who's capable of learning new technologies as the needs arise, and we need someone who can communicate well within the team and with our customers.

When I got hired, my actual coding skill wasn't really a topic. I didn't get a single programming quiz or similar question. They were far more interested in my background, what sort of projects I had been working on, what motivated me etc.

I can understand this concern though I can assure you when I say "culture fit" I'm considering it a two way street.

A good example: I had an interview earlier this week for a full-stack role and the inteviewee had recently come off a two year project that was heavy on react. The project he'd be on has a jquery frontend. I told him candidly that the project would likely never make a "modern" refactor a priority, and asked him if he could still be happy in a role that used jquery.

Our full-time team is small and ensuring we can all collaborate and work together is very important for us to be effective. On the flip side we try to be transparent about what our team looks like too and give you a chance to decide if you could be locked in a room, hashing out which circle talks to which on a whiteboard, with us.

If anyone believes this, I highly recommend trying to learn interviewing. It's a skill. You can read about it, you can get good at it.

It's probably a better use of your time than studying leetcode.