Live data from Hacker News

The dystopian world of software engineering interviews

jarednelsen.dev

271–280 of 851 posts

Re: The dystopian world of software engineering interviews

#271
post #176

When my classmates were preparing interview coding questions, I was working on a mini TCP implementation and a toy kernel. AWS rejected me since I failed to write prefect code to traverse a tree in level order. Google did not even give me an interview since I told the campus recruiter I have not prepared for the coding questions. Then I ended up with an internship at CoreOS and created etcd. I am glad that they did n…

I love these anecdotes, thank you! The greatest programmer I've had the privilege of working closely with could easily pass most technical screens, but he's an odd fellow, and I don't think could handle the stress and anxiety of these crazy interviews. Lots of diamonds in the rough out there, but I suppose large companies understand that and just consider it acceptable loss.

That's what every bitter HN comment on the topic forgets. If Larry Page could sit down and talk to each candidate, I'm sure he'd be able to properly assess these kinds of corner cases. The challenge isn't being able to do that at an individual level; it's being able to do it in a way that's somewhat consistent and scalable across tens of thousands of interviewers and millions of candidates. Any large system is going to have false positives and negatives, and hiring is broken to begin with at most companies (assessing whether someone will be a good employee for the next few years based on a few short meetings is really hard)

Re: The dystopian world of software engineering interviews

#272
If you work at a FANG too much of your income is hoovered up by rent anyways. Especially factoring in the hours and stress. Promises of a career ladder are breadcrumbs for most people. Why bother.

Big Tech has been captured by finance and professional management. In other words those companies are now political bureaucracies where workers, as opposed to connected operators, are exploited.

Workers now need to go elsewhere, save up some cheddar, and start their own companies. Same as it ever was.

There's nothing special about Silicon Valley. It preys on idealism and naivety just as much as Hollywood.

Re: The dystopian world of software engineering interviews

#273

Comedian Daniel Tosh had a bit about people that claimed to be smart, it's just that they were just bad at taking tests. He said, "oh, so you struggle with the part where we find out what you actually know?" I hear a lot of complaints about the "typical" software engineering hiring process, and it usually comes from the people that don't do well within the current system. Could the process be improved? Almost certain…

> But it is an undeniable fact that some people pass this interview process; software companies do fill positions with this process.

This argument is devoid of logic.

We could have an interview process where everyone runs a 100 meter dash and the fastest get hired. Some people would pass this interview process and get hired.

It's obvious that running fast is not a great predictor of success at software development. It's not obvious that passing l33tcode interview questions is a bad predictor of success; but it's not obvious that it's a good one, either.

You haven't made an argument for either case, here. Personally, I don't think it tests for much that Raven's Progressive Matrices wouldn't cover; but that's illegal, because it's too obvious.

Re: The dystopian world of software engineering interviews

#274
Face it, FANG companies are mega corporations. All that made them good in the eyes of most employees vaporized when they grow much bigger and they lose their culture. That means less autonomy for the new employees (how many remember mythical 20% own time at Google?) and less freedom of expression (James Damore).

If you want to be part of something special join a startup or at least a small or mid size company made up of people that actually values your whole skillset and creativity instead of only one aspect.

Re: The dystopian world of software engineering interviews

#275
post #115

When my classmates were preparing interview coding questions, I was working on a mini TCP implementation and a toy kernel. AWS rejected me since I failed to write prefect code to traverse a tree in level order. Google did not even give me an interview since I told the campus recruiter I have not prepared for the coding questions. Then I ended up with an internship at CoreOS and created etcd. I am glad that they did n…

Hah! Reminds me of https://twitter.com/mxcl/status/608682016205344768 . Cynical answer though — Google does not want people like you. They don't want to hire entrepreneurs or inventors. They want people who can churn out code when given specific instructions, and that is what their interview process optimizes for.

Right. Coding tests are designed to find people who are happy in a job where their only responsibility is: "Here's your coding assignment. Go do it." Technology companies are overfull of engineers who want more responsibility than that. They don't need any more.

Re: The dystopian world of software engineering interviews

#276

> “Yes. Can you write an algorithm to find the Kth highest value in a binary tree?” I got this exact question on a phone screen with "Giant Search and Advertising Company." I got stuck on a stupid detail and botched the implementation. Once I hung up the phone I took a deep breath and fixed the algorithm in about 15 minutes. That still isn't very good since I was only given 15 minutes total at the end of the intervie…

