Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Oh well you see writing a CRUD app is so much more important and serious and difficult than saving human lives. And bad programmer hires are uniquely damaging in a way that bad hires aren't in any industry with normal interview processes (which is nearly all of them) and there's just no way to mitigate those effects until they're nearly gone by applying common-sense best-practices to your processes, that you ought to be doing anyway. Nope, only solution's to put every candidate through the wringer, at enormous time & monetary expense to all concerned!

Programmers catch a lot of shit for being immature or unprofessional, but I think tech management deserves a harder look, when it comes to those things.



sort by: page size:

The point is that the hiring process -- especially in programming -- isn't some golden, concise, dependable standard. It's quite messy, chaotic, and practically completely worthless.

The best you can do is sort out the people you absolutely cannot use or don't want. The rest? The one's that you reject because of not matching some part of the interview process but largely are a good fit? They're probably fine, they're probably better than you think they are. In fact, statistically speaking it's probably better to have gambled on these people than the people you've hired and then had to fire.

We don't have the industry standards, the experience, the data, or the worker pool to fuss around with these ridiculous interview processes some companies employ. In fact these interview processes actively filter for people who are only willing to go through with the process, not necessarily the best talent.


That looks like a sure fire way to make sure you only hire mediocre programmers.

This is why I refuse to participate in tech industry job interviews. Thus far, I've managed to get enough work in a freelance capacity mostly through referrals and my personal network to avoid having to go down that route. I think it's the height of hypocrisy that tech companies complain that they can't find enough good candidates and how hard hiring is, yet the absurd processes they use actually turn off some good candidates who just aren't interested in playing the game.

Kudos to the author for being so forthcoming about his experience. Maybe if enough programmers start making a big stink about this problem, something will actually get done about it.


The cost of hiring someone who can't do this stuff makes it worth the risk of putting off someone like you. Sometimes you have to ask rather than be faithful if you haven't personally worked with the person you want to hire. A shitty programmer will kill an entire team.

Tbh the way that hiring is done in tech is just lazy and reeks of mediocrity. Memorizing 'take home' assignments, banks of algorithms, pair coding, white board interviews, what a joke. Companies want to place all the burden on candidates and spend as little money as possible. It doesn't matter if they waste people's time.

