Join me as we discuss various software engineering topics with examples and add fun elements to them. We always try to learn by example here in this educational Youtube channel which we believe is the right way to learn. I love Software engineering (especially the backend) and I strive to be a better software engineer every day. Join me on this journey and let us learn together.

All opinions, suggestions, and tips I provide in all of this channel's content are my own. Information provided is for educational purposes only.

Consider becoming a member to support the channel
youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join

Check out my courses
courses.husseinnasser.com

Stay awesome!
Hussein Nasser,
www.husseinnasser.com
Feel free to shoot me an email h@husseinnasser.com
twitter: @hnasr


Hussein Nasser

Building scalable systems is a natural byproduct of understanding the fundamentals behind each piece.

The database, the backend, networking elements, protocols and security.

Everything else becomes just a puzzle you solve. And at that point, system design is the most joyous activity.

3 hours ago | [YT] | 98

Hussein Nasser

Two ways to scale software:

By adding components to the architecture
- eg load balancers, replication etc
- Caching layers, CDNs

By removing elements that are deemed not required.
- removing an unnecessary queries/api calls
- delaying a query until it is needed( or perhaps never)

Both are needed, the second one are harder to do and more satisfying in my opinion.

1 week ago | [YT] | 447

Hussein Nasser

I built pglocks dot org to better understand locking in PostgreSQL. I learned since about the different locking techniques which I compiled in my database course.

If you are interested in database systems consider checkout out my 30+ hours database fundamentals course.

I recommend taking Fundamentals of Operating Systems first. You’ll be amazed at how much better you understand database systems once you know how the OS kernel works.

OS Fundamentals
coupon: OS2025
www.udemy.com/course/fundamentals-of-operating-sys…

DB Fundamentals
coupon: DB2025
www.udemy.com/course/database-engines-crash-course…

1 week ago | [YT] | 219

Hussein Nasser

The more clever your code, the harder it is to read. The easier it is for Bugs can infest it

2 weeks ago | [YT] | 202

Hussein Nasser

Grab the backend and database engineering bundles and enjoy the deep dives into the art of software engineering.

Take the Intermediate backend engineering bundle If you’re relatively new to backend engineering.

OS Course coupon: OS-BLKFR25
www.udemy.com/course/fundamentals-of-operating-sys…

Network Course: NT-BLKFR25
www.udemy.com/course/fundamentals-of-networking-fo…

Backend Course: BK-BLKFR25
www.udemy.com/course/fundamentals-of-backend-commu…


Take Advanced Backend Engineering bundle If have 3-5 years of experience in the backend.

Backend Course coupon: BK-BLKFR25
www.udemy.com/course/fundamentals-of-backend-commu…

Troubleshooting Backend Course: TR-BLKFR25
www.udemy.com/course/discovering-backend-bottlenec…

Realtime Backends Course: RL-BLKFR25
www.udemy.com/course/scalable-real-time-backends-w…


Take Database Engineering bundle if you have build database applications and want to brush up the fundamentals.

www.udemy.com/course/database-engines-crash-course…


Enjoy the sale, ends Dec 1st.

2 weeks ago | [YT] | 226

Hussein Nasser

The elegant design of separating concerns in Apache Kafka creates tons of potential scalability improvements.

But also comes with tradeoffs.

Publisher, Consumer and a Broker

3 weeks ago | [YT] | 336

Hussein Nasser

If you have 1-3 years if experience in backend engineering you may enjoy my intermediate backend engineering course bundle

It consists of three fundamental courses in this order for an effective learning roadmap.

1- Fundamentals of Operating Systems
2- Fundamentals of Network Engineering
3- Fundamentals of Backend Engineering

The OS course polishes your knowledge about how the application work with the kernel, socket programming and file systems.

The network course introduces the bridge to the backend, how the application and the kernel sockets work the network.

Finally the backend course introduces you to the common backend design patterns how it interacts with both the OS and network to receive requests, process and write responses.

Head to courses.husseinnasser.com/bundle to learn more

3 weeks ago | [YT] | 295

Hussein Nasser

Memorizing trick programming questions and answering interviews flawlessly as you may know isn’t productive.

Coming up with your own solution on the fly, no matter how inefficient or bad you think it is 100 times better.

You will flawlessly one day build up to a better solution brick by brick.

For those are your bricks. Not somebody else’s.

4 weeks ago | [YT] | 488

Hussein Nasser

Postgres runs on port 5432, this is the responsibility of the Post master process.

However did you know that listening socket isn’t created until another process finish running first?

That is startup process (ST), responsible for WAL redo when the database crashes.

You cannot allow clients to connect to the database if the state isn’t consistent. However some databases do allow clients to connect (SQL Server comes to mind) they just block them from doing anything, it is a design choice.

Where the backend meet databases, polish your skills and learn more about the fundamentals at courses.husseinnasser.com I would recommend starting with the OS course followed by network, backend then databases.

1 month ago | [YT] | 452