Published on

Is It Worth to Study Data Structures and Algorithms in 2023?

Authors

Originally posted on Hashnode.

Alt Text

They don’t need a therapist; they need an algorithm. ― Brian Christian, Algorithms to Live By: The Computer Science of Human Decisions

With the launch of AI-related automation products, and the hundreds of thousands of layoffs happening in big tech companies between 2022 and 2023, it is worth noting that its potential impact on the job market is a topic of discussion in the software engineering community. Some individuals may be concerned about the impact on job security and the need for continued learning data structures and algorithms to remain competitive in the job market. which leads to the big question of whether it really is worth it to study Data structures and algorithms.

My comprehensive answer is definitely a YES!

My brief DSA Journey

Alt Text

I started solving data structures and algorithms questions around late 2021 where my approach to studying was jumping from one topic to another and solving random questions of varying difficulty, without following a particular pattern or sequence. I would be trying to solve a hard Djkistra's Algorithm question without any understanding of famous algorithms. Yeah, you are doing good buddy!

It is until 2022 that a friend introduced me to AlgoExpert. and this time I tried a different approach. I just solved 100 questions here are a few things that I've learned from the course:

1. From basics to advanced. Understand basic data structures first before moving to complex advanced data structures and algorithms. The basic dsa like arrays, trees, linkedlists, and graphs re the ones that you should start with,then move into recursion, greedy algorithms, and bitwise.

Dynamic programming is tough, but why are you invested in solving a Knapsack problem if you can't reverse an array? come on buddy.

2. Start with easy-to-medium-to-hard questions.

Gradually progressing from easy to medium to hard questions, I was able to a have a strong foundation of knowledge and skills and build my understanding and confidence in solving complex problems. On the other hand, starting with hard questions can be overwhelming and discouraging, as you may not have the necessary knowledge or skills to solve them. This can lead to frustration and a lack of motivation, which can hinder your learning and progress.

If you can solve an easy question then you can solve a medium one. If you can't solve a hard question check that you can solve an easy question first.

3. How confident are you

Preparedness and practice are key to building confidence in interviews. Until you are fully prepared and confident, you will struggle with MAANG interviews. The goal is to keep practising until you feel confident enough.

4. Stop memorizing things

Stop cramming formulas, data structures, and algorithms is really about observing patterns and the best thing about these patterns is that you can use them over and over again to solve different algorithms: Backtracking, Two Pointers, Sliding Window, Divide & Conquer can be used in many similar algorithms.

Is it really worth it anymore?

With the great panic of 2023, I still find studying data structures and algorithms an essential for anyone pursuing a career in software engineering, why:

1. Problem-solving:

Data structures and algorithms are essential tools for solving complex problems. The ability to break down complex problems into smaller, more manageable subproblems and use algorithms to solve them is a highly valued skill in the job market.

How you apply these algorithms in solving technical questions is how you apply them in your day-to-day life.

“some of the biggest challenges faced by computers and human minds alike: how to manage finite space, finite time, limited attention, unknown unknowns, incomplete information, and an unforeseeable future; how to do so with grace and confidence; and how to do so in a community with others who are all simultaneously trying to do the same.” ― Brian Christian, Algorithms to Live By: The Computer Science of Human Decisions

2. Technical interviews:

Many companies, particularly in the tech industry, use technical interviews to evaluate candidates' problem-solving ability and understanding of core computer science concepts. These interviews often include questions related to data structures and algorithms, so having a strong foundation in these concepts can help candidates excel in the interview process.

Software developers are still needed out here and the first entry into big tech is being able to solve Data structures and algorithms questions. Therefore, as you over-panic and worry about the future of software engineering vs AI, keep preparing to be able to solve these DSA questions in your upcoming interviews.

3. Competitive advantage:

In a crowded job market, having a strong understanding of data structures and algorithms can help candidates stand out from the competition. It demonstrates a deep understanding of computer science principles and problem-solving skills that are highly valued in the industry.

These concepts are fundamental building blocks that form the basis of computer science and software development.

Being good at these algorithms concepts enables engineers to design efficient, scalable software systems, solve complex problems, excel in technical interviews, and stand out in a crowded job market. So keep practicing them, keep coding, and keep solving data strutures and algorithms for both the interviews and your day-to-day life.

I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships. Linus Torvalds

If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident.