Struggling To Learn Data Structures And Algorithms? Maybe You Shouldn't (Yet)

preview_player
Показать описание

Disclaimer: Some product links are affiliate links which means if you buy something I'll receive a small commission at no extra cost to you.

===========================
WEBDEV COURSES I HIGHLY RECOMMEND:

===========================
PRODUCTS I PERSONALLY USE AND LOVE:

---------------------------------------------------

Are you an aspiring web developer struggling to learn data structures and algorithms, wondering if you're focusing on the right things at the right time? In this candid conversation with an aspiring developer, we discussed why you might not need to prioritize these complex topics just yet. I shared an alternative approach to learning, practical applications for extra context, and how to prepare for interviews without feeling overwhelmed. Don't skip out on using ChatGPT as a mentor in your journey of learning to code either. You better believe we talked about that as well. I hope this helps!
Рекомендации по теме
Комментарии
Автор

If you'd like to come on the show and ask me a question, just fill out this short form:

DonTheDeveloper
Автор

Being overwhelmed means there is a gap in your knowledge… data structures and algorithms are much easier to learn when you have a reference chart for example pick a language study the data structures in that language, then pick some common algorithms by category for example binary search then learn the concepts of graphs and then pick a graph algorithm like BFS categorized it and break it down to its simplest form the repeat the process… hope that helps

saturnteatree
Автор

In my experience with DSA, it's something that doesn't come naturally without practicing a lot. And I mean A LOT. When I prepared for interviews that were scheduled for me, I took 4-5 months of practicing about 30-40 hours a week (in addition to going to school). And I felt like I could still do a lot more. Feeling like it takes a lot for you to get it, well, it's because it just takes a lot for you to get it. It's like this for everyone. You just have to be dedicated and manage your time well. Great video.

rachellettuce
Автор

I’m self taught, no college, no Bootcamp, just learned for free on online resources. Started learning in September of 2022, once I finished the free course I was following in December I started reading a book on data structures and algorithms.

I enjoyed what I was reading because I found it super interesting, but then I got my first interview booked in February and between both parts of the interview they didn’t test/ask about data structures at all.

I was offered the position too! Way better pay than my previous job 😂

JustinWellsDev
Автор

For most people coming out of a bootcamp or on the self taught path there ought to be some kind of LeetCode light list for people to study. The vast majority of stuff in leetcode style exercises is going to be targetting solutions that require advanced algorithms or datastructures that you could go an entire career never using once. For most development work in a job all you really need is a Map or an Array. The most useful things you get out of deep explorations in datastructures and algorithms are:

1. Can you reason about the Order of maginitude preformance of your code when you write it.
2. Can you pick which of map or array you should use in which place.
3. A breadth of experience where if you need something more advanced you know how to lookup how to do it.

JeremyWall
Автор

Good in depth interview on "Journey" to software developer... "Newbie" to "First Role".. Thanks!

curtisdavis
Автор

I promise you, DSA will be infinitely easier to understand once you know the math behind the mechanisms. Things like tree's, graphs, powersets, recursion, algorithmic complexity are all coming from Discrete mathematics. Like for instance, there is literally no paid or free resource for DS and Algos that will ever mention to you the term: "Recurrence Relations". The most you'll ever hear is about 'subproblems'. Hilariously recursion and dynamic programming is far easier to understand if you know that it's based on 'recurrence relations', and what that means mathematically.

EsotericArnold
Автор

This is really common. I'm a working dev but struggle hard to do leetcode problems. It's all about practice. Trying really hard to do the problem for yourself, and then after really trying, looking at the solution and trying to Understand it. Go through the solution and code it for yourself. And if you struggle with a data structure or algo, then google it, and go through the fundamentals. rinse repeat.

For basics, getting a Oreilly yearly subscription is really beneficial, if you enjoy reading through programming books. The courses and instructors there are fantastic too. Pluralsight, Udemy are alright too. And ofc Youtube has a trove of resources...

GodofStories
Автор

This a bit long to read, but here’s journey.

I went the self-taught route 5 years ago, after getting my undergraduate degree in Statistics, I was 37.

I started building small web applications using Flask and Django by following along YouTube tutorials. Reading software engineering books and articles to learn fundamental concepts and their application.

I didn’t learn about algorithms at the time, only focused on development.

As luck would have it, I was called for an interview where they asked me how I would build a certain type of system. I explained the approach and process based on what I had learnt. Fortunately, they never asked about algorithms.

I was a successful at that interview and I’m still with the company. When I started, they threw me in the deep-end which made me learn a lot in a short time(Frontend, Backend, Database and Server deployment)

My attitude was “Build more to learn more, learn more to earn more”

Today I’m a Lead Developer at the same company and have built enterprise web applications, realtime chat systems and online reporting dashboards and getting into mobile apps.

Over the years I’ve learnt a lot about leading people, mentoring, system performance(Especially Load-balancing and caching), architecture(monoliths vs microservices)

I realised that It’s not possible to learn everything by myself, so I reach out to other software engineers who have more technical and domain expertise than me. The advice I get from them is invaluable.

I’m fascinated by algorithms and have been making time to learn different types and their possible applications.

It’s been a great journey, and learning never stops.

dantedt
Автор

If he was studying linguistics, he should try and build some parsers. This would atleast keep problems personally interesting, and would demand a good knowledge of DSA.

andrews
Автор

Thank you Don, thank you Daniel! Appreciated.

Jonas-qmls
Автор

I would do code wars instead of leet code. The questions are much more beginner friendly, but still the difficulty can be increased to where their more hard enough to prep for interviews. Plus the I think the UI is better on CodeWars instead of leet code, which is ugly as hell lol but that’s just me

Wanderer
Автор

"The enemy of the good is the perfect" :)
I totally fall into that trap oftener than I like.

themahanaxar
Автор

Daniel, totally non-related, but allow me to suggest you work on replacing the "like" with other sort of mechanisms to help you leave your message while you fill the gaps. It's better to keep silent and think about the next sentence, rather to keep saying "like". Keep going, you have a bright future ahead!

CaioCodes
Автор

Hey man, can you make a video to suggest what kind of projects will be good enough to land an entry level frontend job out there ?

youtubejproasters
Автор

Nice kid, but please for the love of God, he's got to STOP using the word "like" so much. Especially going into future interviews

gotTodoMYHw