Live data from Hacker News

How not to hire a software engineer

tonsky.me

111–120 of 239 posts

Re: How not to hire a software engineer

#111

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.

I despise the "legal risk/threat" aspects of this process, which is most likely the reason nobody can actually tell you something useful. In many large companies you can't even provide critical feedback to your own employees, and if you end up letting them go as a result, you are unable to tell them what really went wrong.

I understand an aversion to legal risk, but IMHO this is going to an extreme that hurts all of us.

Re: How not to hire a software engineer

#112

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…

> 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. this is exactly the company/boss i would not want to work for. It is exactly the opposite. You should not care if the person if familiar with the tech you use. Who cares if you do php or c#? Does it REALLY make any difference when it comes to ta…

Yes.

Because if they don't have a deepish understand of the language and framework IME they tend to write crap code.

If someone is being hired to write C# /.NET all day every day I don't want to have to spend time teaching them C# or .NET

Especially not how to write good C# / .NET.

Re: How not to hire a software engineer

#113
post #106

I like giving coding “tests” but I prefer to let the candidate pick an issue from an open source project ahead of time. I want to be on as close to the same footing as the interviewee. I like to see them work in as comfortable and nerve free environment as possible. And in the event that the person doesn’t get hired, they have a commit on their GitHub and maybe added some value to a project.

I really like this. It gives the candidate the chance to walk out of the room with something

Re: How not to hire a software engineer

#114
On the plus side: I wholeheartedly agree with all those points.

On the contra side: Nothing of this really felt like it helped me. I found interviewing people absolutely horrible and almost never had a good feeling. People who seemed like they may have been a good fit didn't get offers for one reason or another, some people seemed awesome in the interview and then weren't. Overall I've been happy with the decisions I personally made (not all that the team/higher-ups then made) but even with the best of intentions.. it's hard. But it was a small company so maybe it was already a problem of not looking very interesting to some.

It still amazes me that some people seem to be utterly disinterested in what your company does or how they will work in a team, asking basically zero questions besides "how much money?" and "which language?".

Re: How not to hire a software engineer

#115
> How to check if a linked list has a loop? Does one N-dimensional box fit into another N-dimensional box? Can you swap two variables without a third one? How to find the shortest distance between two moving ships? Find all permutations of N elements doing only N-1 swaps?

> Those puzzles are fun to talk about and solutions to them can be very insightful. I used to enjoy lots of them reading Mathematical Recreations and Essays as a kid. Don’t take me wrong, they are fun.

> However, no matter how fun they are, they are merely anecdotes. The property of a puzzle is that you either know the answer to it or you don’t.

I disagree with how the author lumps these questions together. Questions like "Find all permutations of N elements doing only N-1 swaps" are actual brain-teasers and typically require a flash of insight and creativity beyond what most people can do within a 45 minute interview. Questions like "Does one N-dimensional box fit into another N-dimensional box" are algorithmically challenging and can be approached from first principles and solved within an interview. One question does not carry signal, the other does not, and by categorizing them together the author suggests that neither are useful.

Re: How not to hire a software engineer

#116

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…

How do you check for those things in an interview? I'm not suggesting you can't, I'm genuinely asking.

Re: How not to hire a software engineer

#117

I've helped hire 3 software engineers to both work with me and mentor me and they were all failures. First two hires quit after only a few weeks. Third hire was temporarily successful. He eventually revealed himself to be both a jerk and not very technically skilled, so I spoke to higher-ups to get him removed. My hiring strategy was designed to be simple and respectful. A simple, 20 minute assignment completed betwe…

You didn't even mention what those 3 interview questions are like which is the whole point of this discussion. You made the conclusion with 3 data points. I could just as easily make a conclusion about the common denominator of all this which would t be fair to you.

Re: How not to hire a software engineer

#118

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…

I interview quite a lot, and one of the things I try to do in an interview is work through a problem that I almost certainly understand more deeply than any of the candidates (both because it's my niche and because I've worked through the exact problem with hundreds of candidates before). There's a certain minimum bar that I expect any educated and intelligent individual to achieve if they're a good match for the job…

I would think that anyone hiring a Ph.D. in Computer Science would be looking for a different kind of output than the knowledge of actually doing software development and the associated project management/time management work. I would imagine that such people, if placed optimally, would be doing largely self-directed work with an expectation of solving a very complicated problem, with work output that looked more like a thesis than a program.

I further surmise that very few companies need these kinds of people. If your needs are people that can be managed to do basic programming tasks (my job as well), then that's what you hire. That's something like 99% of all programming work.

It's like hiring someone that understands the building of nuclear power plants, and being surprised that they don't understand basic home building codes.

The saddest part of it, for me, though, is that someone with a Ph.D. in Computer Science that is searching for a job in the non-research sector is probably having a really bad time. Research is happening, but I don't think it will jump in a very large way until there are a lot more dollars being pumped into research using public money.

Re: How not to hire a software engineer

#120

I suppose I'll be the first to say that yellow as a background color is a horrible design choice. And it's not even using the background color CSS option alone, it's got some weird tiled single pixel yellow image on top of it! What??

Couldn't stand 5 minutes looking at it, sadly.
Post reply on HN