How snarky do people get on these interviews? If anyone asked me to find the kth-greatest element in a tree I'd write down a loop that increments std:set::crbegin k-many times and then dereferences and returns it. This is literally how anybody at Giant Search and Advertising Company would do it, and almost nobody at that company has ever written a tree, they just use the one in libc++, from Jeff Dean on down.

Re: The dystopian world of software engineering interviews

#277
post #45

In my personal experience, having interviewed dozens of candidates (data science), I believe that asking "easy" and "simple" questions is the most effective way to probe the problem-solving skills of a candidate. Fun and interesting solutions to easy questions are hallmarks of great individuals. The question would go like this: Suppose I have a column-oriented file and I want to print out a column in a reverse-sorted…

I feel the need to nitpick your example.

> does the candidate want to code it up or understands that they could do: cut | sort| head

Piping together commands is undoubtedly programming, just in ancient shell script. So in a sense you're really testing for bash expertise. Which is maybe really relevant to you but I wouldn't say you're really "avoiding" coding by knowing to use those commands together, you just decided to code it with obscure shell commands. I might fail your test by choosing to write that sort of thing in python, because I could write it much more reliably in 10 minutes than deal with all the incredibly weird things that can happen in bash. I mean the final product in bash might be slightly more elegant, but your terminal history is probably littered with "man cut" and various attempts at it.

But for your example, my answer might be: if you're querying this file once, you may be querying it again, it's probably just way simpler to load the thing into sqlite instead of trying to imitate sql with some janky unix commands.

> everyone with real work experience has a story about sorting.

I am 34 and an experienced coder and I literally have no stories about sorting, and I've never once wanted to sort a CSV file on the terminal.

Re: The dystopian world of software engineering interviews

#278

In addition to all of the very dystopian examples given in this post, there are other non-technical, super-dystopian things that have been popping up as "trends" in the tech industry. Ever heard of top-grading? It's the most oppressive interview technique of all time. A series of grueling multi-person interviews. A retrospective of all work experiences since high school . You also have to get multiple prior employers…

Twitter uses what they call top grading, but really isn't, it's just a 1 hour reverse chronological set of questions through the most relevant/recent of your work history, asking the same set of defined questions for each role you had. Really just a structured way to understand your history in a consistent way. It basically the same as asking someone about their work history, but in a structured way.

  It is absolutely definitely not the actual top grading of multi hours of interviews , phoning references etc.

Re: The dystopian world of software engineering interviews

#279
A few months ago I interviewed with Major CDN Company for a front-end dev position. They sent me a take-home React/NextJS project stub with dependencies and such already defined, and instructions to finish building out the full app. "Perfect!", I thought. No stage pressure, plenty of opportunities for going an extra mile. They encouraged me to get creative and I did; it met all the requirements and then some. I proudly submitted it.

A few days later I got an email saying, "Sorry, we're going to pass. The feedback from the person who reviewed it said that, 'It crashed with res.flat() is not defined when we tried to run it'".

"That's weird", I thought. I assumed they were running it in a different browser that lacked Array.flat(). Annoying, but maybe browser compatibility was part of the test (it hadn't been stated as such). So I did some digging just to be sure; I asked what version of NodeJS they were using. Version 10. Turns out that version of Node is somewhat old and doesn't have flat(). Huh. Dug some more.

.flat() wasn't even called in my code.

The stack trace went down into NextJS itself. They had given me a project with a particular dependency declared and then run it in an environment which was incompatible with that dependency, and then immediately punted it without any further debugging. I tried to engage my contact via email, presenting the proof that it wasn't my fault. I got an icy "Thanks for your feedback, we'll forward it to our hiring team", followed by silence.

Re: The dystopian world of software engineering interviews

#280

In addition to all of the very dystopian examples given in this post, there are other non-technical, super-dystopian things that have been popping up as "trends" in the tech industry. Ever heard of top-grading? It's the most oppressive interview technique of all time. A series of grueling multi-person interviews. A retrospective of all work experiences since high school . You also have to get multiple prior employers…

Also other trends that, thankfully in my experience, have not yet made their way to tech. I suspect it is only a matter of time, though... A lot of non-technical positions I have seen and heard about (including non entry-level positions) require a video of the candidate to describe themselves and why they would be a good fit for the position. That just sounds awful to me.

One company said I had to make a video of myself..and then the final interview would be singing a song of my choice in front of the entire company through video conferencing.

This was for a software engineer position. I didn't even bother going on the interview. I feel like the purpose was to see what they could get you to do.

Post reply on HN