News for hackers. Stuff that matters.
Re:How I went from failing every interview to a job at Amazon by dagw on Sunday April 30, 2017 @06:49PM (#14234305)
exceedingly few programming jobs need to know anything resembling advanced computer science theory

There's "need" and there's "need". The person without the solid computer science background may very well be able to solve all the problems at hand, but the person with the solid CS background is far more likely to come up with the fast elegant solution that doesn't fall over in obscure corner cases.

To use a concrete example for early in my career; I spent days and days trying to solve a problem by building a bigger and bigger pile regexps and if-else statements. Then my project manager (who had a PhD in CS) came along a just wrote a custom parser that solved the whole thing.

Re:How I went from failing every interview to a job at Amazon by alasdair_ on Sunday April 30, 2017 @10:30PM (#14235217)
>There's "need" and there's "need". The person without the solid computer science background may very well be able to solve all the problems at hand, but the person with the solid CS background is far more likely to come up with the fast elegant solution that doesn't fall over in obscure corner cases.

I know the plural of anecdote is not data, but I'd say that the typical PhD that I have interviewed has generally poorer useful coding skills than the person from a similar background who stopped at a masters or even BS and then wrote a lot of high quality code during the time the PhD was doing a whole bunch of theoretical work.

>To use a concrete example for early in my career; I spent days and days trying to solve a problem by building a bigger and bigger pile regexps and if-else statements. Then my project manager (who had a PhD in CS) came along a just wrote a custom parser that solved the whole thing.

It's MUCH easier to come along after someone has already spent days exploring the problem and can demonstrate the dead ends, then say "oh, you need a custom parser" than to start at the beginning and do the same thing. USUALLY writing a custom parser is overkill and it takes a decent amount of digging into a system to know when it's not. If you start out writing one every time something looks like it can be solved by an "if" statement, you'd never get anything useful built.

Re:How I went from failing every interview to a job at Amazon by chrisbennet on Monday May 01, 2017 @04:11AM (#14236213)
"Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems."
Re:How I went from failing every interview to a job at Amazon by majormajor on Sunday April 30, 2017 @07:14PM (#14234417)
> the fast elegant solution that doesn't fall over in obscure corner cases

This can go both ways, though. Sometimes the fast elegant solution is too elegant for the nasty corner cases and a much bigger, uglier, but ultimately straightforward procedural block of crap is better.

The examples I've seen are from established businesses that occasionally slipped up in refactoring out hacks that were introduced to support deadline-driven requirements. A year or two later, that hack is powering the reporting for a huge portion of the traffic, and you have to be able to balance between (a) writing maintainable code that supports the hack for the short term and (b) working with the rest of the business to clean up the requirements so you can improve the system for the long term.

(b) is a skill that most interview processes I've seen completely ignore. And (a) often is downplayed (as "simple" or "easy") compared to more clever tricks - but knowing how to do the clever tricks might turn into a temptation to use them more than you should.

Re:How I went from failing every interview to a job at Amazon by arvinsim on Sunday April 30, 2017 @07:12PM (#14234407)
You don't need to know how to implement a parser to recognize it as a solution to a problem. And there are already libraries and tools for building parsers anyway.
Re:How I went from failing every interview to a job at Amazon by sanderjd on Sunday April 30, 2017 @08:23PM (#14234703)
The hard part isn't building the parser, the hard part is recognizing that a parser would be a good solution to the problem and distilling the problem into a form for which the solution works. One of the main purposes of a college degree is to come out knowing a lot about what you don't know. That is, knowing a lot about what sorts of things exist, even if you don't know much detail about any of those things.