Live data from Hacker News

Follow-up to “The dystopian world of software engineering interviews”

jarednelsen.dev

1–10 of 538 posts

Re: Follow-up to “The dystopian world of software engineering interviews”

#2
This is surprisingly better than the usual "You won't believe what happened after my article got on Hacker News" post (yes, that's a genre) so I'm going to put it in the second-chance pool [1] after turning the knob down on the title.

[1] described at https://news.ycombinator.com/item?id=11662380 if you don't recognize the term

Re: Follow-up to “The dystopian world of software engineering interviews”

#3
I'm just a QA but it makes me wonder if perhaps part of it is because software engineering is so young that we don't really know what a good software engineer should be. Or perhaps it's more that we're still trying to figure it out. Compare it to civil engineering or medicine that has had centuries if not millennia of accumulated knowledge, and who's principles haven't changed much since over time. The Hippocratic oath for instance is nearly 2300 years old and yet is still foundational to modern medical ethos. Computers have been around for the last 50 years, in every day use in the last 30. Barely a turn of the head in terms of length of human history.

I wonder if then at some point we see computer engineering becoming more standardized like the others, with a bar that someone must meet before they are able to call themselves a computer engineer with all of the responsibility that entails. I wouldn't say that it should restrict someone from programming professionally without this accreditation, but rather it would be a symbol of proof that someone has at least been judged by their peers to be at a given level of skill and knowledge. What this would look like ultimately or whether it would come to pass, I haven't the foggiest idea though. Like I said, I'm just a QA guy, not an SE.

Re: Follow-up to “The dystopian world of software engineering interviews”

#4
Glad to hear he hasn't given up. I agree with his basic thesis that much of software engineering hring is a cargo-cult shitshow. But I haven't given up hope and have worked on developing a hiring process that is human, efficient, and effective.

I've outlined it here before. Been using it and tweaking it for the last 3 or 4 years. I keep bring it up because it's a tested alternative to the usual death marches and dumpster fires and it has been a success for the teams I've led and our applicants.

The principles I've defined to guide our process[0]:

- Hiring cycles will be structured and as short as possible.

- When we start a hiring cycle, we will finish it by hiring the most qualified applicant who accepts our offer.

- Every applicant will receive a response within 48 hours and be updated on the status of their application at each step asap.

- The hiring process will be as transparent as possible.

- Objective and fair-minded measures will displace biased and bigoted ones.

- Every applicant will appreciate their experience, even the rejected ones.

- The process will be agile and adapt over time to improve and meet the specific needs of the organization.

- Onboarding will begin with hiring.

One problem I'm confronting at the moment. As our company grows, we've brought on a new HR lead who wants to jam the process we've been refining over the last couple years into a new ATS (Applicant Tracking System) that could significantly screw up our meez. We'll see how that works out. I'm doing everything in my power not to let it fall apart.

If you have the power to improve the situation, please do so.

[0] For an outline of the process, see https://wiki.klenwell.com/view/Hiring

Re: Follow-up to “The dystopian world of software engineering interviews”

#6
I think one of the major takeaways here is, stop asking algorithm questions [1]. Everyone. Just stop it.

In my opinion, and modest experience (I've done several dozen interviews, so there are plenty more experienced then me, but I'm at least not new, plus nearly all interviews were for my team so I had to live with the results!) it isn't that hard to come up with small sample questions related to what the job actually is doing. From there, in addition to the mere fact of whether or not they were able to complete the task, you can learn about how they did it, look at their practices, stop them for a moment and discuss the implications of something they just did. You can add a wrinkle to the task ("what about unicode?" "what about cross-site scripting vulnerabilities?"). I also find being this kind of flexible, rather than being stuck on "did they solve this algorithm challenge in the proper manner" also gives me room to be human, to take a moment to try to calm the candidate down in what is inevitably a stressful situation for them (even if it's basically just Tuesday afternoon for me in my current position in the world). I think of an interview as "I want to find all the positive I can", rather than as a process of locating all flaws, and you can't do that if your candidate is frozen in the headlights the whole time.

Interviewees are pouring forth a wealth of information. The idea that the only way to find out how good they are is by asking this one narrow set of questions is absurd.

And the interviewers are pouring forth a wealth of information too. Consider what message you're sending with a rigid adherence to something we all know is broken.

[1]: Unless it really is relevant to the job! I expect that if I'm hiring a senior level machine learning researcher that you better be able to describe gradient descent to me, for instance. We may not implement it literally in the interview but I have a reasonably case for saying the researcher ought to convince me they could get there. But in a lot of cases, what's more relevant to me is that you know the characteristics of algorithms rather than exactly what they are. You can know the runtime and weaknesses of quicksort or RAFT consensus even if you can't spew the actual algorithms on to a board.

Actually, my parenthetical here almost makes me want to rewrite this whole post, although this thought is still fresh and I'm still chewing on it. Is that perhaps the error we are making? Are we conflating knowing the algorithms for knowing the characteristics of the algorithms? The latter is legitimately important and I see screwups based on failing to understand characteristics of algorithms all the time. Knowing the literal, actual algorithm to the point that you could simply open up a terminal and bash it out yourself is rarely important in this era.

Re: Follow-up to “The dystopian world of software engineering interviews”

#7
Honestly, I think until FAANG start doing something else, the vast majority of tech/semi-tech companies will just copy them. A few smaller companies might branch out and try some other stuff, but most people hiring at mid and large size companies are just trying to minimize risk more than go grab that great diamond in the rough. If the big guys are doing X, the medium guys are gonna keep doing X also.

Re: Follow-up to “The dystopian world of software engineering interviews”

#8
I found this a thoughtful and sure therapeutic writing. Also moving to help and to encourage!

At the same time, a great deal in this is the level of expectations about the "greats", finding the right job place at once. I believe adjusting these criteria might open up a lot more chances to get to doing the craft, be on the team, well, interview the others too.

Good luck!

Re: Follow-up to “The dystopian world of software engineering interviews”

#9

I'm just a QA but it makes me wonder if perhaps part of it is because software engineering is so young that we don't really know what a good software engineer should be. Or perhaps it's more that we're still trying to figure it out. Compare it to civil engineering or medicine that has had centuries if not millennia of accumulated knowledge, and who's principles haven't changed much since over time. The Hippocratic oa…

I am pretty sure principles of medicine and engineering changed a lot over years. Even Hippocratic oath does not have all that much in common with ethical expectations in medicine. Most of what is in not is not expected anymore and most of current medical ethos is not in it.

No doctor is expected to share money with his teachers nor is expected to teach sons of his teachers. Abortion is allowed and lately euthanasia too. Current doctors can perform operations and are not required to treat all sick people.

Post reply on HN