DEV Community

Cover image for The unfair tech hiring processes (a senior dev perspective)

The unfair tech hiring processes (a senior dev perspective)

Jean Santana on April 01, 2022

Recently I did some interviews for companies that call themselves "human focused", but in the time they need to show their humanity and respect the...
Collapse
 
damian_cyrus profile image
Damian Cyrus

I did that once, time limit was one hour, the tasks were not so hard to archive. Then the last acceptance criteria was:

The file has to be max 4kb of size.

And I asked: which file, the one I am working on or the whole, including react, react dom, minified or not, etc.

They answered: the file I am working on only.

Me: how can I see that in this VM you gave me? There is only access to the editor view, but not to the filesystem, like open file window.

They: you are right, we don't know how this VM works. Sorry.

I failed the test, and didn't get an answer why. Maybe the file was too small?

After the result I was glad to fail it. What would they expect in the future? Develop a quantum server within one sprint as a janitor?

Collapse
 
abelwebstudio profile image
abelwebstudio

There are plenty of companies out there use ambush interview methods.

A recruiter presented an opportunity with Fidelity Investment, and told me she’s had several candidates who broke down during their 3-stage, multi-panel interviewing process. I asked her if the candidates told her any reasons. She gave me two example questions: 1) How does video streaming work, and the platform you would implement it? 2) How does a SMS message get transmitted, and what would be the data structure like?

I laughed and told the recruiter I definitely wouldn’t break down because I had implemented those two protocols in the past when I was an embedded engineer. And I told her, Charles Schwab is on par on reputation with Fidelity except they conduct ONE technical interview and asked real world use case questions. What does video streaming or SMS messaging have anything to do with Asset Management applications?

It’s ridiculous. Wayfair hire third party interviewing companies to do their dirty deeds, asking questions which would have taken days or weeks to solve but expect candidates to provide answers within 30 seconds, and the algorithm test must be completed within 15 minutes. Along the way the interviewer kept interrupting candidates with questions. Maybe he thought he was helping?

Don’t work for those companies. Their ways of sifting through candidates are tell tale signs of how they will treat you once you step through their doors.

You deserve better.

Collapse
 
petsto profile image
Petar Stoyanov • Edited

Totally agree with everything said. I've had similar experience. When thinking about it, this always reminds me of this meme ... dev-to-uploads.s3.amazonaws.com/up...

Collapse
 
jsantanadev profile image
Jean Santana

This meme is a truth hahahaha

Collapse
 
jwp profile image
John Peters

Live coding demos on random problems are insane. I refuse to take them.

Recruiting has gotten so out of hand, I no longer look at any unsolicited jobs from them. Companies became so arrogant that with this, they actually deserve today's shortage of good programmers. We're in control now.

Collapse
 
thexdev profile image
M. Akbar Nugroho • Edited

Luckly, we do this in our office. If we recruit someone to join our office, we will not watching you like we watch a horror movie 😅.

As a someone that has interviewed candidates, I'll ask you about your skills and why you learn those. I also ask about the technology that currently we adapt.

The final test is also making something and yeah it's based on our problem but we make it simpler. If you understood the task then we let you work and take time as you wish.

We will analyze your code, your result and your answer. And yeah, a soft skills is really important. Really 😅.

Collapse
 
aherod profile image
Agnieszka Herod • Edited

I can fully relate to this problem. Recently, I had an opportunity to take part in the recruitment process where I had to solve task by task in about 1.5 hour long meeting. There were 2 other developers watching my shared screen and following my every step. As I get the idea of live coding I must admit that it may work only when it's well prepared. I had full repository of tasks in multiple directories without knowledge about how many task there are at all and how many left to the end. It was hard to focus although I had a chance to use Google I wasn't feeling good about it as task where kinda generic, school-like not real-life problems. As I searched for a tip... I was getting stackoverflow solutions in the first search results (and I was like.. What am I suppose to do right now, ignore the answers? Copy them or what? Interviewers reminded in silence). From my point of view it was weird, I didn't feel like it made any sense. I doubt you can properly examine a developer this way.

Collapse
 
thorstenhirsch profile image
Thorsten Hirsch

100%!! When I had my 1st interview of this kind it felt like cheating to use Google and SO. Didn't know what to do, either.

Collapse
 
eljayadobe profile image
Eljay-Adobe

I'M NOT A ROBOT

Non-robots need not apply.

