Live data from Hacker News

How not to hire a software engineer

tonsky.me

21–30 of 239 posts

Re: How not to hire a software engineer

#21

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…

Sadly I’m yet to meet an employer who thinks like this. Especially in Australia. I’m a C# developer not because I was born with C# DNA but because to use any other language in suddenly looking at junior wages. Even though I could do a great job in any programmming language. It’s insane.

Re: How not to hire a software engineer

#22

Interestingly in the last 6 months I’ve been on both sides of this: being hired and hiring others. It was really cool because it allowed me to understand what is actually good and useful in the hiring process from both ends. While hiring (only 2 people, one junior and one senior, both fully remote) I just had a ~45-60min chat about technical and non-technical things (e.g. what do you think about functional programmin…

I second this. I freelance as a part time CTO and this has been my favorite appproach to hiring devs. A paid project goes a long way to establishing a good work relationship and gives both sides most of what they need to decide if it’s a good fit longer term. I also always offer my clients to start with a small contained project to see if we’re a fit. This ends up saving a lot of time: the risk is low for the employer, and the developer gets paid their market rate and has a chance to show that they are worth it. It’s then really easy to decide if we should continue working together or not.

Re: How not to hire a software engineer

#23
I think the crux of the problem is... Everyone knows what to expect in a SAT exam, and still if one complains that they didn't bother preparing for it 'cause they do not have enough time... That excuse is not getting them an admission to top institutions, which admittedly have no short supply of folks willing to prepare and go through the grind.

It is sad that interviews in tech have been reduced to a process that resembles SAT-esque entrance exams. And now, there's an entire industry around prepping candidates for the interviews.

That said, I like the approach tptacek wrote about: Give the candidate a book or two, and when they are ready, interview them on it instead of interviewing on algorithms and data structures regardless of the position/industry [0].

I'm not so sure about Stripe's process as well [1], because one might have been effective because of the team and setup they are comfortable with in a given setting that isn't replicatable in an interview setting. No amount of 'bring your own laptop' to the interviews is going to make it work for the interviewee. You need to test the interviewee on the basis of their strengths. Not arbitrary measure of strength. Gosh, this is a hard problem.

There was an article on techcrunch about interviewing in tech and how it breeds ageism [2]. The premise was that it is simply not possible that most folks with X yrs of experience at a software shop are all secretly terrible that they can't get past your interview process.

Either you are part of an exclusive network to get on a rocket ship of a startup [3], or slog it out like everyone else: I remember how tough it was to get a job at Facebook in 2009 or Google in 2005 with ACM ICPC finalists and TopCoders as your interviewers.

[0] https://sockpuppet.org/blog/2015/03/06/the-hiring-post/

[1] https://www.quora.com/Stripe-company/What-is-the-engineering...

[2] https://news.ycombinator.com/item?id=9166501 (on secretly terrible engineers).

[3] https://a16z.com/about/

Re: How not to hire a software engineer

#24
What i've noticed recently with interviewing candidates is some lack the ability to work outside the way they work normally, especially in practical tests.

Things like, "I usually work from home, so its too difficult to concentrate in this meeting room", "I use Windows, so writing code on a Mac is really hard" and the most common for some reason for why the technical exercise isn't working "Intellij usually saves the file for me"

Practical interviews are difficult to get right on both sides, but from the side of the candidate, I feel there has to be some ability to handle those situations, under pressure, with confidence.

Re: How not to hire a software engineer

#25

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…

Man, you are singing on my frequency. I’ve worked with too many John Musks. And I’ve seen too many full table scans and null reference exceptions :-(

Re: How not to hire a software engineer

#26

Interestingly in the last 6 months I’ve been on both sides of this: being hired and hiring others. It was really cool because it allowed me to understand what is actually good and useful in the hiring process from both ends. While hiring (only 2 people, one junior and one senior, both fully remote) I just had a ~45-60min chat about technical and non-technical things (e.g. what do you think about functional programmin…

I second this. I freelance as a part time CTO and this has been my favorite appproach to hiring devs. A paid project goes a long way to establishing a good work relationship and gives both sides most of what they need to decide if it’s a good fit longer term. I also always offer my clients to start with a small contained project to see if we’re a fit. This ends up saving a lot of time: the risk is low for the employe…

>freelance as parttime CTO

job title inflation bingo !!! ;)

Re: How not to hire a software engineer

#27

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…

Sadly I’m yet to meet an employer who thinks like this. Especially in Australia. I’m a C# developer not because I was born with C# DNA but because to use any other language in suddenly looking at junior wages. Even though I could do a great job in any programmming language. It’s insane.

I've worked at 4 software companies in Australia so far and none have been concerned about which programming languages I know (admittedly not for super high wages, but still...)

Re: How not to hire a software engineer

#28

I'm currently working on revamping the way we do the first interview, which is nothing more than a filter. We currently ask mainly, let's face it, poor theoretical questions. I want to ask more experience based questions. so instead of: Explain what a database index is Ask: Can you give us an example of a time you used a database index? What were you trying to achieve? Could there have been a different solution to re…

I’ve been asked these kind of questions before....for a compiler job. I mean, you can clearly see on my CV that I don’t do backend, cloud, or database, the hiring manager is not interested in me for those things, yet their interview process is so inflexible that these are the only questions that can be asked during the interview (....and not one compiler question either).

I was on a Senior Frontend Interview, it came up that I had a startup at one point where bootstrapped just about everything, the interviewer started going into that and how I maintained database versioning, and the batch processes I had running on Linode and why I chose Linode, and why I had ElasticSearch running on Searchly and not on AWS, and how did I do performance optimization and build times and why didn't I do this type of QA process and when I took stuff from ElasticSearch and put it into Redis for quicker response times etc. etc. and devops and whatnot, which most of the responses were well that was because I was the only one who could and some of these things you wanted me to have done are just too expensive for a startup in that position.

So anyway the interviewer told the recruiter who'd contacted me that I was not a good cultural fit for their Senior Frontend Developer position.

Re: How not to hire a software engineer

#29

Earlier quoted context omitted.

I’ve been asked these kind of questions before....for a compiler job. I mean, you can clearly see on my CV that I don’t do backend, cloud, or database, the hiring manager is not interested in me for those things, yet their interview process is so inflexible that these are the only questions that can be asked during the interview (....and not one compiler question either).

The key is flexibility. As you say, there is little point in asking somebody who is going to be working with compilers the best way of doing something with React or Angular. A guy I used to work with would walk through the technical skills section on candidate's CV asking for knowledge level out of 10 and then ask questions accordingly but that is trickier to do on an online platform (at least as far as I'm aware)

Many interview processes avoids trivia for pure problem practice. Either some real life problem setup designed to fit into 45 minutes, or...Leetcode problems. Only the latter are immune to the specialization problem, but have little bearing on the job actually to be done.

Re: How not to hire a software engineer

#30

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 always use those as a way to test a new language/paradigm/something. I'm naturally lazy and this is a wonderful way to get new knowledge.

>Sorry I want to write an extension to emacs so I'm solving your problem in elisp.

Post reply on HN