Introduction
Lets talk about data structures. Do we really need it as developers or can we do fine without them? Lets be real its not easy to learn them all and in Programmer Land we have to learn so much. So the question is do we need to learn them?
Where are you?
The very first question is where are you? And i dont mean in which country. I mean as a Developer. Some of you are just starting this wonderful journey and some of you are already seniors with a ton of experience. Your current state is decisive if you really need them right now. But maybe you goal is to work for FAANG companys like Google or Netflix. So your goal is the most important part and can answer this question for you so maybe you dont need to answer this question yourself. Your goal, your dream, your drive can do it for you.
Your Goal
Are you happy right now? I mean in your current job and with your tasks that you have to do. Maybe you are willing to stay in your current job in your current position and you want to be there till you retire. If this is the case congratulation! This is very rare and most people never get there.
Many developers have the dream of working for FAANG companys. What is FAANG? Its simple. Facebook, Apple, Amazon, Netflix and Google. Basically all big companys. And i mean very, very big! If thats your goal then the answer is simple. Yes. Yes you do need data structures. And you have to know them really really well.
But what if you dont really know where you will go? Okay maybe you say working for FAANG could be nice but maybe i will work in a normal company. Maybe you want to start a own business. In this case the answer isnt that simple. I struggled with this and still do. On the one hand learning data structures would be nice because i want to be a better developer and i want to improve myself every single day! On the other hand there is so much to learn as a developer. Its overwhelming. Do i really need to learn these complexe data structures too?
What are Data Structures in a Nutshell
Okay i used this words a lot now. And im sure most of you will know them. But im sure many readers are still new in this field and i want to be sure that anybody knows about what im writing here.
What are data structures?
Imagine you want to tidy up your room. So much stuff are on the floor and you want to store it somewhere. You have to device where you store what. You have multiple options:
- A shelf
- A cabinet
- A drawer
And a lot more. Some of these options are better for some stuff. The goal is to store your stuff in a nice way so you can easily access it and you know where you have it and how to grab it quickly.
Ladys and gentlemen. This are data structures in a nutshell. A way to store your data in a logical and nice way so you can easily grab it and you know how to access it in a fast and reliable way.
If you want a more specific example i can recommend my post where i introduce Linked Lists.
Negative side effect
Learning DS (Data Structures) is hard. Especially if you are a beginner. Dont make the mistake and start learning DS if you still need to learn some basics as GIT, Learning a programming language, Logical Operators etc.
You will get distracted and missing some basics and your head will hurt because you learning a topic that is relatively hard to get and you will waste your time. You will understand like 40% but you will waste 100% of your time. Its just not worth it.
Positive side effect
If you are not a total beginner and start learning DS you will become a better coder and more important a better problem solver. DS are tools to better solve problems. And this is the core of our job. Solve hard real life problems with code, tools and frameworks.
My advice
If your goal is to work for a FAANG company or if you just have fun learning DS and you really love this kind of stuff then be sure you know the basics and then go for it! I will link some great resources in the next section.
But if you are not sure and are still a beginner then i wouldnt waste my time to learn them. Dont get me wrong. Wasting is a hard word and you dont waste your time if you learn something new. But you dont get the best value for your time investment. And like i said the tech world is full with things we have to learn and stuff we want to learn. Pick your field and learn related stuff.
Resources
Here are some great resources i used to learn DS. Please feel free to add your favorites in the comment section.
Summary
Data Structures are nice. But not everybody have to learn them to 100%. They can be your friend and help you to become a better problem solver but they also can be your enemy and prevent you to learn more important stuff that you will actually need. I hope this post helped you in some way!
Stay connected to me and my content on Twitter.
Stay healthy guys and see you next time! And as always: Develop yourself!