Do people still write their own data structures and algorithms?
c++, java, stl
Solution
While no one really rolls their own stacks or queues anymore, it -is- very important to understand how and why they are different. So no, to use simple data structures effectively, it's not 100% necessary to be able to do all the proper error checking for loops/null tail/concurrency/etc in a linked list while blindfolded.
However, while the simplest data structures aren't rewritten over and over, trees and graphs are often still custom rolled, and you probably won't be able to do anything with those without understanding more basic data structures.
Also, these often fall under 'interview questions', so they're worth knowing how to do even if you don't actually rewrite a doubly linked list in live code.
Problem
Instead of the STL and similar libraries in other languages? As a newbie, how much should I delve into this part of software development? Breadth first or depth? Is only a conceptual understanding necessary these days? Or should I be able to implement a doubly linked list blindfolded?