It’s 2022 which marks almost more than a decade of coding for me.
But wait, you may be curious why revisiting DSA after so long, and is it still relevant for me after 10 years? Why do I have to dive into DSA again when I already have a repo for it with 500+ stars on GitHub.
Why am I doing this again?
Practice makes permanent. - Bobby Robson
For the last 3 years I have been doing less code (compared to 2018) and more system designs & team management which resulted in 2 things:
- I am stuck on the same set of languages
- I am getting slower in implementing a few algorithms
Hence to overcome these, I found that revising DSA will be a better approach to regain the flow of coding along with refreshing any forgotten concepts.
When I started with DSA initially, I had a novice mindset and that was 5 years ago.
In these 5 years, I have gained a better understanding of the systems that collectively build up efficient software. Now I have a different way to look at any data structure before diving into code directly. One shift of mindset is to think about the various use cases of it and the implications of factors like generics & concurrency for a given data structure or an algorithm.
I feel that implementing the basic data structures and algorithms is the best way to learn a programming language.
In this series, I will try to share example code for a given data structure in multiple programming languages like Typescript, Golang or, Rust. This will not only help me to get up and running with DSA but at the same time, I get to learn the nuances of the different programming languages.
My goal is to implement the basic data structures from scratch along with blogs on their use-cases and where you can see them in action.
Right now I am not sure how quickly I will be publishing the blogs due to obvious reasons of having a full-time job and added responsibilities but finally, I am happy that I have taken the first step.
Stay healthy, stay blessed.