Hacker News new | ask | show | jobs
by Waterluvian 3267 days ago
I think that understanding how common data structures are implemented is a worthy endeavour to understanding the foundations of your craft. There will also be a (very small?) subset of developers who really need to understand them well because performance and optimization is their everyday job.

But I get very frustrated whenever I see an argument for learning them like this one: "...knowing how to implement these data structures will give you a huge edge in your developer job search..."

This is what makes me worried/frustrated about the prospect of interviewing for a future software engineering job: the worry that they'll ask me programming trivia and miss the point that I'm kick-ass at my job and bring great bottom-line value to the company I work at.

On another note, I was playing Human Resource Machine recently and on one puzzle I said to myself, "this is a linked list!" having learned about it from an MIT lecture I watched at bedtime months before. Very satisfying nerd-validation.

1 comments

A developer who knows the basics will have less chances of doing stupid mistakes when dealing with algorithms. Data structures are the bread and butter of coding.

Like all things, if you want to make a high building, you better have a strong base.

Now it's true that the grunt of a programmer's work won't be such a problem, especially since there is a need for more coders out there.

But still, I'd still prefer being conservative and be sure any average coder (even more so for an engineer) knows about some data structures.

I still vividly remember that time some student argued that vectors and lists were about the same thing.

Perhaps I am missing something, but aren't vectors and lists almost equivalent?
Well yes, but the big difference is that you don't have random access with lists, you have O(n). Bjarne Stroutup talked about lists too.
That's more of an implementation detail of C++, no?
Not really.