But seriously, for the hiring process I look for a good fit rather than a particular skillset. Skills can be learned. But being kind, helpful, nice, communicative, smart, genuine are traits I'm always on the lookout for. Hire the person, not the robot.

Collapse
 
polterguy profile image
Thomas Hansen

If you know how to implement QuickSort you are either a noob just finishing college, implying you're "sub-optimal" for whatever position they're looking to fill, or you read "How to ace 100 job interview questions", and you're 100% useless and an imposter. The same is true for "xyz" feature. Replace "xyz" with whatever you wish here ...

Technical interviews asking the candidate to solve irrelevant tasks are the recipe for disaster. Ask the candidate to "describe the purposeof xyz", then replace xyz with for instance ...

  • async programming
  • HTTP headers
  • Foreign keys
  • Etc, etc, etc ...

... is much more productive, and illustrates the candidate actually understands the subject at hand, allowing you to ask follow up questions such as "give me an example of when you needed feature 'xyz' and how it helped you for a particular problem".

Everything else besides the above is pure madness, and literally results in a 100% guarantee of that you'll end up with hiring the worst possible candidate ...!!

Collapse
 
oscardemadriz profile image
Oscar Sanchez • Edited

I agree Jean,
As a candidate doing a JS interview and they wanted to code without searching google, and obviously, I didn't remember the exact syntax for a function and they treated me as stupid. I thought thanks for not landing the interview because if the values are memory rather than a job done, we are not getting along.

As an interviewer, I find out works best a conversation to see how the person thinks rather than a test because the coding test takes a lot of time and effort without pay, and a technical conversation about the topics can do the job.

Collapse
 
kashaziz profile image
Kashif Aziz

I am totally against this share-your-screen for a quick-coding-session thing. Unless you are hiring a keyboard puncher who has route learned some algorithms - this is not the way to hire software engineers.

Ideally, an interview session should consist of:

  1. Interaction with HR to understand the human side of the candidate and overall company culture fit

  2. A quick session with some senior tech resource to evaluate tech skills

  3. A take-home test that the candidate can come back with and explain to the tech team. Alternatively, if time is of essence, candidate can be asked to go through their accomplished projects and explain the scope, structure, functionality, issues faced etc.

  4. Final meeting with the top tech guy (CIO, CTO etc)

Collapse
 
miniscruff profile image
miniscruff

I actually don't think the technical questions are a bad idea. The main problem is the question itself is always so far out from what the job actually does. When I do interviews I ask a rather simple question that I can expand to be more complex based on the role and how they perform. I don't expect you to do perfect, I open up with this when asking. The test is mostly can you form any amount of coherent logic to solve the problem and can you ask the right questions.

Even if you are applying as a junior I/we expect you to be able to form a few lines of code with explanations in about an hour. Yes it is stressful, yes you will make mistakes ( I usually point out syntax issues or typos, cause really it just wastes time I trust you can fix them if given a longer time ). This is not the only interview it is just one part, you do talk with a tech lead for other stuff.

Collapse
 
patzistar profile image
Patrick Schadler • Edited

But you forget how important it is to code a Binary Tree and then a Dijkstra in 30 minutes for a role where you NEVER, I repeat, NEVER, use them again.

This really creates an interesting environment. Top Tech hires people which can spend countless time on Leetcode problems, but when you throw a real-world problem at them, they start to struggle. It is basically like in the whole education system, if you can memorize certain problems you get the job, if you are creative and smart, but take your time to think about it, you will fail.

Collapse
 
panditapan profile image
Pandita

I wonder how manufacturing companies select their technical people? hahaha

do they also ask them to build a certain part of their product in a live 2 hour session or to take home with them a project and come back with it the next day??

How do they even select a plant director?? Yes please direct the company for an hour just to see if you actually can hahaha

Oh wait you see we have this... problem our dear plant director candidate, how would you solve it? Please provide a powerpoint presentation, reports, etc for tomorrow. (Not sure if those are the deliverables I am but a humble dev panda)

If anybody knows how it's done please let me know :3

Collapse
 
curiousdev profile image
CuriousDev

