The Backend Engineering Show with Hussein Nasser - podcast cover

The Backend Engineering Show with 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
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

How Does Database Store Tables on Disk? Explained both SSD & HDD

in this video I explain how database systems store their data on Disk both f from SSD (solid-state drives) and HDD (HarD disk drive). There are many factors that go into that discussion so I tried to cover the high level here. Reseources https://www.extremetech.com/extreme/210492-extremetech-explains-how-do-ssds-work https://www.percona.com/blog/2019/12/18/give-love-to-your-ssds-reduce-innodb_io_capacity_max/

May 30, 202019 min

7 Tips To Optimize Your Backend API (Without Caching)

In this podcast I discuss 7 Tips To Optimize Your Backend API (Without Caching) 1) The serialization representation (XML/JSON, pbf) 0:40 2) Preheating connections 3) H1 vs H2 4)TCP meltdown (big distance) 5) Proxies 6) large payload (select * ) 7) Client side processing (transfomring the work)

May 24, 20208 min

10 FrontEnd Performance Tips To Improve Your Application (Any Programming Language)

In this video, I would like to discuss 10 performance tweaks and tips that you can apply to your frontend application to improve its performance and efficiency. These tips are applicable to any programming language on Web, mobile, or desktop application. Chapters 0:00 Intro 0:40 Optimistic queries 1:57 Paging 3:00 Lazy Loading 4:00 Request what you Need 6:53 Connection State 10:00 LRU Cache 11:10 Group Notifications 12:30 Avoid Expensive Queries Even At Expense of Bad UX 14:00 Design your UX So ...

May 20, 202015 min

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 13, 20209 min

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 ar...

May 09, 20208 min

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 ...

May 09, 202013 min

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.y...

May 05, 202012 min

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 29, 202013 min

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 reques...

Apr 28, 202021 min

Advice for Junior backend engineers who just started new jobs

In this video I give some advice to junior backend engineers who just started their new jobs and feel overwhelmed. Backend engineering jobs can be overwhelming at the start, there are so much to learn, so much to read, documentation, tests, code in multiple programming languages. Here are some advice for Junior backend engineers. 0:00 Intro 1:20 Take your time 6:05 Stay hungry keep learning 8:36 Assume your collages know something you don’t 12:42 Don’t bad mouth other people code even if its bad...

Apr 25, 202023 min

What makes a good Software Tester?

Software Testing is Art, In this video, I discuss what makes a Good Software Tester. How can you become a better software tester that people line up to give pick you? Organizations build software products. But the software is useless if it is filled with bugs. A bug discovered after the product is shipped costs the organization a lot of money. A bug that is discovered before shipping saves the organization time and resources. So organizations line up to find good software engineers that are grea...

Apr 22, 202011 min

JSON Web Token

JSON Web Token ( JWT , sometimes pronounced JOT) an internet standard for creating JSON -based access tokens that assert some number of claims. The tokens are signed either using a private secret or a public/private key. In this video I want to discuss the difference between JWT and Session Based Auth, will show examples with Node JS and Postgres. Finally I’ll discuss the pros and cons of JWT....

Apr 19, 202057 min

Main Difference between Asynchronous, Multithreading and Multiprocessing Programming

In this video I explain the main difference between asynchronous execution, multithreading and multiprocessing programming. There are advantages and disadvantages of each approach. Synchronous 0:30 Multithreading a process have many threads shared resources 3:20 Async io single thread 6:00 Multiprocessing 11:00 Threads are evil https://web.stanford.edu/~ouster/cgi-bin/papers/threads.pdf sync vs async, multithreading vs multiprocessing, multithreading async, threading...

Apr 12, 202016 min

How End to End encryption work?

In this video I explain End to End encryption within the context of WhatsApp. I explain how encryption and TLS works then the problem of having a centerlized server decrypting the traffic, I then talk about how end to end encryption (e2e) can help mitgate that and finally I explain the problems with e2e encryption Classic Encryption Example 1:00 End to end encryption 3:25 Problem with E2E 7:30 - Trust? Fingerprints/CA (QR whatspp) encryption 00:30 encryption, e2e encryption, end to end encryptio...

Apr 12, 202014 min

WhatsApp Limits Messages that can be Forwarded

WhatsApp Introduced long time a go Unlimited forwarding then limited Up to 5 times Double forwarded too many times (last year) Double forwarded messages can only be forwarded once or even none Forwarding feature end to end encryption Sent/delivered/read https://www.cnbc.com/2020/04/07/whatsapp-limits-message-forwards-to-combat-coronavirus-misinformation.html...

Apr 12, 20205 min

Forward Proxy vs Reverse Proxy Explained

In this video, I explain the difference between a proxy and a reverse proxy. This is a refreshed version of the proxy video I made. What is a Proxy ? Proxy use cases - Logging - Anonymity - Geofencing - Caching - Block sites (office) - Enable Polyglot What is Reverse Proxy? Reverse Proxy Example Reverse Proxy Use Cases - Caching (Varnish) - Load Balancing - Ingress (/pics) - Canary Deployment Many types of proxy check it here Q and A * can we use proxy and reverse proxy together? * Can I use Pro...

Apr 09, 202014 min

What is a Distributed Transaction in Microservices?

In this video I explore what is a distributed transaction but first I explain what is a transaction, then why we invented distributed transactions and finally discuss proposed solutions to implement distributed transactions Cards 2:40 ACID https://www.youtube.com/watch?v=pomxJOFVcQs 7:30 Microservices https://www.youtube.com/watch?v=T-m7ZFxeg1A Transactions 2:30 Compensating Edits 6:40 Atomic Clocks 11:50 Event Sourcing 13:30 Mini-Monolith 15:20 Resources https://www.youtube.com/watch?v=YPbGW3Fn...

Apr 05, 202021 min

Chrome follows FireFox steps - Rolling back SameSite cookie change

A very necessary change and good step made by Google Chrome Team to rollback the same site cookie change Blog https://blog.chromium.org/2020/04/temporarily-rolling-back-samesite.html Firefox re-enables https://www.youtube.com/watch?v=sh3TPId35Ec SameSite Cookie Attribute https://www.youtube.com/watch?v=aUF2QCEudPo...

Apr 04, 20205 min

Bloom Filters Explained

In this video I explain why we invented bloom filters and where you can use it to make your queries more efficent.

Apr 02, 20209 min

What is On Demand TLS?

On-Demand TLS is a new feature developed by Caddy Web Server that allows TLS certificate to be generated on the first request, I explain this tech and their pros and cons in this video.

Mar 30, 202015 min

Lazy Loading vs Eager Loading with Node JS & Express

Lazy Loading is a technique where a piece of data is being loaded when needed instead prior. This ensures Fast startup times but can delay requests. In this video I’ll show both Eager loading and the lazy loading with example Node JS

Mar 29, 20208 min

This is why gRPC was invented

THIS IS MAIN reason gRPC was invented 8:40 -> 16:40 (8 minutes) In this video I discuss the reasoning and all the problems and limitations that lead to the invention of gRPC.

Mar 28, 20209 min
For the best experience, listen in Metacast app for iOS or Android