Hacker News new | ask | show | jobs
by whatshisface 1914 days ago
>Software has an inherent bias towards people from prestigious schools and enforces that bias via heavy algorithm testing that is otherwise mostly not needed in software.

Can't any school teach the same algorithms material? It's not exactly secret. Algorithms interviews seem more like surreptitious IQ tests than anything else.

4 comments

Good question. I'm a drop out (a byproduct of paying for school while working in 2009) and it's been difficult to put my life on pause to go back. College grads get the luxury of having seen algorithms before and being taught how to negotiate and identify them in school with a fair amount of practice. I'm sure everyone studies for interviews, but for someone like me that study also often coincides with learning something for the first time. The industry now has a term for people like me, which is people from "non-traditional backgrounds". Many systems engineers, QA engineers, frontend engineers, etc will often be placed in this category.
Then it's closer to "CS program vs anything else," moreso than "prestigious schools vs anything else." There are plenty of non-prestigious schools in the world, more of them than there are Stanfords, in fact.
Yeap, I think that wording is probably more accurate.
I think prestigious school is all about contacts and networking rather than actual knowledge. Sure they are expected to have great quality teaching. The thing is - if company is looking for people from prestigious universities, chances are the owners also are and they just seek for people they know and are familiar with. This could also be the other way - owners are coming from poor background and this way they want to feel superior over people who had what they always dreamed about but couldn't get. Either way I stay away from such companies. In my experience there was always something toxic about them.
Any school can teach the same algorithms material, but not every school allocates or requires comparable amount of time and effort to that material. Some schols will just point you at the material and test if you rememeber the basics, and some schools will outright flunk you unless you practice until you can write correct implementations of all that material quickly with your eyes closed.
And both methods are bad.

Whiteboard tests aren't inherently bad, but the sorts of algorithm questions that are asked at some interviews are absurd and do practically nothing to determine whether the candidate would be a good employee. 95% of being a programmer is plumbing data together, and it's pretty rare that there is a need to develop more complex algorithms for things - as long as someone knows the concepts of time and space complexity and isn't going to make huge O(n!) operations, it's much more important IMO to be interviewing for communication skills, system architecture, network, and security knowledge.

There's obviously exceptions to this if you're hiring for a role that specifically is writing very algorithmic code to solve a hard science or graphics problem but that's very much the edge case and even if it is the case, domain knowledge will be more important.

Any school can teach it but most people still need to do lots of practice to reliably get through interviews. That’s not taught, and it’s something that students from average schools don’t even know they’re missing until they start looking for a job. Remember that the average student still believes that just getting a CS degree is enough to get employed.