Amr Saeed

I'm a software engineer who's passionate about building complex enterprise applications. You can consider me as a system design and architecture addict. I've experience working with different back-end, front-end, and DevOps technologies.

How to Choose Your First Programming Language?

One of the questions that are frequently asked by new programmers is:

There are tons of programming languages, how to make sure I am starting with the most appropriate one? ...

SOLID Principles: Liskov Substitution

You know, when I heard the name of the Liskov Substitution Principle for the first time, I thought it would be the most difficult one in SOLID principles. The principle’s name sounded very strange to me. I judged the book by its cover, and I convinced myself that I wouldn’t grasp it. Eventually, it turned out that it was one of the easiest and straight forward principles in SOLID principles. ...

SOLID Principles: Open Closed

Now it’s the time to start another journey with the second SOLID principle, the Open-Closed.

Open-Closed principle states:

“Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification”

What does that even mean? How could a software entity be opened and closed at the same time! ...

SOLID Principles: Single Responsibility

If you are a passionate developer who’s interested in learning how to write high-quality software solutions, then you came into the right place, my friend.

One of the most common and effective software engineering principles is SOLID principles introduced by Robert C. Martin who is known as Uncle Bob. They are intended to make software designs more understandable, flexible, and maintainable.

SOLID is an acronym for 5 design principles: ...