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 not to hire a software engineer
61–70 of 239 posts
Re: How not to hire a software engineer
#62Before anyone burns me at the stake...It's not really the "best" but it can work. I was a coding interview advocate for a long time. I changed it from solving puzzles, to solving real problems taken from the domain they were interviewing for. In the early years I was a bit surprised by who struggled with coding, but I noticed a trend after a while, I could mostly tell how well someone was going to do from the preliminary discussions about software / design / experience / tradeoffs / etc. So I actually learn a lot more about the developer from that discussion and have tried to get better at that to explore more things. I like to focus on the nitty gritty of real problems, hand ow to approach architecting a piece of software from all angles. I do still use coding where I think it might help, with grads, I mostly do coding as its a good icebreaker into general conversation, and intermediates where their experience is still limited, I like to set problems that test peoples ability to keep their code tidy and modular, to see if they have developed any coding discipline, but sometimes from the initial conversation I will already know. But most often I already have a good idea.
Re: How not to hire a software engineer
#63Best way to hire programmers is to hire them without getting them to code. Before anyone burns me at the stake...It's not really the "best" but it can work. I was a coding interview advocate for a long time. I changed it from solving puzzles, to solving real problems taken from the domain they were interviewing for. In the early years I was a bit surprised by who struggled with coding, but I noticed a trend after a w…
I always want to see some kind of code from someone for whom coding ability matters at all. Doesn’t need to be extensive, tricky, or even written live in front of us, but when the job is more than talking, I want to see more than just talking to evaluate.
Re: How not to hire a software engineer
#64Earlier quoted context omitted.
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 th…
you basically said dont hire that person to someone. because of your bad experience with that ex-colleague ?. you are denying that person a chance. how come ?
what are you going to do next time someone calls for reference ? the same ?
immature, questionable, discriminating practices...
Re: How not to hire a software engineer
#65Here'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…
Thanks! This is a nice approach which I will try with our next front-end-candidate. Currently our process consists of three exercises: A small website-layout where the candidate has to fix two styling-bugs and equalize some container-heights (CSS-Part); a Palindrome-Function (JS-Part); and a discussion where we look at a webpage-layout, and go through how they would structure it HTML/Component-wise and talk about gen…
Oh, it can be almost anything, but it depends a lot on the role. For the kind of work you mention you could, say, give them an already built layout and ask them to add some additional component or section, or to rearrange some parts. Maybe add a form similar to some other one in a different page. Or something like "add an option for this block to be hidden/shown depending on a configuration". Really anything can do.
I've sometimes had success picking up some minor tasks that we had already done in the previous months. Using things you actually work on is nice. It gives them some sense of what you do and gives you good knowledge about the task and possible difficulties. There's the risk of becoming biased towards the particular solution you implemented. To combat this I sometimes pick tasks I didn't work on myself or that I wasn't completely satisfied with the solution we achieved.
Re: How not to hire a software engineer
#66Here'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.
I have used it, though, when I had to hire. And it went fairly well. I don't have any hiring responsibilities now so I haven't had the chance to use it more often.
Re: How not to hire a software engineer
#67A real example: a product person once asked a team I was on for a feature that'd be difficult and time-consuming to program, probably taking the better part of a year. My teammates said no. Not, "We want to ship this software soon and we don't think that's an acceptable tradeoff," they just said no. Product became furious (not knowing how hard it'd be, since the engineers hadn't explained it) and it hurt those developers.
Knowing how to invert a b-tree doesn't help you solve situations like those, which are far more common than 99% of fake problems presented in programming interviews.
When I interview a candidate I ask them to tell me about projects they worked on and poke and prod about real-world stuff they actually did, not converting a singly linked list into a circular linked list.
Ideally people would be offered the choice of an in-person or take-home to satisfy both those who feel like they shouldn't have to spend their free time on homework and those who don't like being forced to instantly come up with solutions to fake problems.
I blame Google for introducing this scourge, hopefully it lifts before the next time I do a job search.
My favorite example of this is Google turning down Max Howell for a job: https://twitter.com/mxcl/status/608682016205344768
Re: How not to hire a software engineer
#68I 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
#69Lately 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.
I saw several candidates solve the problem in scheme and every one of them was beautiful.
Re: How not to hire a software engineer
#70Earlier quoted context omitted.
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 th…
wtf. what you are describing is something that i would say is suable. and should be. you basically said dont hire that person to someone. because of your bad experience with that ex-colleague ?. you are denying that person a chance. how come ? what are you going to do next time someone calls for reference ? the same ? immature, questionable, discriminating practices...
Not everyone's great to work with, I'm sure you have had a few co-workers you would rather not work with again, right?