Whatever happened to getting to know a candidates work? How about look into the work that a person has done and take the time to understand where a person's skills are. The problem with tech hiring is we have people trying to cut corners. So-called 'non-technical' recruiters doing interviews with a checklist, companies that treat people like hoop-jumping monkeys, and generally f*king idiots that won't do their job (they get paid for it, why again? They're not actually doing their job.)

Hiring is not a complex problem. The problem is literally incompetent people doing hiring.


I think a lot of companies hiring programmers take an analogous approach, and tend to get a lot of mediocre candidates as a result.

I've been involved in hiring, I've seen it, it's true. There are people who have excellent CVs who cannot write this code.

Let's get real: it's 2018 and we're in the depths of a programmer shortage. No hiring manager has 20 capable people in front of them. A typical hiring manager will have hundreds of garbage resumes that came from people who aren't programmers, or from offshore outsourcing shops that rely on resume spam to get attention. Eventually, after lots of weeding and puffing, the pile is shrunk to maybe three people who are worth interviewing. Of these two lied about their experience, and the last is great, but is difficult to close because they're looking at four other offers all of which are more competitive and interesting. Outside of weeding out garbage, hiring managers spend most of their time in sales mode, desperately trying to close candidates.

In times like this, any reasonably competent programmer who doesn't come off as a total a-hole during the interview will have a job. It might not be the most glorious job in the world, but our OP doesn't seem to care because homelessness.


Yes, every bad hire is really bad. However, companies generally don't put in any effort into seriously evaluating your publicly available work. I have reams and reams of open source code companies can take a look at, and I've never seen any evidence that any company I've ever interviewed at has looked at that work. That's a result of companies being completely incompetent at evaluation and disrespecting their candidates time. Its wasteful and stupid. Its honestly flabbergasting how many companies don't put in the effort to make their hiring process passible, much less anything near "good".

Experienced devs and dev managers (me included) fuck up consistently in recruiting - employing people who "interview well" but drag the team down, or overlooking or excluding great potential team members 'cause they don't perform well "programming a whiteboard" - and now we expect some minimum wage rent-a-bully to accurately assess a "programmer's" skills based on reading wikipedia entries?

I'm _reasonably_ certain my best front end dev probably doesn't even know what a binary search tree is. Same with half of my mobile devs, they probably vaguely recall them from college, but have never used them in 5 or 6 year mobile app dev careers. Should _they_ be denied entry at a border because they can't regurgitate some wikipedia page completely unrelated and mostly irrelevant to their specialisations?


More importantly: if you place so insanely high value on that ONE new programmer you are hiring and you can obviously abso-frakking-lutely not afford to have picked a single "bad apple" then that says a LOT about the situation of your company, your management and what state the projects are in.

All these steps feel like bordering Stasi-methods (hey, why not lie-detector test the applicant while you are at it!) but I'm sorry, this is really extremely over-doing it in contrast to the other extreme, the "oh you have a cool tshirt and unwashed hair you must be a genius!" hiring that was done in the dotcom bubble.

It's really not rocket science...


Thanks for the note. I agree that incentives are difficult. However, I believe the incentives are better in this industry than almost any other one.

Programmers switch jobs frequently, and the startup world especially is still a small place. Word gets around about your company culture, the way you hire, the way you fire, what you pay, etc.

Programmers have hiring power. Especially senior ones with a lot of demonstrated experience. That doesn't mean you deserve to /be hired/, that's not what I was trying to say. It does mean you will /get hired somewhere/, so if you are not under immediate financial pressure you can afford to both be more selective and push back against crappy hiring practices more than other professionals/industries.

--

Re: the emails, I can't prove causation, I only know that the moment someone decided to point towards a /person/ that it went from comments /here/, to bizarre anonymous emails attacking me for being an overly-sensitive whiner that probably can't code and that's why I didn't get hired. Which is fine, we all know the internet is a shitty place these days, but it just seems like such a /strange/ reaction to me.

Agree or disagree with the idea that employers should offer prospective employees money for take-homes, or more feedback, or even whether you should tell a jerk to go shove it.

But what is the emotional urge to somehow align current hiring practices in the tech industry with some kind-of, let's be honest, masculinity and toughness and if someone critiques them, they must be #1) a bad programmer, #2) a wimp, and #3) dumb.

I truly don't understand, but honestly, I don't want to put that much effort into it. These days it's easier to block than to empathize, on all sides, and that's a little sad.


It's the complete lack of care and attention some recruiters put into their job that is annoying.

As programmers, we all take great pride in our work and would hope that others do, too.


Between bad interviews I've been in or read about and spending the past 6+ months working on our hiring process I've become very opinionated about hiring.

The process Amazon and many other tech companies use is fucking terrible. Algorithm tests and surprise CS 101 questions do not identify good employees. They're biased towards recent grads, do not address most real world situations, can be gamed through studying, and do not identify people who can actually think. You should not be testing for people who interview well, you should be testing for people who will make good employees.

You need to test real world scenarios. If they're going to be re-implementing bubble sort and doing binary math then fine, use HackerRank. Otherwise you need to have candidates work on a project based on what they'll actually be doing. Will they be working on APIs? Have them build or integrate with an API. Mapping in an iOS app? Have them do that.

Do not drop big surprises on candidates. Respect them and they will respect you. Tell them what to expect up front. The first email we send includes an outline of our entire hiring process with a list of each step. I've lost track of how many people have thanked me for this. Going through an interview blind is extremely stressful and increases the likelihood of losing good candidates.

My goal is to set people up for success. If their skills match what we're looking for I want them to succeed. I don't want them to fail because they are bad negotiators, didn't have time to study CS questions, or don't fit the typical stereotypes of a programmer.


Equally to blame is the industry hiring process. ACM HackerRank and Codility challenges are often the first stage before you're put through a whiteboard. As a result, a competent programmer has no incentive to actually continue training in best practice, rather optimise for the interview process. I flat out refuse to do any interviews with this silly competitive programming hoop jumping. As a manager, what is your hiring process?

No. i am a programmer. i think the hiring practice you describe is asinine.

anything to fix the horrible hiring process for software engineers I'd try.

I've been in the industry a while and if a company/recruiter uses tools like HackerRank for recruitment, I simply ignore them and decide not to move forward. I think we as a software industry have been following a bad hiring practice. If you can't tell your fellow colleague is smart enough by having a tech-talk or giving something that's not a test-format, there is something wrong with the process or people doing the hiring. Also, it is hilarious how many times an engineer has to prove himself/herself, and after being hired at these places I've also seen that the people who do the hiring are not that good/competent themselves, although this may vary in some other place.

Thanks for the suggestion. I am pretty happy in my current place of employment where I fortunately haven't (yet) encountered this, but I have definitely been surprised in previous jobs where I encountered it despite hiring standards that theoretically should have rejected this type of candidate at the outset. I have even worked with ex-FAANG colleagues who had this approach to development. I have come to think there is only so much you can do to try solve this in the hiring funnel... Eventually people who don't code very well or don't take code quality seriously will slip through, especially in larger companies.
next

Legal | privacy