Wanting to Learn Data Structures and Algorithms? Here are Some Places to Start

So here I am. Still on the road on a much needed vacation. The first one I’ve taken since covid hit. I’ve been finding myself with more free time than I have had since I started my journey into the software engineering world. Through a lot of conversations with developers who are established in the community, I have come to realize it is not enough just to understand languages. Understanding best practices through data structures and algorithms is paramount. Sure, you may be seldom asked how to work with a binary tree but it wouldn’t hurt to have a general idea on how most of the important stuff works.

I would like to first point out this source. It is a free course offered by MIT and it seems very detailed but in a sequential order that allows you to follow along as you are learning. After looking into what a lot of people are saying about it, it isn’t just enough to follow this course and think you’ve mastered it. Find ways to use them practically and that will give you a better understanding on how to use them correctly.

One book you might hear is a must have is “Cracking the Coding Interview” by Gayle Laakmann McDowell. One issue I found with it was I didn’t understand it as well because I’m primarily proficient in Ruby and Javascript. I found a Ruby and Javascript Github for the solutions so it made a bit more sense to me. I thought I would pass them on to you as well in case anyone else had this issue.

Lastly, I would also recommend scouring reddit for your own resources too. I know this sounds super basic but just by changing your search in reddit, you will find you get a ton of different results. r/webdev is a great group to join and search. r/learnprogramming has a ton of amazing resources in their bio and as long as you search your question before asking, they are an amazing group willing to help new developers like myself. No question is too basic for either group but you will get people who will paste results from a previous question if you didn’t search for your answer first.

I hope these resources are as useful for you as they are for me at the moment. It is very important to keep learning new languages and mastering current languages but learning about data structures and algorithms shouldn’t be neglected. Interviewers really want to know that you can take practical ideas and put them into practice within the language/framework they are looking for. As always, happy coding friends.