Hacker News new | ask | show | jobs
by narak 3239 days ago
Good CS fundamentals are important because they are transferable skill to a wide array of problems a startup may face. Just because someone wrote an impressive framework or library doesn't mean given a complex problem outside of their known domain (web framework design or package management tool), they would be have the necessary background to solve it. With strong math and CS knowledge, you can reason through almost any problem.
4 comments

> Good CS fundamentals are important

Yes they are. Except, these interviews aren't testing for that. Finding the maximum sum subarray isn't testing for any fundamental.

> Just because someone wrote an impressive framework or library doesn't mean given a complex problem outside of their known domain

Why are you even hiring them for something that's not their expertise? Seriously, that's literally the whole point of the interview. I don't think Max Howell was trying to get in to the DeepMind team.

Calling these just some other web framework or package management tools is doing them an incredible disservice. Twitter used Rails. Airbnb uses Rails. If Airbnb hired DHH, it would be Airbnb's fault if they made him tune hyperparameters of some ML model rather than see how their web performance could be improved.

Honestly, at this point I'm convinced I could get HN to talk poorly about John Carmack's programming skills.

> Finding the maximum sum subarray isn't testing for any fundamental.

There is quite literally nothing more fundamental to computer science than data organization and access.

And for what it's worth, Google and others are very open about their hiring process: they want generalists. I assume they have the data to justify that's a better investment. So maybe DHH or whoever gave the impression they weren't interested in doing anything they haven't already mastered. We have at least a little bit of evidence that attitude could be the problem: many of these anecdotes are disgruntled people who (often profanely) publicly vent when a company rejects them. Maybe that attitude comes out during the interview when they're asked to do something they deem to be beneath them.

> Good CS fundamentals are important because they are transferable skill to a wide array of problems a startup may face

I'm really skeptical of this claim. Nothing about CS fundamentals prepares you for debugging mobile browser performance, or machine learning, or setting up a sharded database. Maybe the big companies have a reason for asking these questions, but few startups benefit from these types of questions.

From the POV of the large tech companies, it's mostly a matter of keeping the interviews short since the questions can be complicated yet fit in under an hour. The top companies are constantly growing, have ~3 year turnover and are flooded with applicants due to their name recognition. Why all the smaller ones copy this approach, I have no idea. The alternatives usually are just as unpalatable: pair programming, a long project, language triva questions, etc. So nothing changes.
>>I'm really skeptical of this claim. Nothing about CS fundamentals prepares you for debugging mobile browser performance, or machine learning, or setting up a sharded database. Maybe the big companies have a reason for asking these questions, but few startups benefit from these types of questions.

To summarize this statement, there's a reason why algos and datastructs is taught only for 1 semester out of 8 in college.

> Array of problems a startup may face.

Not every company is a startup.

I'd much rather say a company like Google might have problems that require deep knowledge both inside and outside of someone's domain, but startups - no. They need to ship and optimize on the go, rinse and repeat.

> With strong math and CS knowledge, you can reason through almost any problem.

Until you can't. Math and CS, while certainly giving new perspectives, don't add much to the actual solution. What makes developers great is experience and not some text book knowledge of a topic. Hands on experience is a game changer.

Majority of the developers don't work and will most likely never work on something life-changing that they need to know every algorithm and data structure out there. Their time is better spent elsewhere.

Not every company is a startup.

Exactly this. A company making microscopes probably doesn't need to hire biology PhDs, and wouldn't ask obscure biotrivia in an interview...

That's a good one. My friends in engineering (physical sciences based, e.g. aerospace) and I have decided that the analog in that industry to programming interviews would for the candidate to be bombarded with questions asking him to evaluate complicated integrals from the CRC or something like it.
Good CS fundamentals are important

https://medium.freecodecamp.org/welcome-to-the-software-inte...

Yes, I can see the confusion. You see, we are looking for the very best Translators, and it has been proven by major companies that the people that are able to do the job best have a very solid foundation in the science translation is based in, such as Linguistics and Classics.