Live data from Hacker News

Senior Developers Are Getting Rejected for Jobs

glenmccallum.com

71–80 of 384 posts

Re: Senior Developers Are Getting Rejected for Jobs

#71

So there are multiple things that are true with people applying for development roles: 1. These "dev gate" programming challenges are filtering out senior devs, talented devs, creative devs etc. people who would be great at the role. 2. There are people applying for these roles who can't knock out a decent Fizzbuzz solution (in any amount of time). 3. For many roles, there's a flood of applicants Any solutions to thi…

It does scare me when experienced developers can't write FizzBuzz though, in any language of their choosing, in a reasonable time frame. The thing I tell myself is that there are so many "gotcha" style programming interview questions that people might just be nervous that there's some trap waiting for them in the question.

A few years ago I instituted an "interviewing code of conduct" for my teams with a few tenants that we've refined over the years, but the first one was "We will treat every candidate with respect and empathy in our interview process". The team has adopted some attitudes and techniques to do so while also not compromising on the talent or skills we are looking for. We've gotten very positive feedback on our interviews, so we think it's working.

Re: Senior Developers Are Getting Rejected for Jobs

#72
post #33

I agree with the basic sentiment of the article, but the question that always pops in my mind is, based on your real life work experience, what kind of (simplified) question would you ask in a 60 minute interview to gauge someone's ability to write, say, a distributed service? It goes without saying that 60 minutes is too short a time to ask someone to solve a real life business problem, but real life business proble…

> what kind of (simplified) question would you ask in a 60 minute interview to gauge someone's ability to write, say, a distributed service?

I've used the last question from Stripe's last CTF for this. Roughly speaking: Given a 5 node SQL database cluster, how do I make it behave as a single server? I don't ask them to write code, I ask them them to walk me through how they would approach this problem and how they would deal with various failures (network interruptions mostly to keep it simple).

Re: Senior Developers Are Getting Rejected for Jobs

#73
We need to take this to its logical conclusion. If the claim is that these kinds of interviews don't work, then what should we be seeing out there? Are companies that employ these techniques less successful, or less productive, or less something-else? Because its not easy to tell someone they're doing it wrong, when what they're doing is working for them and making money. Without actually showing how these kinds of interviews are detrimental to their bottom line, its only going to fall on deaf ears.

Re: Senior Developers Are Getting Rejected for Jobs

#74
post #66

Earlier quoted context omitted.

Sometimes you really do need particular skills and experience that take decades to learn. Otherwise you don't even know what you don't know and you don't know what mistakes are usually made in a given area.

Not knowing what to do or what others did can be an advantage. Einstein developed his theory of relatively by simply discarding all the known theories about how physics worked. In my own experience at IBM, I solved a bug that had been repeatedly opened over a series of 9 years by simply asking the question, "Is this number a hex or a decimal?"

> by simply discarding all the known theories about how physics worked

But he wasn't ignorant of them. He knew the existing work. He was extremely well read in physics and maths. He wasn't a generalist!

If you get a group of random generalists to build your compiler, or your graphics engine, or your cryptography stack, they aren't going to know what they don't know, and it'd take them decades to come up to speed.

Re: Senior Developers Are Getting Rejected for Jobs

#75
I take a completely different approach to hiring, and I've gotten fantastic results.

Instead of throwing tricky algorithm questions at a candidates, I scour their detailed employment records for the most relevant experience for the first project. In other words, I'm looking for relevant experience rather than top-of-the-head algorithmic brilliance. In the interview, I pose our project problem, and the candidate who gives me the most impressive proposal to get that done gets a chance to solve it.

I hire from an international pool, often on Upwork, so I can start developers on a project basis.

If the developer does a great job, we hire him/her for another project, and so on. At some point, this becomes a full-time relationship, with stock options and other perks.

Using this approach, we value experience over "raw intelligence," per se, and we end up with a team of self-directed developers who are fabulous at delivering great finished products.

It's amazing how well this has worked out for us. I think there's an arbitrage opportunity to avoid coding tests and hire on this basis.

Re: Senior Developers Are Getting Rejected for Jobs

#76

So there are multiple things that are true with people applying for development roles: 1. These "dev gate" programming challenges are filtering out senior devs, talented devs, creative devs etc. people who would be great at the role. 2. There are people applying for these roles who can't knock out a decent Fizzbuzz solution (in any amount of time). 3. For many roles, there's a flood of applicants Any solutions to thi…

I've been on both sides of this. As an applicant, sometimes it's a crapshoot in terms of getting lucky that they asked me the right question. On the other hand, as a hiring manager or interviewer, I see lots and lots of candidates who can't write out a fizzbuzz solution, and it wastes a lot of my time (I'm a sucker and will take a lot of time guiding interviewees to the right solution, even on a simple problem when I know the interview is over, but I don't want to bruise their ego too much).

