Live data from Hacker News

Senior Developers Are Getting Rejected for Jobs

glenmccallum.com

341–350 of 384 posts

Re: Senior Developers Are Getting Rejected for Jobs

#341

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…

Not only that, but they sometimes even yield False-Positives, like in my experience:

I have been in charge of smallish engineering teams for around 5 years (as head of engineering for different startups). In the past, I used to actually do the 3-HackerRank-timed question as a 1st automated filter.

The problem is that, by testing for "fundamentals" (algorithms and data structure really) I skewed my hiring pool to the ones that were best at those.

Who is the people that are best at solving those kind of puzzle problems? (like the ones in HR, Codility, CodeFight, Codewars, etc), those most likely are Jr developers that are in Uni or recently graduated and spent their Uni free time in coding competitions.

The problem with that is that, these are a very particular type of programmers: They are super-effective in writing tiny one-of code to solve a specific "closed" problem. They usually don't care about testing, code reading quality, interactions, maintainability, etc. Given that they optimize for time and "pass the test cases".

Because of that, suddenly I had like 10 devs that were very good at algorithms but very Jr with regards to Software Engineering, architecture, maintainability, business understanding, etc.

Nowadays I have developed an automated challenge that 1. Requires coding, 2. Requires HTTP requests interaction, 3. Requires thinking and allows me to filter out people that really don't know what they are doing ( https://paystand.ml/challenge/ ).

