Live data from Hacker News

The dystopian world of software engineering interviews

jarednelsen.dev

111–120 of 851 posts

Re: The dystopian world of software engineering interviews

#111
It is my observation that you generally don't need to know how certain algorithms are implemented. You need to know of them, what they do and their strengths and weaknesses compared to other algorithms. That is, just enough knowledge to make the choice on which way to go. The actual implementation part can be Googled when the time comes.

If I was ever an interviewer, I would not ask candidates to implement algorithms, but rather to explain why you would use a certain one. Or give them a situation and some choices and ask them to choose one and justify their choice. (e.g. For this task, would you do it in python or C? Would you use a linked list or an array to solve this problem?)

Re: The dystopian world of software engineering interviews

#112

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…

I'm bad at taking tests. I'm also bad at playing guitar when someone is looking or even when recording myself (and pretty good when playing without anyone looking). I get anxious and self-conscious and that gets in the way of good public performance. This does not translate to public speaking - I'm pretty good at that, and I'm not afraid of audiences of just about any size - my largest so far was ~1K people.

I somehow managed to get a masters degree from the top engineering school in my country (with honors), and get hired at MS and Google, and a handful of other places, but that was in spite of my interview performance, not because of it. I've also failed a lot of interviews. I literally look and sound like an idiot when adrenalin kicks in, which for me it does at the most inopportune moments.

I very strongly suspect that there are _a lot_ of people who suffer from this. You can recognize them when they on the one hand have an illustrious resume and on the other suck pretty bad on simple coding problems. Those things are supposed to be mutually exclusive, and they usually are, except when the person's blood is full of adrenalin and they end up on the wrong end of fight-or-flight response.

If I spent 7 years as a SWE on high profile teams at Google it's pretty clear I know how to code, even if my interview performance on your Leetcode problem is not excellent. My C++ and systems design will likely be way better than all of your existing engineers, in a non-interview context, just because I've done a ton of both in an environment which expects excellence in both, and won't let you commit code if it sucks. 5 years after leaving I have not worked anywhere where this wasn't the case.

This is not the same, BTW, as "high pressure" usually encountered in the work environment. I can deal with that just fine. And I can code whatever algorithm you like in that environment, no problem. So I doubt a high pressure interview is terribly predictive of performance under "normal" levels of stress, too.

Re: The dystopian world of software engineering interviews

#113

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…

A few words on top grading. We are use a top grading like process, and are pretty flexible on the references part of it. It is just a long conversation. I think it is a structured and simple way to talk about a person and where they have been. Yes, it is comprehensive, but it works well. We hire almost all candidates that have made it to the top grading stage of our hiring process. We don’t use it to find liars and d…

Top grading seems like a much more humane way to hire than obscure algorithm tests, even if it is more involved.

Thanks for dropping in the defense here, I've never heard of this process.

Re: The dystopian world of software engineering interviews

#114
post #56

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…

The ability to acquire and apply technical knowledge, and ability to demonstrate random technical knowledge under time pressure, in a foreign environment, while other people are watching and judging you, are orthogonal skills and many engineers are great at the former and terrible at the latter. There's also a ton of opinion and taste involved in software engineering, which can bias the interviewer's view of someone'…

Time pressure, foreign environments, and people watching/judging your work are all exactly the things that happen when you're developing stuff that hasn't been done. You run into problems. You find out that requirements or an API spec weren't perfectly written and have to deal with change. You have to work with other people, and they will judge you.

Hard coding exercises with a time limit that have an answer that can't be found on Stack Overflow do a pretty good job of simulating real world job pressures in a controlled environment so they can fairly rank order candidates.

The technical interviewers that might be biased against you are either the exact people that will have to work with you, or at least they fit in the same company. If they don't like you during the hiring interview, they won't like working with you.

Alphabet's market cap is literally a trillion dollars, so I'd love to hear about how they should stop limiting themselves and start hiring people that can't finish an ill-defined task with a deadline looming and other people waiting for you to finish your module.

Re: The dystopian world of software engineering interviews

#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.

Re: The dystopian world of software engineering interviews

#116

I honestly don't know why anyone gives FAANG recruiters the time of day anymore. I have yet to meet anyone who feels good about the prospect of working for them, anyone who works there who's super proud of their mission, and the competitors who are looking to hire at that level of talent pay roughly similar wages from what I've seen. My advice for this poor kid is to look around at startups and do more networking. FA…

A couple of reasons: - Comp: Total comp for a new hire with 3+ yrs dev experience is probably 300k -> 400k at a FAANG on average (with possibility to be higher). If you want to live and raise a family in your own house in the bay area (2.5 Million for a reasonable house), this matters. - Access: Few places have the kind of scale and resources of these companies, that can make them fun places to work. You also get to…

I must admit I always feel weird when I see numbers like that mentioned for software engineers. In Germany a more reasonable number with a few years of experience might be in the €50-55k ballpark.

Granted, the cost of living is significantly lower in most cities here than it is in the bay area, but still it just feels... weird.

Edit: Fixed a typo.

Re: The dystopian world of software engineering interviews

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

How do you sort an infinite stream?

[deleted]

Re: The dystopian world of software engineering interviews

#118

Earlier quoted context omitted.

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.

Is it that different from a cover letter ?

Yes. It’s a tool to filter candidates based on race and appearance.

Re: The dystopian world of software engineering interviews

#119

Earlier quoted context omitted.

A couple of reasons: - Comp: Total comp for a new hire with 3+ yrs dev experience is probably 300k -> 400k at a FAANG on average (with possibility to be higher). If you want to live and raise a family in your own house in the bay area (2.5 Million for a reasonable house), this matters. - Access: Few places have the kind of scale and resources of these companies, that can make them fun places to work. You also get to…

I must admit I always feel weird when I see numbers like that mentioned for software engineers. In Germany a more reasonable number with a few years of experience might be in the €50-55k ballpark. Granted, the cost of living is significantly lower in most cities here than it is in the bay area, but still it just feels... weird. Edit: Fixed a typo.

I think Europe (and the UK) undervalue software engineers.

At least in the UK this seems like a cultural thing where management is high status/high value and engineers are low status/low value.

I think the US generally gets this right (at least in silicon valley), but it could partly be because the US has some extremely valuable software companies that operate on a global stage that aren't really present elsewhere.

Really great software engineers can generate insane value at a great company with a good business.

Re: The dystopian world of software engineering interviews

#120
Yes it sucks but so what? It's worth it. FANG will give anyone an interview if you have an internal reference. I am an undergrad English major in my 30s and just got in.

Gaming the system is easy. You just have to put in the work. Do every question in EPI and then do a few hundred leetcode questions until you're ready. It will take between 100-500 hours depending on where you're at when you start. Good luck!

Post reply on HN