I also agree on that companies tend to show people how "human" these are, but we should not forget, that not an actual human is writing/saying this, but a manager or somebody else deciding to put this somewhere, because the goal is to provide a certain image of your company and also for correctness (to adapt to what people expect from it, which not necessarily is what it actually is).
You are not alone with your opinion, we are people and not just some kind of resource.
May I ask, if people tend to be selective, when they are looking for companies? Is it maybe because of the companies you chose, when you are looking for a job? Like picking a well known and big company, because it has to be like that for whatever reason.
This possibly appears dumb, but my experience is, that more people are needed and it is totally fine not to know much at the beginning, as long as you show interest and the motivation to learn.
The latter, my experience, is not regarding Web Development or Software Development in sense of projects mostly consisting of code and also not for every country, but it still is related to Development of applications for business.

Collapse
 
thorstenhirsch profile image
Thorsten Hirsch

Full Ack. It's especially unfair when compared with the interviews of manager positions. "Ted told me you've done a great job over there in project xy, so we absolutely want you. Your compensation will be 30% higher than in your previous job. Any questions? Or shall we go to lunch?"

Collapse
 
codewander profile image
Kanishka

Strongly agree

If I were an employer, I would want at least one code sample. I would give candidates options and always allow up to three redos. So, dev can do take home or live, whatever type of problem they prefer (realistic or algorithm). I would always structure the problem to allow for anybody to solve it, but allow for a range of more complete answers. I would always provide the problem ahead of time for live interviews. I would let developer decide on what is within scope in terms of language features and libraries that the problem can require. I would just want some short demo of how someone programs.

Collapse
 
omardulaimi profile image
Omar Dulaimi • Edited

Thank you for bringing this up. I had a similar experience and thought I was inexperienced, despite my impressive resume and the extensive list of technologies I worked with and learned on the job. Hopefully this process changes soon.

Collapse
 
rajissctrl profile image
Raji Sarafadeen Sanjo

You think the best way... You are a blessing to the tech community.

Collapse
 
simphiwetebe profile image
SimphiweTebe

I can relate a lot to this and I fully agree with you. Nice article

Collapse
 
jsantanadev profile image
Jean Santana

thanks mate!

Collapse
 
jozsefdevs profile image
jozsefDevs

Could not agree more!

Collapse
 
robencom profile image
robencom

I couldn't miss a word from what you said, and for a second, I thought it was me who wrote this article.

This is the first time I say to someone "I agree with you 100%" and I 100% mean it :D

I just hope this irrational outdated thinking will phase out with time..

Collapse
 
ckornaros profile image
Christos Kornaros • Edited

Hi @ioannisnoukakis , I’m deeply sorry that you feel that way about QoQa. I’m available for a call if you wish to discuss this further, and add more information to the feedback we gave you last time. It seems that everything isn’t clear on your side today.

Collapse
 
invisabledev profile image
Jane

I just had a first round interview for a jr c# dev at 12 noon . I was told by the recruiter that it would be a behavioral only interview. ( I specifically asked if it would be technical) she said it would only be a conversation.

The interviewer talked to me for 5 minutes about my experience and then he said we were going to do an exercise together and he wants to see how I think problems through. And he wants to see if I can learn fast .

He asked me if I know what a factorial is. Everything was happening so fast I said I couldn’t recall. He said that’s ok I just want us to work together. He said make a method for a factorial of 5. It can be in pseudo code. No other instructions.

I start walking him through everything in plane English but I was so nervous I forgot the syntax for a for loop. But I did have the pseudo code for the problem once he explained what a factorial is.

I explained the iteration and what is needed.

Long story short he said he doesn’t think I’m a jr developer because I couldn’t remember the syntax and I put the return in the wrong place . ( I didn’t get a chance to think or run the code to see my error and correct the mistake because he was watching me and “helping me” before I could finish my thought process.

I showed him the app I built , then he started quizzing me to explain to him random lines of code. Which I explained to him what my mvc controllers do my search feature and etc. he says I know but explain what each variable is doing. In 30 seconds. I had just pulled the app up I didn’t get time to read it.

I’m feeling super defeated right now. This position was for a jr dev with 0-3 years experience. I have a comp sci degree, bootcamp experience, 1 year of apprenticeship and I am being told I am still not good enough.

Collapse
 
dougatgrafbase profile image
Doug Schwartz

IMHO the major issue with most interviews is that the questions they ask HAVE NOTHING TO DO WITH A TYPICAL DAY ON THE JOB!

Collapse
 
mephi profile image
mephi

Be happy it ended like that. I don't think it is nice to have to deal with "it's to difficult for me and I am the boss, so you are wrong and know nothing"-people on d daily basis.