How Important are Algorithms and Data Structures in Backend Engineering?

Поділитися
Вставка
  • Опубліковано 3 чер 2024
  • Algorithms & Data Structures are critical to Backend Engineering however it really depends on what kind of application and infrastructure you are building. In this video I want to go through the following
    1 Backend Engineers are two types
    - Integrating Existing Backend
    - Core Backend
    Example Building a CRUD API? Online Cinema system, URL shortener, You will pick up a database and write your logic
    Building a social network?
    * are you gonna be integrator use a ready made graph database?
    * Are you gonna use a off the shelf database and write your logic in the application?
    * Are you gonna build your own graph database platform?
    * Any of these scenarios you will run into problems slow performance and you need to understand why
    Building a monitoring system? are you gonna integrate an existing database ? or build your own?
    2. Be Pragmatic (Algorithms are not always the solution)
    * Most performance issues are not algorithm problems, they are just bad bugs. and misuse .. paging
    We are a sorted 100 items takes 1 minute to sort and return.. merge sort or heap or quick sort won’t help you
    3. Always keep learning to be open to learn new Algorithms
    🏭 Software Architecture Videos
    • Software Architecture
    💾 Database Engineering Videos
    • Database Engineering
    🛰 Network Engineering Videos
    • Network Engineering
    🏰 Load Balancing and Proxies Videos
    • Proxies
    🐘 Postgres Videos
    • PostgresSQL
    🚢Docker
    • Docker
    🧮 Programming Pattern Videos
    • Programming Patterns
    🛡 Web Security Videos
    • Web Security
    🦠 HTTP Videos
    • HTTP
    🐍 Python Videos
    • Python by Example
    🔆 Javascript Videos
    • Javascript by Example
    👾Discord Server / discord
    Support me on PayPal
    bit.ly/33ENps4
    Become a Patreon
    / hnasr
    Stay Awesome,
    Hussein
  • Наука та технологія

