Live data from Hacker News

The dystopian world of software engineering interviews

jarednelsen.dev

381–390 of 851 posts

Re: The dystopian world of software engineering interviews

#381

The evolution of the software engineering interview is a consequence of people gaming the metric. As the author points out, once the cat got out of the bag, the problems became increasingly challenging. The real consequence is for wages. By making interviews a ceremonious practice where even engineers with years of experience need to spend a month Leetcoding, you severely restrict the talent pool. It discourages poac…

> You can make 85-90% of a FANG salary

IME, it's more like a >50% pay cut. Plenty of reasons not to do FAANG, but when calculating trade-offs it's important to have an accurate view of the costs of each decision.

Re: The dystopian world of software engineering interviews

#382
I am not sure anyone mentioned it before, but in many occupations you are required to take standardized tests which you are required to renew each X years. This way if you hold the credentials than you don't have to actually demonstrate your technical skills when applying for jobs, since your certificate proves them.

And guess what?! Your diploma is actually such a certificate, at least something that's close enough. Still our industry largely ignores that for some reason.

To get to the point I wouldn't mind to renew my credentials with supplemental diplomas every X years on standardized tests facilitated by educational institutions to avoid the stupidity of the industry's current trends.

Re: The dystopian world of software engineering interviews

#383

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…

What you do sounds like a reasonable interpretation of top grading. It's also what I'm used to, largely.

Where it gets tricky is with people like who are older and have "done interesting things". I did short contracts for more then a decade and interspersed them with cycle touring. So my full work history is a thing of joy and beauty, but asking me to go through it and re-locate one person from each company, contact them, and get a reference... you've just asked me to do 100 hours work at the very least. Even leaving out the non-technical jobs only halves the number. When a major bank wanted a list of every place I've lived for the last ten years they eventually decided that "no fixed address" was acceptable.

But I expect that if I applied to you and said "here's the last ten" you would be happy with that. And FWIW I have a number of quite enthusiastic referees available on request.

Re: The dystopian world of software engineering interviews

#384
post #378
post #115

Earlier quoted context omitted.

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.

I don’t think there’s any intention to it at all. Unless one takes extraordinary steps to examine what brings truly brings value, most people interview for clones of themselves. Or worse: their idealized self-image. Google started off with very mathy people, and highly competitive people, and interviewing this way has always worked for them, so why change? Some people have done internal studies showing how wildly cou…

> Unearned privilege?

I agree that the interview process looks for self clones. I've been in interviews where interviewer was like "why you used Dictionary to do this? Nobody uses dict in prod code"

But unearned privilege seems a little harsh doesn't it?

Re: The dystopian world of software engineering interviews

#385
> The second was to write a recursive permutation generator using dynamic programming which is no easy task. I got totally stumped in the moment by that one. At the end of the interview I asked the interviewer “This problem seems a little steep for a phone interview. Do you often write recursive algorithms at Payment Processing Company?” He replied “No, we don’t use recursion.” “How about permutations? When have you used those?” He answered “Our algorithms have no need for permutations. Most of the engineers here work on user interfaces and infrastructure.”

This is absolutely hilarious, and has happened to me a bunch of times interviewing at large corps. Although I wish I had the balls to do what Jared does here, which is ask the interviewer if they ever even _used_ dynamic programming on the job.

Like, I get that some jobs are algorithms intensive. I've worked in such jobs myself. On the job, I had a lot of resources to help me - access to textbooks like CLRS and Wikipedia, so that building an algorithm and coming up with it's big O was mostly straightforward. But we've never had the CEO come and say "I need a O(n) algorithm stat for this problem _text dump of hard DP problem_".

Re: The dystopian world of software engineering interviews

#386

Earlier quoted context omitted.

Interesting how negative your reaction is. Also how far off target all that anger is. I am not selecting for a tribe, I am selecting for a job. The questions are loaded, of course. Among the many duties, the jobs do require processing large files, sometimes with cut, Python or C. I want the candidate to use the most appropriate tool as needed. I'd rather not have people implement functionality that already exists in…

> The right answer will depend on the column separator. Proposing the UNIX cut if the file is CSV is not such a good answer, but for tab-separated files, it is just fine. If the file is CSV and they tell me about cut, my next question would be if that is a good universal solution for CSV files in general. TSV and CSV have the same limitations. A tab-separated file could still have tabs inside a field depending on the…

The only true Unix column format is ascii delimited text.

Oddly no one has heard of that, the only reason why I found out about it is because I had to read in punched tapes with 7 character ascii from an experiment done in the 80s during my undergrad.

