For the past 4 months I have been studying Software Engineering Principals on the side while trying to understand the ins and outs of rails. I have been focusing on data structures for the past month. When it comes to organizing our data, there are lots of tools that we can use for the job. The trick is knowing which tool is the right one for the job. My favorite data structure is Linked List. I like them because they are so versatile. They can be used to implement several other common abstract data types, including lists, stacks, and queues. It’s also a technique used for resolving collisions in hashes. While I understand that this isn’t a magic wand for all of the jobs I think the trade off of using less memory to store your data is more important for big companies rather then the searching speed.