КОМЕНТАРІ • 78

  • @hnasr
    @hnasr  2 роки тому +9

    Learn the fundamentals of the backend, scaling and load balancing with my Introduction to NGINX udemy course
    Grab a discount coupon here
    nginx.husseinnasser.com

  • @shrshk7
    @shrshk7 4 роки тому +85

    Complex algorithms are not important but it's important an engineer understands most common data structures, it trains your brain to identify patterns which are so helpful in breaking a problem down, I've seen senior engineers write sloppy code, lacking understanding of data structures.

  • @ronniesunshine1163
    @ronniesunshine1163 3 роки тому +68

    I appreciate that you remind us that we don't need to memorize all this stuff, and anyone who thinks we can is crazy

    • @kareemkhalfalla8735
      @kareemkhalfalla8735 3 роки тому +2

      if it should to memorize all this stuff so why humans invented computers??

    •  3 роки тому +6

      I just did an interview for a really big topic that I have been working for more than 10 years, the tech guys from the company asked me about some stuff like this as I would have memorize everything I did on all these years. At the end even with lots of projects and good feedbacks from past managers, they said that I should have given then best answers to question like, what is the step by step to create a application, just ridiculous.

    • @ExtraKanin
      @ExtraKanin 2 роки тому +5

      @ If only you can ask the same question back...

    • @videosforthegoodlife2253
      @videosforthegoodlife2253 Рік тому

      You actually can memorize a lot of it. Teaching others will do the trick.

  • @sreevishal2223
    @sreevishal2223 4 роки тому +48

    It's very true. Still now I'm searching to implement some of the algorithms I learnt in DS classes but real time projects does not require it. Everything is ready made already. We have to integrate all of them.

    • @hnasr
      @hnasr  4 роки тому +15

      Correct! Well said

    • @mridul1161
      @mridul1161 4 роки тому

      Yeah.. I used edit distance recently in my search to track if user makes mistake in query and suggest him correct results

    • @sreevishal2223
      @sreevishal2223 4 роки тому +1

      @@mridul1161 Congratulations..!, Also note that there are many frameworks out there to effectively search for a text-based data like elastic search or a token based search in PostgreSQL, etc.

    • @teluguforyou3992
      @teluguforyou3992 3 роки тому

      @ sree vishal which company are you working

  • @karlbooklover
    @karlbooklover 4 роки тому +9

    I like how you described over-engineering, most of the time it's about being pragmatic and being nerdy about algorithms only slows you down in that case

  • @viniricardoferrera
    @viniricardoferrera 3 роки тому +6

    One of the best tech youtube channels ever! Thank you very much. I'm a 9 months self taught newbie in this crazy world of programming and I've been learning a lot because of you.

  • @ahmedembaby8230
    @ahmedembaby8230 3 роки тому +3

    بارك الله فيك يا هندسة
    والله حاجة عظمة

  • @etorty_dev
    @etorty_dev 2 роки тому +1

    Thank you for this insightful video. 🙏
    I really like your concept of Core and Integrator types of Backend Engineer. It helps clarify what we do on the backend and how important data structures and algorithms are to both kinds of engineers.
    I would say working knowledge of DSA is great for an Integrator BE (helps with interviews too) but much more vital to a Core BE.

  • @redaawwad3544
    @redaawwad3544 2 роки тому

    Thanks a lot, Hussein, You answered lots of questions that have been running through my mind about Algorithms and Data structures and how they are important for the backend engineers especially I have +3 years of experience in Front-end and these days I started to learn backend path to be a Fullstack developer ❤❤

  • @marjaysonsanagustin
    @marjaysonsanagustin 2 роки тому +2

    This channel is a goldmine for us devs!

  • @anantsaini
    @anantsaini 4 роки тому +5

    Thank You..... waiting for this video for so long!!!! ❤️ You Hussein.

  • @dantedt3931
    @dantedt3931 Рік тому

    Finally, a channel that puts things into perspective. Nice work dude.

  • @lonewolf2547
    @lonewolf2547 3 роки тому +1

    Your UA-cam channel is like a goldmine

  • @DeepakSingh-cq1rf
    @DeepakSingh-cq1rf 2 роки тому

    Hussein, you are doing a great job of spreading clarity. I really like your channel. You are the best.

  • @AlanSanchez-ry1ko
    @AlanSanchez-ry1ko Рік тому

    the most real down-to-earth explanation.

  • @nickkman90
    @nickkman90 3 роки тому +1

    Thank you very much for sharing your knowledge on developing opensource databases!

  • @pablohernandez4305
    @pablohernandez4305 3 роки тому

    Thank you for solving this question that I had and had not thought about what you mentioned integration or core developer

  • @robinsingh4492
    @robinsingh4492 3 роки тому +13

    Your channel is inspiring me alot. The content and advice is priceless. Thanks and I like Data Structures and Algorithms they have helped me so much in my programming skills.

    • @hnasr
      @hnasr  3 роки тому +2

      Robin Singh thank you Robin!

  • @waikinmak5425
    @waikinmak5425 10 місяців тому

    Thanks Hussein! As a non-CS background junior dev, I often wonder if I need to equip myself with CS/DSA knowledge as soon as possible. This video provides a really good context for me.

  • @PontoLive
    @PontoLive Рік тому +1

    I think the most practical thing you can learn when studying DS and algorithms is Big O. Because it trains your brain to be “cost” effective. That being said, if you want to get a high paying job, it’s crucial to learn these concepts, especially in Big Tech

  • @gaureesha9840
    @gaureesha9840 3 роки тому +1

    Literally binge watching this channel

  • @thanirmalai
    @thanirmalai 11 місяців тому

    Honestly , the best explanation found in internet

  • @arjuntomar215
    @arjuntomar215 3 роки тому +13

    Hey you are a great engineers.. I really respect your thought process and experience.. please keep making these videos

    • @hnasr
      @hnasr  3 роки тому +7

      Arjun tomar I appreciate you Arjun I try. 😊 I enjoy making this kind of content and will keep doing so

  • @abinashpanda393
    @abinashpanda393 4 роки тому +1

    Thanks for your wisdom really appreciate it.

  • @yashashav_dk3766
    @yashashav_dk3766 3 роки тому +2

    Dear Hussein, you are awesome. Thank you for making these videos and educating me.

    • @hnasr
      @hnasr  3 роки тому +1

      Glad you like them! enjoy the content and ask questions!

  • @ahmedelgaidi
    @ahmedelgaidi 4 роки тому

    Amazing video, Keep going this wonderful work :)

  • @menaboss
    @menaboss 2 роки тому

    I love your content keep going hussein ❤️❤️

  • @kishalayray7570
    @kishalayray7570 3 роки тому +2

    Most underrated yt channel in swe category

  • @videosforthegoodlife2253
    @videosforthegoodlife2253 Рік тому

    Also, Abstract Math is super useful - not Calc or Trig (though not without merit) but Graph Theory, Non Euclidian Geometry, Modern Algebra. Doing proofs is very similar to writing bulletproof functions that you can break down and test, and re-use.
    But also, it helps to really understand searching and sorting algorithms and structures such as AVL tree, B-Tree, etc. If you can write a bug free AVL Tree class in C++, then you will never be accused of being an imposter. Of course, if you write it in Rust, it will probably be bug free as soon as you can get it to actually compile.

  • @user-xx5ly3zd8s
    @user-xx5ly3zd8s 9 місяців тому

    جزاك الله خيرا

  • @vkexplores
    @vkexplores 9 місяців тому

    This video really makes sense!!

  • @AliBenZarrouk
    @AliBenZarrouk Рік тому

    Very interesting, thank you.

  • @ayxanalifov2791
    @ayxanalifov2791 4 роки тому +2

    Thanks so much...

  • @dev_escape
    @dev_escape 2 роки тому

    Bro you are really great

  • @ananthnaren9183
    @ananthnaren9183 3 роки тому +1

    I have firm desire to learn programming and programming languages
    for doing work like full stack developer as Remote or freelancer.
    Its my dream and wish to work and keep learn more in software field.

  • @Sagar_Singh.
    @Sagar_Singh. 4 роки тому +1

    I'm any way going to get hands on them.

  • @saranpun7192
    @saranpun7192 4 роки тому

    Would you please make a video on developing some kinds of applications?
    The only application that I have built is an application that does CRUD operation. Somebody suggested me to learn DSA, I did, but feels like all those stuffs can be done using SQL language. No point of learning it.

  • @Odsku
    @Odsku 4 роки тому

    Thanks

  • @hoolyholy6023
    @hoolyholy6023 3 роки тому

    You r awesome

  • @anotheraccount9917
    @anotheraccount9917 2 роки тому

    Happy Engineers Day from 🇮🇳
    15th September is Engineers day in India

  • @ahmedayman7626
    @ahmedayman7626 3 роки тому

    Thanks.

  • @vasuudayar3691
    @vasuudayar3691 3 роки тому +2

    thanks i m going to subscribe ur channel

    • @hnasr
      @hnasr  3 роки тому

      Vasu Udayar welcome to the channel ! Enjoy the content

  • @mridul1161
    @mridul1161 4 роки тому +3

    Make a video on building a search engine using apache lucene

  • @coolcoolj0102
    @coolcoolj0102 2 роки тому

    Can you make a Algorithms and Data Structure course?

  • @muhammadakbari6275
    @muhammadakbari6275 3 роки тому

    Thanks bro

  • @oabouassy
    @oabouassy 2 роки тому

    Can you recommend a good course on D.S & Algorithms, please ?

  • @MainMc
    @MainMc 3 роки тому

    What do you do as a back end developer?

  • @soulofjack7294
    @soulofjack7294 Рік тому

    i will be happy if hussein will be my interviewer.

  • @Hmm1298-8
    @Hmm1298-8 4 роки тому

    you are awesome

    • @hnasr
      @hnasr  4 роки тому +2

      You are awesome too 🙏

  • @nafreenuddin6833
    @nafreenuddin6833 10 місяців тому

    Will this be helpful in these AI scenarios ?

  • @arnabchatterjee8556
    @arnabchatterjee8556 Рік тому

    In short be open to learning whether it's DSA or some new tech....

  • @wassimboussebha2561
    @wassimboussebha2561 2 роки тому

    Talking of being crazy, I spent 4 days trying to implement merge sort by just seeing to the illustrations XD

    • @avidreader6534
      @avidreader6534 2 роки тому

      what did you learn? was it helpful? Im trying to gain a better understanding of DSA and hopefully it applies to my upcoming job

  • @shivrajnag12
    @shivrajnag12 3 роки тому

    Make sense

  • @dfytq
    @dfytq 3 роки тому +1

    Your sound volume is very low, very hard to listen properly without headphones. Please adjust it.

  • @michal234486
    @michal234486 3 роки тому

    Everybody is integrator this days, right?

  • @chrishabgood8900
    @chrishabgood8900 10 місяців тому

    I am a dev for 15yrs, I have never used any algorithms.

  • @PavanMehta
    @PavanMehta 3 роки тому

    Is it me or Hussein looks like Jack Hughman in this video

    • @kenthankgod2619
      @kenthankgod2619 2 роки тому

      Lol I wanted to say this, he looks like WOLVERINE

  • @FUTETrends
    @FUTETrends 4 роки тому +1

    Hussein Nasser is an awsome guy and is a very inspiring person, He has helped me a lot with his videos. By watching these videos I also got motivated to create my own Tech channel. do check my channel and videos

  • @kaiserbhat5189
    @kaiserbhat5189 3 роки тому +7

    if i have to answer this question :-
    well , algorithms are important if you're building brains , may be you wont implement those algorithms in real life but when you learn algorithms you learn problem solving also program design and that is the essence of algorithms.
    correct me if im wrong , im still a grad.

    • @Akira-sh7ts
      @Akira-sh7ts 2 роки тому +1

      It's all about integration

    • @Franco-tc3id
      @Franco-tc3id 2 роки тому +2

      Yes, that's correct, try implementing these algorithms yourself in your preferred programming language, try not to look for the solution until you've spent a few hours trying to figure it out.

  • @paulpavlinskyi4793
    @paulpavlinskyi4793 2 роки тому

    Data structures are extremely important. Algorithms not at all. I spoke with lots of senior devs that told me that they never got to use a single algorithm in their career.