

The Backend Engineering Show with Hussein Nasser
Hussein Nasser
Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own.
Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Most of my content in the podcast is an audio version of videos I post on my youtube channel here http://www.youtube.com/c/HusseinNasser-software-engineering
Buy me a coffee
https://www.buymeacoffee.com/hnasr
🧑🏫 Courses I Teach
https://husseinnasser.com/courses
Episodes
Mentioned books

May 19, 2020 • 16min
Agile vs Waterfall Software Development Methodology Explained
In this video I explain the difference between Agile & Water, the pros & cons and more.
Chapters
0:00 Intro
1:00 Waterfall
5:00 Agile

May 13, 2020 • 9min
How WebSockets Work with HTTP/2 (RFC8441 Explained)
In this video I explain how WebSockets work in the new HTTP/2 protocol. This is explained in the Bootstrapping WebSockets with HTTP/2 in RFC8441 https://tools.ietf.org/html/rfc8441 https://link.medium.com/v5sB9nbUp6 1:00 HTTP2 5:50 HTTP/2 limitations

May 11, 2020 • 11min
Machine Learning Occupancy Detection System being deployed in California
Metroexpress lane is implementing a Machine Learning Occupancy Detection System which I found interesting. In this video I discuss machine learning, supervised learning, labeling and much more.

May 9, 2020 • 8min
What is a Multitenancy Architecture and Why Is it becoming popular?
In this video I explain the multi-tenancy architecture. The basic idea is to have a single instance of your application to serve multiple tenants or customers and the properties are this. This is as opposed to isolated or dedicated infrastructure.
Shared Instance
One database hosting multiple customers
Isolation at the application level
Can be multi-processes and multi-instances as long as they are pooled
Stateless
Tags
Multitenancy, software Multitenancy, Multitenancy explained, Multitenancy architecture
https://www.zdnet.com/article/defining-the-true-meaning-of-cloud/

May 9, 2020 • 13min
How Important are algorithm and data structures in backend engineering?
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

May 5, 2020 • 12min
My Preferred Method of Learning Backend Engineering Technologies Fast
In this video I want to talk about my preferred method of learning backend engineering technologies, I prefer podcasts and youtube videos some people prefer books.
My First Programming Book
My Problem with Learning in Books
My Preferred Method of learning (Podcasts)
YouTube Videos
Problem is Biased ..
Details in WIkipedia then
Recommended Podcasts
https://softwareengineeringdaily.com/
https://www.dataengineeringpodcast.com/
https://changelog.com/podcast
Recommended YouTube Channels
https://www.youtube.com/user/TechGuyWeb
https://www.youtube.com/user/99baddawg
https://www.youtube.com/channel/UCRPMAqdtSgd0Ipeef7iFsKw
https://www.youtube.com/channel/UCn1XnDWhsLS5URXTi5wtFTA

May 1, 2020 • 13min
What is a Message Queue and When should you Queues?
Message Queues system like RabbitMQ and Kafka are amazing technologies but when should you actually use a message queue? I discuss this in this video.

May 1, 2020 • 10min
RabbitMQ Channels, HTTP/2 Streams and How QUIC can fix the limitation Message Queues
In this video I talk about RabbitMQ Channels compared to HTTP/2 Streams and how QUIC helps mitigate some of the major limitations in Channels and Streams.
Chapters
0:00 Intro
0:10 RabbitMQ Channels
3:10 HTTP/2 Streams
6:00 How QUIC Helps

Apr 29, 2020 • 13min
Can QUIC Protocol be used as in Databases ? Web Application Database Pooling, head of line blocking and more
In this video I discuss why QUIC will make a great communication protocol for databases and how it solves a critical problem with stateless web applications. Web applications uses database connection pooling to establish database connections on the backend. But that creates other sorts of problems.
Timecodes
0:00 Intro
0:20 Database Communication Protocols
2:00 Problem with Sharing Database Connections
6:50 How QUIC streams can help Databases

Apr 28, 2020 • 21min
When should you shard your database?
Database Application level sharding is the process of splitting a table into multiple database instances in order to distribute the load. However, Sharding a database is an expensive operation (maintainability and overhead) and I suggest you do that only when you absolutely need to. That means when your single instance database can no longer serve queries with minimum latency. So I suggest you monitor that and only shard if necessary.. I rather do replication make master / backup and make requests read from replica than Sharding just because it is easier.. good question... nice idea for a video
5:00 Partition horizontally
7:45 Replication (Master/backup) Scale reads
11:00 Scale writes by region
12:30 Sharding
16:40 Sharding in YouTube