I don't have a silver bullet solution to this, but I think a few things go in the right direction:

1) Candidates should have to write code in interviews. But they shouldn't have to solve puzzle problems with "gotcha" solutions. If there's a specific trick that requires an "aha" moment, you are really testing how well a candidate solves puzzles under pressure, not how they code.

2) Test candidates on what they are best at. If someone has been working in C# for the last 5 years, don't ask them to whiteboard in Python, which they used in college. Picking up new languages/frameworks is quick for someone who knows what they are doing [0].

3) Offer candidates a choice between an in person interview or a take home coding test, the latter of which would take more time. Some candidates don't want to deal with doing a 6 hour take-home coding problem [1]. Other candidates suck at whiteboarding under pressure. So more options seems better.

[0] There are exceptions to this. You might have a unique problem and the budget/resources to hire a rockstar for a specific role. Desirable companies willing to dole out big salaries do this all the time. But much more often, I see companies offering average salaries for very very specific roles. One company near me told me that I was one of the best candidates they've seen, but they are looking specifically for someone with 1+ years of Java experience. I could have picked up the basics of Java in a month, and been fairly proficient in 2-4 months. Meanwhile, they are still looking to fill that role and it's been over 2 years.

[1] I've had a few companies that insist on this, but I haven't had a period of unemployment where I have the time for this. Good developers tend to be/stay employed, so if you are looking to hire senior devs, you probably need to consider their schedules. Unless I'm desperate to leave a job, I can only make so much time for interviews.

Re: Senior Developers Are Getting Rejected for Jobs

#77

So there are multiple things that are true with people applying for development roles: 1. These "dev gate" programming challenges are filtering out senior devs, talented devs, creative devs etc. people who would be great at the role. 2. There are people applying for these roles who can't knock out a decent Fizzbuzz solution (in any amount of time). 3. For many roles, there's a flood of applicants Any solutions to thi…

I think my team has gotten pretty good at this. We address the "flood of applicants" by tossing out any resumes that don't have some sort of CS or programming on them (about 25%), and favoring, in order, people who have held a programming job, people who have done programming internships, and people who have taken CS classes. A decent GitHub profile will bump you up in the two later categories.

Next is a five minute phone screen. We're a Java shop, so I ask them something dumb, like "what's the difference between public, private, and protected?" Something any Java dev would know; I'm just trying to find out if they have ever actually used the language.[1]

People that pass the phone screen get a Skype interview, where they write code in an IDE. The first half hour or so is chat and trivial problems like "sort this array" or "return true of this String starts with a letter between A-Z, inclusive." They're allowed to Google and use the standard libraries.

Finally, we have a "close to real world" problem for them to work on. It's a standalone, mostly-toy CRUD application, and we'll ask them to add a feature that represents the kind of work they'd be doing. Again, they have their IDE of choice, Stack Overflow, etc.

I don't think we've had a bad hire since we started using this process. Have we turned aside some all-stars that interview poorly? Maybe, but the team we've built is really good at what they do, so I'm pretty happy with the results.

[1] We have hired Senior devs that don't know Java. One of our team leads was a C# guy for a decade or so, but he was smart and available, so we scooped him up. Java is easy to learn. Programming well isn't.

Re: Senior Developers Are Getting Rejected for Jobs

#78

Sorry but interviews at the big tech companies have become so easy these days, due to their insatiable demand for "talent", that I can't really hear these whinings about difficult interviews anymore. The candidates we usually get are just absolutely inadequate at coding and behavioral questions. This is not something you can overlook. They just lack the very basic skills to express themselves in code even when disreg…

Ha, I have not had the same experience as you on senior programmers at FANG companies.

Re: Senior Developers Are Getting Rejected for Jobs

#79

Sorry but interviews at the big tech companies have become so easy these days, due to their insatiable demand for "talent", that I can't really hear these whinings about difficult interviews anymore. The candidates we usually get are just absolutely inadequate at coding and behavioral questions. This is not something you can overlook. They just lack the very basic skills to express themselves in code even when disreg…

> Is it really too much to ask to spend a few days solving some programming puzzles on a whiteboard?

Yes.

It's not a matter of capability - in over 20 professional years I've yet to run into a problem I couldn't solve when I was motivated to do so - either because my job required it, or just because it was interesting.

It's a matter of valuing my time. I do. Companies that want to put me through 12+ hours of interviews and exercises do not. And if they can't value it for interviewing purposes, chances seem very low that they'll value it when I'm an employee.

Re: Senior Developers Are Getting Rejected for Jobs

#80
post #9

We need to admit that the interview process isn't about determining the relative qualifications of the applications in the pool, because we all know that 3 hours and whiteboard can't tell anything you need to know about whether or not that person will perform over the years. We need to acknowledge that we perform this pantomime in order to satisfy layers of management that are unable to accept that you can't hire for…

[deleted]
Post reply on HN