Live data from Hacker News

Hiring Is Broken – My interview experience in the tech industry

medium.com

171–180 of 693 posts

Re: Hiring Is Broken – My interview experience in the tech industry

#172
post #14

Just went through this process from the POV of employer. The risk of choosing the wrong person is so great, that it's often better to not choose anyone. If there is any doubt what-so-ever, it's better to not make a a hire, it can be too damaging to a team, manager, company. I've tried so many different "coding interview" scenarios. But I found the best one was a real task that a real staff member would be expected to…

> The risk of choosing the wrong person is so great, that it's often better to not choose anyone. This is a great way to hire "People Like You". Look around at your team. How much diversity is there in age, race, gender, hobbies, college education, or even favorite TV shows? How many would be willing to tell you that you're wrong, and stick to it in the face of a (to you) completely logical explanation of why you are…

What very few employees understand, even some interviewers don't consciously understand, is that people are hired based on race, gender, TV shows, hobbies, school pedigree, all that stuff. The "prove P=NP on the whiteboard in 30 minutes... go!" routine exists to not_hire people.

So the fix is in and the bosses nephew is going to hired or your frat bro you watched south park episodes with. HR makes you interview multiple people to make it look fair. Obviously its going to be a hostile interview experience. Maybe if you're a clone of Knuth and totally wow the interviewer, the bosses nephew will get kicked to the curb, or if you're cooler than the interviewer's frat bro, well, thats a strong maybe. But basically if you walk into an interview and they ask you about algos that a dog whistle you're not getting hired. Either the fix is already in, or you're a minority, either way you're not getting hired once the questions about red-black trees get unleashed. The interview is already over at that point unless its a 1 in 1000 meteorite strike, it does happen, just almost never.

There are way too many skilled programmers for way too few positions or else the system would collapse if just one employer defected. That hasn't happened, therefore there are too many applicants for too few positions.

The reason you hear nonsense about "not enough skilled programmers" is because they didn't mention they have to be white or male or members of the interviewer's fraternity or fans of the same TV show. There's no shortage at all of excellent programmers who happen to be minorities or unrelated to members of management.

Re: Hiring Is Broken – My interview experience in the tech industry

#173
post #171

Its ironic that I would have done better in these hackerrank type challenges straight out of university, even though the code I write now is way better.

It's not ironic, it's very much by design. It's a bit like the Army. In theory anyone of any age and background can join up, but the physical requirements and "culture fit" does a very good job of selecting for young males.

Re: Hiring Is Broken – My interview experience in the tech industry

#174
post #99

Earlier quoted context omitted.

Consider a scenario where the developer is required to write a custom directory tree. Each row contains a caret and a checkbox. When either of these are clicked, you'll need to perform some sort of tree traversal to ensure integrity of the view -- for example, checking the checkbox on a row may require that all children as selected too. Additionally, you may need an upward traversal to the root to ensure the parents…

In my example I did not say that the first developer is ignorant about performance. I only talked about knowing data algorithms by heart. So let me rephrase this. Isn't it possible that a developer knows about computer performance but at the same time does not know by heart? Do you really think that "knowing BFS by heart" equals "knowing everything there is to know about computer performance"? In your scenario, a dev…

BFS is a 4 line algorithm that doesn't need to be memorized. I wouldn't trust a developer who can't even reason this out with understanding runtime order complexity.

  bool bfs(int x) {
    q = new LinkedList;
    q.push(root)
    while (q.size != 0 && q.peak() != x);
    return q.size ? true : false;
  }

Re: Hiring Is Broken – My interview experience in the tech industry

#175

After reading author's post I've a feeling that its not the programming skills that the author has issues with, but instead the attitude, stress durability, expectations to the world around him. True, hiring can be broken, it often is, but as with everything, the persistence usually allows us to find the proper company with proper hiring process. He's getting frustrated pretty quickly, complains when is asked to perf…

Persistence is a pain in the arse if you have to spend 1.5 hours every Hackerrank challenge (plus you are likely to want a warm up of at least half an hour). Say you have to do ten of those. Why can't employers ask you to bring in some previous work and discuss it? Surely that is a lot more relevant than algorithmic stuff that you likely haven't used for years.

Re: Hiring Is Broken – My interview experience in the tech industry

#176

After reading author's post I've a feeling that its not the programming skills that the author has issues with, but instead the attitude, stress durability, expectations to the world around him. True, hiring can be broken, it often is, but as with everything, the persistence usually allows us to find the proper company with proper hiring process. He's getting frustrated pretty quickly, complains when is asked to perf…

I agree with you. The author's inability to write a breadth-first-search under stress, for example, very much highlights this, in my opinion.

I sort-of agree that these specific tasks shouldn't be used as an indicator of programming skills, but a breadth-first-search is really quite simple. It's mode of operation is in the name, and even if you haven't implemented one in a while, you should be able to derive some valid pseudo-code after a while. Especially if you do as much coding as this person claims, and thus are confronted with problems to solve on a regular basis.

Re: Hiring Is Broken – My interview experience in the tech industry

#177
post #171

Its ironic that I would have done better in these hackerrank type challenges straight out of university, even though the code I write now is way better.

It's not ironic, it's very much by design. It's a bit like the Army. In theory anyone of any age and background can join up, but the physical requirements and "culture fit" does a very good job of selecting for young males.

Designed to weed out experienced engineers that know how to build production ready systems?

Re: Hiring Is Broken – My interview experience in the tech industry

#178
"Write a maze solving algorithm" I just solved that in less than 3 seconds. Here is the solution in a Fiddle[0] and the discussion on Stack Exchange.[1]Sorry, I'm too busy solving problems which haven't been solved yet to bother with problems that have been solved.

[0]: http://jsfiddle.net/5g7se8qL/7/

[1]: http://stackoverflow.com/questions/16173259/javascript-maze-...

Re: Hiring Is Broken – My interview experience in the tech industry

#179

So there's really no hope for the self taught without formal algorithm training. I can start from an idea, build an entire site from the ground up, including hardware, OS, programming environments, mysql/oracle/rethinkdb/mongodb/arangodb + all their query languages, backend nodejs/php/python code, all custom frontend css/stylus/vuejs/js/responsive, domain / dns / hosts, email servers, deployment and administer the en…

The flavor here is very much the Google/Facebook/Apple + Tech Startup crowd.

Dev jobs outside of that little bubble tend to have very different interview techniques.

Re: Hiring Is Broken – My interview experience in the tech industry

#180
If you don't like Google's hiring process, apply somewhere else. There's plenty of viarety among a whole host of different companies large and small. The reality is Google gets hundreds of thousands of candidates a year and has these processes in place for a reason. The interview machine at Google spans the entire company and everyone is expected to participate and give detailed feedback at each stage and "rank" a candidate on a 1-4 scale. You have to have some sort of normalization in place when you're interviewing at that scale, it's not enough to say "oh, this guy invented homebrew or this guy has some cool open source project, let's fast track him." It's unrealistic to think that. A lot of people complain that Google spends too much time on "things that don't matter like nuances of algorithms" but I'd disagree with that point. Google's not in the business of hiring "frontend devs" or "node js devs" theyre looking to hiring well rounded software engineers that would be expected to fit in any role given to them org wide. And honestly, it's not hard to pick up a data structure book and a "software engineer interview questions" book and study for a few weeks prior. You'd probably do pretty well.
Post reply on HN