Hacker News new | ask | show | jobs
by StrawberryFrog 5366 days ago
> First, knowing your 101 Data structures is correlated to your Computer Science general knowledge.

I can't quite shake the idea that what you're really testing is if the applicant has been to the same kind of school as yourself.

> There are jobs that merely require churning out bland CRUD application code, and it does not make much of a difference if you know this stuff

I've seen some really interesting (and performance-constrained) code done in .Net that didn't use pointers or linked lists in any way. It's not either "bland crud" or pointers, that's a false dichotomy.

Of course, concepts like parse trees, A-B pruning or Hungarian method of optimization are things that are worth having a hold on. But "how often you expect to use the skill" of linked lists with pointers in many modern languages, Java and C# included, is effectively never.

No idea where the crap java code for a sorted list came from, hope you're not trying to put those words in my mouth!

In the .Net world, good companies do try to look out for "broader" developers who are aware of useful open-source software toolkits, and want to practice things like Dependency Injection, TDD, Continuous Integration etc. They generally make better coders.

1 comments

Yes, I am aware of the CS vs street smarts debate. Everybody has its own opinion, and I am sure neither of us is going to convince the other, so I'd rather not go there.

At the end of day, you seem to miss my point altogether. Testing for the skill is not useful in itself. It is just an heuristic.

The industry is choke full with people that seem fairly competent and accomplished, who is able to produce code that fulfills the specification, but who also come with a collection of vices, bad practices, and simply cannot make trade-offs intelligently.

People like me wants to believe that, because CS foundations are not strictly needed for the task at hand, these people tend to ignore it for the same reason that they ignore other, more important, stuff that also is not strictly needed to complete the task at hand (but that will have a direct impact on the quality of your solution).

I am fully aware that there are great developers that do not come from a CS background. I am also painfully aware that there's people who excels at the CS 101 questions but cannot perform in a real world environment. At the end of day, this does not provide a final go or no go answer. It is just an indicator of whom you want to bring in for a deeper, longer interview.

> hope you're not trying to put those words in my mouth!

Not at all. I was just going on with the troll thing. Hope I did not offend you.

> At the end of day, you seem to miss my point altogether. Testing for the skill is not useful in itself. It is just an heuristic.

I see the point, I just disagree with it. There's some validity to using CS101 knowledge as a heuristic, but as you have admitted, it's not perfect. We just disagree on how imperfect it is.