Live data from Hacker News

How not to hire a software engineer

tonsky.me

41–50 of 239 posts

Re: How not to hire a software engineer

#42

Lately I have done a few at home code challenges for companies. They usually take several hours. They are perfectly functional and use minimal code but, the only feedback I receive is: "we're not moving forward". They won't discuss anything with me. The only impression I get is that your company is terrible and I will never respond to your recruiters again.

Try not to judge the individuals too harshly in this circumstance - their lawyers have probably forbid them from saying much if anything at all.

I'll judge them all the same because it's not illegal to give someone feedback. Unless you have discriminatory hiring practices in which case the judgement holds true, or your legal team is so far up their own and everybody else's ass, the judgement still holds true.

Re: How not to hire a software engineer

#43

Maybe of topic, but: I find it interesting that the author lists user experience in his "what I would like to talk about" list yet uses super bright yellow as background .

Read it on mobile, found it surprisingly nice. On a large monitor I can see it being a bit annoying.

Re: How not to hire a software engineer

#44

Here's an idea for how to actually do a technical test (if you do want to do one). 1. You bring the candidate in to your office. You have their future desk already available with computer and development environment already functional. Pick a somewhat standard environment configuration. 2. Have an exercise already prepared. Best option is not a "build this from scratch" but have something that already works and needs…

In all my years of interviewing (~25), I've only had this happen once - I got sat in front of an internet connected laptop, given a perfectly sensible task, and left alone for half an hour.

Most of the time it's "solve this already thoroughly solved problem in your own time but with {one hand in a blender, whilst you're on fire, without using any variables}" or some such bullshit.

Re: How not to hire a software engineer

#45

All the things most programmers do these days are pretty mundane and the only thing you need to ascertain is if they are familiar with the technologies that are being used. "Can you show you know sufficient SQL? Did you write applications before using Rails/Django what have you? Distributed this, Web that - OK, jobs is yours." After all that the productivity of the programmer is solely based on the work environment a…

No, they are not. The things programmers do are not mundane.

The word you are missing from your description is "effects". The parts of program or system interacts with each other not only by passing and returning values, but also by effects. It is good if your effects are isolated in SQL with ACID, but oftentimes they are not. The interaction is often subtle when resource in conflicting usage is shared indirectly (systems programming, come here!). And in the end of the day you are more Sherlok than you could imagine you ever would.

I am here not to say that interview questions are perfect. I am here to say that things that programmers do are not mundane (or they would be automated out quite quickly).

Re: How not to hire a software engineer

#46

I look to see if I can trust them to not do dumb things. That's really it. What's the ego, arrogance, competence, willingness to ask questions, interrogate things, redefine problems to be less work (or none at all). Do you see what's not there? Programming language competency. Database knowledge. Things like that. I've been hired as a Ruby programmer, I didn't know Ruby. I was hired for mainframes in the 90s - I had…

> Do you see what's not there? Programming language competency. Database knowledge. Things like that.

I hear this a lot, but I'm not sure I agree 100%.

I want to work with people who can write idiomatic code and are able to use a database efficiently (or who are at least willing to learn these things).

Re: How not to hire a software engineer

#47
I really liked what my last interviewer did. He did not think of an abstract quiz to test some abstract skills. He took a Problem they where fighting with for some time and we just had a conversation about it.

When can you start?.. Tomorrow.. See you then.

Find someone you can work with on the actual problems you face: work with them during the interview. Just struck me as genius.

I was nervous about my CV not looking too good, he didn't even bother to look at it.

Re: How not to hire a software engineer

#48

Earlier quoted context omitted.

For me, honest and accurate feedback is the one thing that is missing. When I get rejected, the response is usually "You are not a good match to our company culture". What I would appreciate would be "Your lack of experience in managing remote teams is a gap for us." I feel that quality to the pool of candidates will increase once this feedback loop problem is fixed.

When I do interviews I try to give good feedback. My goal is that in 2 or 3 years if the candidate is interested in working with us again that they will certainly pass the interview. However, "You are not a good match for our company culture" is feedback I've definitely given and it's a bit hard to give details. There are a couple of main things. Usually when I have this issue it's because the candidate seems really…

Your comments are helpful and it is aligned with my observations as well.

I have been on both sides of the hiring table, and while the engineer in me wants to give constructive feedback so that the rejected candidate can better themselves for their next interview, the corporate management in me is telling to do something else.

It has been a conflicting point of view in my head ever since I got involve in hiring.

Re: How not to hire a software engineer

#49
post #15

Earlier quoted context omitted.

For me, honest and accurate feedback is the one thing that is missing. When I get rejected, the response is usually "You are not a good match to our company culture". What I would appreciate would be "Your lack of experience in managing remote teams is a gap for us." I feel that quality to the pool of candidates will increase once this feedback loop problem is fixed.

I'm not sure this is true but I've heard people who work in 'hiring' say so: from the company's point of view there is almost no upside to providing insightful and useful feedback, and there's always a chance that feedback will be used to sue for discrimination, or ridicule the company online, etc. Best to be generic and forgotten about by the candidate as soon as possible

Mostly this. I was a hiring manager at a big company where HR made it very clear we cannot give specific feedback to applicants. We also could not give references for the same reason; fear of being sued. But after a while you learn to speak in code for those cases where you really feel you need to provide meaningful information.

The last time I was asked for a reference I was contacted by a hiring manager who said they were about to make an offer and just needed a couple references. It was a previous employee who had been a particularly low performer. My response was "Company policy prevents me from providing any references. However, (pregnant pause) you should always be very careful and selective in your hiring process." The hiring manager asking for the reference was baffled. She must have been new and had not yet learned the code. Later I bumped into her at some industry event and she thanked me profusely because my non-reference prompted her to do more digging and she learned just how bad that candidate was.

Moral of the story: learn the code (strikes me as kinda funny on HN where the usual advice is learn to code)

Re: How not to hire a software engineer

#50
I don't ask brain-teasers during an interview, but time and time again the value of a simple coding assignment has proven its worth. It is simply amazing to me how many candidates seem to lack the basic ability to code a couple of nested for loops, and weeding those candidates out early streamlines the whole interview process.

I will typically do this on a phone screen, having informed the candidate beforehand that they need to be near a computer with an internet connection during the call. Typically this will be after business hours, so they're at home where they're comfortable, and on their own machine, whatever it is.

I use a site called rextester to administer the test. I've been using it for years, and it's fantastic.

https://rextester.com/runcode

As the tester, you go to the site, choose the language, and click 'live cooperation' at the bottom. Then you email or tell the candiate the link to follow, and both of you click on it to go to the shared coding editor. You can now see the candidate type and talk about how they're solving the problem, editing yourself to give hints/clarity if need be. To save time, you can have some code handy to paste in and pre-seed the problem if you choose (like a list of data to sort, etc.)

This tool has proven immensely useful in my interview process, and beats the hell out of whiteboard coding in person, IMHO.

[edit - spelling]

Post reply on HN