I don't disagree that many companies do interviews wrong. But there's also a huge number of "senior" engineers who simply shouldn't be senior in the first place. Perhaps it's a result of companies handing out promotions to keep folks around rather than to recognize talent.
But I can't tell you what the sleep command is any of these languages. I look it up every single time :P
I'm good with the sleep command in my many different languages. It's dealing with dates in any language...
I suspect 10% of of StackOverFlow hits are developers remembering how to parse a date in some form or another.
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.
We run about as practical a process as I can imagine. A short take home exercise where you use your own environment and build a very small project and are free to even have a starter ready to go ahead of time to focus on the question asked.
In house we have a project you work on on our code base. Very small. Maybe ends up requiring less than 20-30 lines of code for the day. Most people who come in are always familiar with our stack.
The amount of people that just fall on their face is astonishing. Many people will be fine with Greenfield development but then have zero skills being able to deal with an existing code base with places stubbed out with //todos and the ability to pair with people on the team.
I'm convinced people are getting turned down not because of the interview process, but because they just aren't that good at the end of the day.
Yes. I do not need a bunch of code wizards, we aren't solving if p=np daily. But that doesn't mean I should accept people who can't code I'm hopes of them growing into fine developers. I can do that worth one person, but not when bringing on 8.
Do your engineers work out of a cave with no internet and code on cave walls?
You're not hiring me for my encyclopedic knowledge; you're hiring me because I get the job done quickly and effectively, using a proper design and clean, tested code.
If you're working in a small company or a startup, then you don't need BigCo senior engineers, you can get away with people who haven't developed these skill sets. However if you have intentions of growing, either in your system size or in your headcount, you shouldn't discount these engineers over minor details like this. Ask them higher-level design questions if you actually want to test their abilities, otherwise you're looking at the wrong metrics.
Then they should apply for a job where their skills are relevant. If you're applying for a job where you're writing code (like all of the ones I described), you'd better be able to code.
Edit: and we let you Google whatever you need in the interview. If you can't figure out how to clone an array (an implementation detail of the interview question) on your own, I don't know what role you think you're applying for.
That's fair. No sense in bringing in architecture astronauts who can't translate their dreams to reality.
> we let you Google whatever you need in the interview
Right, rejecting someone who can't Google things properly is the correct choice. That's a skill that's useful at all levels.
I had one guy get very angry with me when I asked him a programming question; he insisted that that just wasn't what a senior dev did.
Moreover, keep in mind that for some orgs a Senior dev is actually someone that does more systems design, i.e. an architect. Make sure you ask them those sorts of questions before discounting their abilities. You don't want to be having an architect refactoring your frontend, that's a silly way to spend your money.
But I couldn’t find all matching sub trees within a binary tree at the whiteboard in an hour (45 min really). I haven’t done a formal survey, but my extensive experience and discussions with a lot of devs tells me that this really isn’t about fizzbuzz or other simple things.
It’s time to stop pretending this is about weeding out people who can’t code. Companies by their own admission set a very high false negative rate.
Then they claim there is a shortage and successfully lobby the government to create a shadow immigration system putting tech companies in charge of who gets to work in the US and the conditions under which they are allowed to remain.
I think Software Development has a problem in that there is no space for a middle-ground career path. I typically compare myself to a studio musician. I'm never going to be a Rock Star, but you can plug me into any band and we'll make a good recording. That's why I like contract work... nobody cares about my age or history, I can just hit my marks and do what I love. I'm not Senior, but I don't know if I really ever want to be either.
if these highly competent people can't answer your questions, you really need to take a second look at your Questions.
Have you worked in the industry for longer than 2 years?
> We don't really use arrays in Scala
These all seem like genuine things. In more complex companies, people may use more exotic data structures and/or have abstractions around data access.
Silly comment overall.
I don't care what kind of abstractions you have at your current company. We don't (/didn't) have those abstractions. If you can't show me that you can do CS101 basics (appending to an array?) in the language that you claim to write day to day, how can I trust you to be able to write the code that we describe in the job description?
Probably because most professionals are not fresh out of CS101 & most data structures aren't arrays or exposed as arrays.
List, Collections, Map, Trees, home-rolled data structures better suited to domain - how do you not get this?
Your opinion sounds like that of someone just out of a bootcamp. You're putting all the weight on irrelevant syntax issues. A lot of devs use multiple languages day to day amongst other things.