Starting My DSA Journey: More Than Just Competitive Programming 💻


// A journey, not a checklist
A few months ago, I started taking DSA — Data Structures and Algorithms — more seriously.
Not because I had a tech interview coming up. And not because someone told me to. I just started noticing a pattern.
Whether it was debugging a slow machine learning model or optimizing some financial code — I kept hitting a wall. And that wall was almost always due to not fully understanding the underlying structure of how data was being handled. 🧱
My Honest Beginning 🧠
Like most people, I associated DSA with platforms like LeetCode or HackerRank.
For months, I avoided it. Competitive programming felt like a sport I wasn’t ready to compete in. I told myself, “I’ll learn what I need as I go.” But in areas like AI or finance, that mindset didn’t work for long.
When models ran slow or scripts failed under large datasets, I started asking: “How could I write this better?”
Turns out, the answer often came down to simple but powerful things — arrays, hash maps, trees, graphs, and time complexity.
The Shift That Changed Everything 💡
What really flipped the switch for me was a Kaggle notebook.
Someone had used a graph-based solution to model stock correlations over time. I was amazed. The logic was elegant. The execution — super fast. I tried replicating it with my own style and immediately saw the gap.
My code worked, but it wasn’t clean. It wasn’t scalable. That’s when I knew: DSA wasn’t just about passing interviews. It was about building systems that scale gracefully.
So I went back to the basics.
Applying DSA in Real Life 🔍
Now I see DSA in almost everything I touch:
In AI, handling large datasets efficiently requires more than just pandas. Knowing when to use a dictionary vs. a set matters.
In finance, time-series data screams for optimization. Using the wrong structure slows everything down.
In backend systems, cache management using heaps and hash tables can cut load time dramatically.
It’s everywhere. And I had been ignoring it. 😅
What I'm Doing Now 📘
I’m not trying to be a competitive coder. But I’ve built a plan that works for me:
Practice selectively — Focus on problems that match my work: search, sort, trees, and graphs.
Read others' code — On GitHub, Kaggle, or open-source libraries.
Apply as I go — I don’t wait to master theory. I build small tools, test them, improve.
Track my progress — I’ll journal what concepts I’ve learnt and practiced each week.
Final Thoughts 🌟
DSA isn't something I want to "get over with." It’s something I want to keep learning & implementing .
If you're like me — working in AI, analytics, or finance — DSA can make you better at what you already do. Not overnight. But slowly. With every new concept, every optimized block of code.
It’s less about competitive programming, and more about clarity and control.
And for me, DSA is now part of that system. 💡
“You don’t rise to the level of your goals. You fall to the level of your systems.”
— James Clear
Subscribe to my newsletter
Read articles from Ashdeep Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
