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 - Наука та технологія
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
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.
I appreciate that you remind us that we don't need to memorize all this stuff, and anyone who thinks we can is crazy
if it should to memorize all this stuff so why humans invented computers??
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.
@ If only you can ask the same question back...
You actually can memorize a lot of it. Teaching others will do the trick.
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.
Correct! Well said
Yeah.. I used edit distance recently in my search to track if user makes mistake in query and suggest him correct results
@@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.
@ sree vishal which company are you working
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
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.
بارك الله فيك يا هندسة
والله حاجة عظمة
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.
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 ❤❤
This channel is a goldmine for us devs!
Thank You..... waiting for this video for so long!!!! ❤️ You Hussein.
Finally, a channel that puts things into perspective. Nice work dude.
Your UA-cam channel is like a goldmine
Hussein, you are doing a great job of spreading clarity. I really like your channel. You are the best.
the most real down-to-earth explanation.
Thank you very much for sharing your knowledge on developing opensource databases!
Thank you for solving this question that I had and had not thought about what you mentioned integration or core developer
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.
Robin Singh thank you Robin!
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.
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
Literally binge watching this channel
Honestly , the best explanation found in internet
Hey you are a great engineers.. I really respect your thought process and experience.. please keep making these videos
Arjun tomar I appreciate you Arjun I try. 😊 I enjoy making this kind of content and will keep doing so
Thanks for your wisdom really appreciate it.
Dear Hussein, you are awesome. Thank you for making these videos and educating me.
Glad you like them! enjoy the content and ask questions!
Amazing video, Keep going this wonderful work :)
I love your content keep going hussein ❤️❤️
Most underrated yt channel in swe category
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.
جزاك الله خيرا
This video really makes sense!!
Very interesting, thank you.
Thanks so much...
Bro you are really great
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.
I'm any way going to get hands on them.
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.
Thanks
You r awesome
Happy Engineers Day from 🇮🇳
15th September is Engineers day in India
Thanks.
thanks i m going to subscribe ur channel
Vasu Udayar welcome to the channel ! Enjoy the content
Make a video on building a search engine using apache lucene
Use Elasticsearch. It's based on Lucene only.
Can you make a Algorithms and Data Structure course?
Thanks bro
Can you recommend a good course on D.S & Algorithms, please ?
What do you do as a back end developer?
i will be happy if hussein will be my interviewer.
you are awesome
You are awesome too 🙏
Will this be helpful in these AI scenarios ?
In short be open to learning whether it's DSA or some new tech....
Talking of being crazy, I spent 4 days trying to implement merge sort by just seeing to the illustrations XD
what did you learn? was it helpful? Im trying to gain a better understanding of DSA and hopefully it applies to my upcoming job
Make sense
Your sound volume is very low, very hard to listen properly without headphones. Please adjust it.
Everybody is integrator this days, right?
I am a dev for 15yrs, I have never used any algorithms.
Is it me or Hussein looks like Jack Hughman in this video
Lol I wanted to say this, he looks like WOLVERINE
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
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.
It's all about integration
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.
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.