https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text

Re: The dystopian world of software engineering interviews

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

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

I'm a bit younger, but have done this dozens and dozens of times.

----

A lot of one off processes are way easier to handle with a bunch of terminal commands and pipes.

Re: The dystopian world of software engineering interviews

#388
post #301

Earlier quoted context omitted.

My experience as both a 50+ hiring manager and as a candidate tells me that we are collectively living in an illusion of whacked up expectations. Yes, it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore, and while we may think our company is a 9 and we deserve 9s, we are probably more of a 4 based on what people are actually working on. Yes, interviews suck,…

> we are collectively living in an illusion of whacked up expectations. Yes, it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore, and while we may think our company is a 9 and we deserve 9s, we are probably more of a 4 based on what people are actually working on. You're essentially implying that companies like FAANG can get by just fine, even if they hired "…

Dear God, I wish companies were run like this. Everyone refers to these faceless "companies"...no, you are being hired by employees just like you who almost always overpay for staff. They overestimate their ability to assess talent, HR usually link their own salaries to the people they hire...it is a shitshow.

Look at CEO pay, most CEOs are clueless. They are way overpaid. Google is a perfect example, that business is a cash machine, it could be run by a ham sandwich, and they are paying people $100m+ to run it...lul. Jokes.

Btw, this also shouldn't matter. If your business relies on hiring these 1 in 1000, super-smart individuals (ignoring the fact that it is statistically impossible to actually do this if you are hiring thousands of programmers), you will fail. Every time. You get into a bidding war, and your budget depends on the intelligence of others to not overpay. If you can work out how to turn average employees into good ones, you will print money because no-one wants average employees...supply is infinite, you will never overpay (I know companies that have done this...they usually end up acquiring the companies that hire the "boffins" and fire everyone on day one).

In tech, the opportunities for this are basically limitless. It is pretty easy to teach someone how to code, the main challenge is really all the stuff you learn "on the job"...and guess what? You have a job to teach them. Why doesn't this happen? Try telling a coder he has to help a junior guy out one day a week and stop fucking about with Haskell/burning cash. Try telling HR that you want to hire unremarkable people. Try finding an executive who wants to work somewhere where they hit singles...he has an MBA you know, he swings for the fences every time. You are vastly overestimating, ironically, the intelligence of most people who work in companies (I worked in equity research for a while...Buffett's dictum of a company that could be run by a ham sandwich has much wisdom).

Re: The dystopian world of software engineering interviews

#389

Earlier quoted context omitted.

A column orientated file? What format? Excel? CSV? What is cut, sort or head? Are you only accepting Linux candidates then, a tiny percentage of users? This sort of utter nonsense question, heavily loaded to your "standard" experience, which is anything but, is even worse than the questions cited in the article. All you're doing is filtering for people who are in your tribe, who followed the same path as you and thin…

Interesting how negative your reaction is. Also how far off target all that anger is. I am not selecting for a tribe, I am selecting for a job. The questions are loaded, of course. Among the many duties, the jobs do require processing large files, sometimes with cut, Python or C. I want the candidate to use the most appropriate tool as needed. I'd rather not have people implement functionality that already exists in…

As someone with background in Mechanical Engineering, software interview questions as above seem so wild and absurd to me. Why would you care about someone knowing the intricacies of CSV or bash? I would expect a good engineer to provide best possible solution to your problem within an hour of googling / research. I really don’t see the point of asking such specific questions on interviews as it has no correlation with finding a good engineer. I wish software field would move closer to interview process of other engineering disciplines but it seems to be getting wilder each year.

Re: The dystopian world of software engineering interviews

#390

Earlier quoted context omitted.

A column orientated file? What format? Excel? CSV? What is cut, sort or head? Are you only accepting Linux candidates then, a tiny percentage of users? This sort of utter nonsense question, heavily loaded to your "standard" experience, which is anything but, is even worse than the questions cited in the article. All you're doing is filtering for people who are in your tribe, who followed the same path as you and thin…

Interesting how negative your reaction is. Also how far off target all that anger is. I am not selecting for a tribe, I am selecting for a job. The questions are loaded, of course. Among the many duties, the jobs do require processing large files, sometimes with cut, Python or C. I want the candidate to use the most appropriate tool as needed. I'd rather not have people implement functionality that already exists in…

I had to read a few times to figure out what “column-oriented” meant before figuring it out. May have not have been able to do it under pressure in an interview. If you’d said “ordered by column” I’d have understood much more quickly.

i.e. Be careful with your phrasing. That is a bias in itself.

Post reply on HN