It may seem that when you are a beginner, you'll do simple things only. No need to learn data structures and algorithms. No need to understand Big O notation, complexity and stuff like that.
This couldn't be further away from the truth!
In 2008, when I just started learning to program, I spent a lot of time reading books on PHP and MySQL. Months later, when I felt confident, I took my first freelance project. It was a real estate website. A simple one. I used a custom-made ORM and everything worked just fine!
When I released it, the search feature quickly became sluggish and made the website unusable.
I was wondering what the heck had happened. I figured out that database queries became very slow when there were over 200 real estate objects added to it.
This is it. What worked fine during testing did not work in real life.
I was a self-taught developer. I did not know how to measure if my project scaled well. I didn't even know that I had to do it.
I thought algorithms mattered only for launching a spaceship.
If I had some basic understanding of algorithms, I would have known that the more the input, the longer it takes.
I am not saying I would have come up with a robust solution as a junior, but I would have looked for a solution because I knew there would be a problem.
Please, don't make the same mistake!
Of course, data structures and algorithms are much more than that and they apply differently depending on what you work on.
But a basic understanding of data structures and algorithms is a must for every software developer.
I am writing about my experience of what I wish I knew when I was a beginner and I review programming courses to find those that are worth learning.
If you are a junior or a beginner and you want to know what you need to learn, I can help for free by sharing my experience.
himcom
Hi tursystem,
I am also a self-learner. your post boosts me to achieve the goals. I am just started to learn development. thanks dear