Do You Need To Learn Data Structures and Algorithms?

preview_player
Показать описание
Is it an absolute necessity to learn data structures and algorithms to get your foot in the door as a software developer? As always the answer depends on what you are looking to do. In this video I give my perspective on how data structures and algorithms play a role in landing your first job as programmer.

🏆 *** Paid Coaching ***

*** Disclaimer ***
Рекомендации по теме
Комментарии
Автор

Does this video give you a better perspective of data structures/algos in relation to your goals?

AndySterkowitz
Автор

Short answer yes, but only for interviews. After that, back to copy paste :)

andrewleong
Автор

If you understand data structures and algorithms you learn to write efficient code and really helps with code optimization

roywati
Автор

Put it this way: No one has ever become a worse programmer because they have a strong understanding of DS and Algorithms. In many cases, even if you don't "need it" for your day to day job, in the longer term it makes you a better programmer.

iorekby
Автор

Hi Andy, during my years in university, the teacher always told us, focus on the algorithm, OOP, and design pattern. Never distract yourself by fancy GUI. So, I spent almost 6 years in console programming. Implement data structure by C/JAVA. What I have learnt was that if you got a crystal understanding on algorithm, OOP and Design pattern, you were sort of genuine high level geek. You even know how the CPU works. My teacher also told us, that programming was art. Be respectful. Never let your programming career by money driven, let it driven by exploring the unknown world. Then u will make some contribution to the industry.

christopherlaw
Автор

i am self-taught as well Andy and yes you can produce working software without knowledge of Algos & Ds but since i started learning then my problem solving skills instantly pushed to a 6 from a 3. you develop intuition and problem solving patterns.

TheKingShakaZulu
Автор

Loved the line where you say, "I want to become the best developer I can". You know what, I have set the same goal for myself and thats why I've started practising data structures and algorithms each day (8 pomodori)

mayurborse
Автор

I spent 6 months learning just DS from the book by Thomas H. Cormen and after learning I realized it mostly helped me in coding challenges to optimize the code and reduce the execution time.Other than that it's ok to skip it when just starting out. Great tip Andy.

mayank
Автор

DS and algorithms are very important to know. They were my fav classes when i was doing my BSCS.

scottc.
Автор

...in addition once your in a role you will have to learn and apply in -house design patterns...'The way we do things around here'. So, it's good to know the standard data structures and algorithms but remember there are many different interpretations. Good luck!

sto
Автор

If you don't know algorithm, you may use "double for loop" or "triple for loop" without hesitation.
If you don't know Data Structure, you can do nothing...

thesanctuary
Автор

Met Jay Wengrow...I graduated from his bootcamp Actualize in Chicago. Brilliant guy great program.

nnanna
Автор

I feel like you may not NEED it, but it's valuable and has purpose... You may get away with copy/paste in some areas (like another commenter mentioned) but if you truly want to achieve a Sr./master level.... LEARN IT! You will be a better programmer.

MatthewMontgomeryUSMC
Автор

Thanks Andy. Really I got clear perspective of DS and Algorithms in relation to my goals.

edu-mqyy
Автор

Awesome advice. I've been a programmer for a while and I think knowing data structure in general will make you a good programmer, especially if you care for clean patterns.

philn
Автор

recently i've posted a negative comment on one of your video, but don't take it too serious
you doing a great job populazing computer science and stuff
it's hard work and you doing it well

MrFilming
Автор

In the past 4 days, I had two screening interviews with two different small companies and both were asking me medium-to-hard algorithms that are being asked in Facebook and Google. I did my best but I guess it's not fair for a junior developer like me to be familiar with these types of algorithms because if I am really that good why wouldn't I go work for FANG instead of these small companies and get a higher salary. They should calm down and ask questions at their level not giving algorithms about inverting a binary tree or searching for elements in the matrix.

mahmoudhassen
Автор

I could not agree more with Andy! DS and Algo are NOT "required" at all for working as a software developer BUT they help you a lot. They help you to find better jobs AND they help you to make better (more maintainable, more efficient) software. DS and Algo are NOT as "hard" to learn as you could think. There are a lot of good resources on the web (and in every good book shop) to learn them with just a little effort.

AlessandroBottoni
Автор

Beginners can start with Grokking Algorithms and then the introduction to algorithms or cracking code book.

pkavenger
Автор

Data Structure and Algorithms should come somewhat naturally during the learning process. When you start learning, things will be simpler and they might not naturally emerge, but as you develop more complex projects, the more basic structures will occur somewhat naturally (even if you aren't fully aware of them). Picking up a few sources that give you a high level look into structures, even if you don't go out of your way to implement all of them, will help you identify where they'll be useful or where you've already started utilizing more rudimentary versions. So not strictly necessary, but once you've got a reasonable understanding, they should be part of that next step. If you're at the stage of looking for a job, they should probably be on your plate already, not just to set yourself above other programmers, but because it's just one of the next basic steps. While it's not easy to identify the complexity of certain aspects when you're starting out, it's best to focus on learning things in order of complexity, as it'll lead to a stronger base as you continue to grow. In this way, you might find that you've implemented a primitive state machine, which you can refine once you're aware of it . As you continue to learn, you'll discover ways to further refine it. What might have started as a collection of conditional statements, might turn into a queue of function calls, with the various fundamentals leading you to those kind of refinements.

ArtumTsumia