WRT the 1 hour interview, I have always used a modified version of ( https://sijinjoseph.com/programmer-competency-matrix/ ) to be as objective as possible, and to be able to score Developers in a wide range of skills, and not only "they don't know how to solve the problem of returning a correct sub-tree from a BST within certain ranges". Sure, Algorithms and Data Structures are part of the requirements, but even knowing little of that should not disqualify you.

Re: Senior Developers Are Getting Rejected for Jobs

#342
I failed my amazon whiteboard interview, I couldn't write a flawless binary search and as a result the guy said my entire CV must be a lie. There was a bug in the code somewhere, couldn't figure it out without a compile and a debug run. I've been coding for 38 years and I've built a world class product but hey, whiteboards don't lie right? Personally I think it was the fact that I was dealing with a lot at the time, personal stuff, plus I was banging my head against the wall trying to figure out why my socket server wasn't scaling properly to serve a large network, and I was nervous as heck.

If you want a developer who can rattle of a computer science algorithm, then whiteboard interviews are the way to go. I would rather ask the developer how she would create a password authentication scheme, and in doing so potential avoid a data breach down the line when they fail to apply proper security principles. Or I would challenge them on how they normally approach a problem, so that I could see how teachable they are. People who are not teachable are bad for business. I would also ask them to share a technique with me to see how willing to share information they are because IT people who don't like to share information are equally bad for business.

Lastly 'culture fit' is about finding more drinking buddies, if that's what you're hiring manager is doing you should fire him asap.

Re: Senior Developers Are Getting Rejected for Jobs

#343
Then the other side is giving you a "small project" that takes the better part of a day to implement. I just pass on those as well, and i'll do the short challenges but I don't really take the company seriously after that.

I found the most effective is whiteboard sessions that actually somewhat resemble reality as if I was the Product Owner and/or Architect with a problem. Then go through the design process, what database system would you use, would it have a a web service or be microservices or whatever, dig into the database design etc. May ask more specific technical questions along the way that are relevant to the design.

but the main thing is there is almost no actual coding done in the interview process at all.

Re: Senior Developers Are Getting Rejected for Jobs

#344
post #89

I reject senior software engineers all the time. I give interviews on whatever language you're most comfortable in, I'm not interested in time or space complexity, I just care about how well you can use your tools and debug. I'm continually astounded at the number of people who can't sort a list (with their language's standard library), clone an array, or do basic string manipulation. I've had a staff engineer at Goo…

Lol. At my job, I code in several different languages. Sometimes, a new project requires me to to learn to write in a new language. It's not a big deal... Programming is pretty general, so new syntax doesn't slow me down too much. But I can't tell you what the sleep command is any of these languages. I look it up every single time :P

I don't think there's a sleep command in Javascript. It is against the "entire browser runs in a single thread" model, and it would make no sense up to very recently before promises were created (what it would do? start a call-back?).

If the question is from somebody with extensive experience in JS, that's a clear red flag (I don't have any extensive experience in JS). If it's from somebody with passing experience, it's not that bad. That said, I have no idea how to call sleep in any of the ~4 languages I'm currently using either.

Re: Senior Developers Are Getting Rejected for Jobs

#345

Earlier quoted context omitted.

> companies like Google and Facebook can afford to miss out on those devs. But smaller companies should be looking for diamonds in the rough I'd say it's the opposite. Big companies can afford to take a shot on someone and miss without materially impacting the business. If I'm hiring developer #2 at my 5 person startup, I want someone confident and cool under pressure who has done something similar to what I'm buildi…

This is reasonable from your vantage point. But why should that talented person work for your fledgling startup? Wouldn't he or she have more options on the table?

Absolutely. Then it's all about selling the team, the company and it's potential. If you can't sell your vision to your employees you probably won't be able to sell to your customers either.

Re: Senior Developers Are Getting Rejected for Jobs

#346
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…

Absolutely untrue. Whiteboard problems absolutely do work. The vast majority of applicants cannot code at all. And I mean that literally: they're at a loss at how to write a function that adds two numbers or counts the number of elements in a list. Worse is that these guys can be employed as developers (even 'senior' ones!) for years and years in 'serious' enterprises. How, you ask? By using copy-paste and cleverly n…

>Whiteboard problems absolutely do work.

>The vast majority of applicants cannot code at all.

You kinda set up a strawman here. If the purpose of the whiteboard problem was just to establish some very low baseline of coding ability then I doubt many people would argue about their effectiveness. But companies don't use whiteboard problems for that purpose. In my experience (on both sides of the table) they are given with increasing levels of difficulty to see how far the candidate can go. They do not simply ask a few basic questions like "how would you write a function that returned the sum of two numbers" or "count the number of elements in a given array."

I'm not saying there is a really good answer to this. The best I've seen is that some people just seem to be good at hiring and others are not. I am one who is not. I am also a terrible interviewee. The whole process whigs me out.

Re: Senior Developers Are Getting Rejected for Jobs

#347
post #177

Earlier quoted context omitted.

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…

Can you share some concrete examples of techniques?

I can tell you something that has worked very well for me:

1. Grab a sub-set of the competencies that you NEED to have https://sijinjoseph.com/programmer-competency-matrix/

2. From that subset, setup questions for the different levels For example, for the VCS competency we have:

source code version control Lvl 1 questions: "- What is the difference between Git and Github? - What is a branch? - What is a pull or merge-request? - What is a commit?

Lvl 2 questions: - Mention other VCS besides Git - Mention good practices of a Commit (short title, description content, etc) - Describe one branching model (aka gitflow or other) - What is a cherry-pick? - Describe good practices of a Pull/Merge request

Lvl 3 questions - What is the difference between a Merge and a Rebase? When to use them? - What is Git Bisect? how to use it? - Git vs Mercural or other DVCS. - What is partial clone? - What is a Git Submodule? - What are Git Hooks

3. Split your 1 hour interview into 2 parts: Coding and Q&A. For the coding part, ask them to build something, in their machine, with the language of their choice, sharing screen. The problem should be something for 1 hour, and split in steps (I usually do 6). With this problem you will score coding ability, cleanliness, defensive coding and similar stuff. I usually score between 1 and 3 (1 - Below Average I have seen, 2 - Above Average I have seen, 3 - Amazing/Impressive)

The second 30min part is Q&A, use the questions to check whether they are a 1, 2 or 3 (or maybe 0 if they cannot answer a Lvl1 question).

Then combine those scores anyway you want (average, weighted average with extra weight for code or for some question) and see what % of the max score the candidate gets.

The key during the Q&A is that you start with 1 or 2 lvl1 questions, and then if they answer, you go to lvl2 questions, and if they get them, go to lvl3 questions. The idea is, to never make the candidate feel like they don't know. With experience you can get very good at seeing what levels of questions a specific candidate will answer.

Re: Senior Developers Are Getting Rejected for Jobs

#348

Earlier quoted context omitted.

The problem is there are a lot of people who are still good coders who suck at white-boarding for one reason or another. I became one of them due a combination of age, rustiness and an escalation of nervousness after failing a couple whiteboards out of the gate. Of course once I did land a job it took about a week to shake off the rustiness, and the company that hired me is thrilled. The point is that companies like…

There's also a lot of senior devs who think they are a false negative who are not. I speak from personal experience. I failed my first FAANG style interview both because I had not prepared nor understood how white board interviews really work and because a huge subset of my skill had gotten rusty over the years. But when I first failed I was really upset and very quickly wrote off the entire process as a ridiculous t…

Your argument basically boils down to that you think your experience is the norm and OP's is the outlier.

Re: Senior Developers Are Getting Rejected for Jobs

#349

Earlier quoted context omitted.

There's also a lot of senior devs who think they are a false negative who are not. I speak from personal experience. I failed my first FAANG style interview both because I had not prepared nor understood how white board interviews really work and because a huge subset of my skill had gotten rusty over the years. But when I first failed I was really upset and very quickly wrote off the entire process as a ridiculous t…

This is such a great response and I've had similar experiences. As you become more senior you also get more managerial responsibilities which can eat into your time/energy budget to stay up to date on tech not directly related to your job. You may also get more life responsibilities as you age (family...) that further erode your technical edge. Good on you for having the introspective skills and awareness to identify…

I don't understand how this is a problem? If OP is a Senior Dev and interviewing for another Senior Dev role, wouldn't you assume that this new role is probably going to require similar skills to perform similar managerial type responsibilities?

I mean, sure go ahead and prepare for interviewing, brush up on whatever you think will help. But if a company has a policy of consistently rejecting candidates based on testing of skills that are never used on the job, it sounds like there's a lot of room to improve that interview process.

Re: Senior Developers Are Getting Rejected for Jobs

#350

Earlier quoted context omitted.

Absolutely untrue. Whiteboard problems absolutely do work. The vast majority of applicants cannot code at all. And I mean that literally: they're at a loss at how to write a function that adds two numbers or counts the number of elements in a list. Worse is that these guys can be employed as developers (even 'senior' ones!) for years and years in 'serious' enterprises. How, you ask? By using copy-paste and cleverly n…

> And I mean that literally: they're at a loss at how to write a function that adds two numbers or counts the number of elements in a list. Seriously, Where are you finding these candidates? seriously. I've worked at a number of mid-sized companies, and interviewed dozens of candidates, and I have never, ever, ever come across a candidate that couldn't write code on this level: "write a function that adds two numbers…

Same. I've never had someone come in for a face-to-face interview that literally couldn't code at all. I've worked at and interviewed loads of people from small startups all the way up to a top 5 US tech giant. Still have never came across that case.
Post reply on HN