In Part 1, we talked about how applications communicate and interact with each other, we said that each service has its own API and we use REST to provide a unified style of designing an API and to set a list of constraints to standardize how applications communicate with each other. We talked about the 6 main constraints of REST, and lastly, we discussed the benefits of REST.

How to build a REST API?

Address & tackle technical debt strategically

Photo by JESHOOTS on Unsplash

In this article, I will talk about the following:

  • Introduction
  • What is Technical Debt?
  • Why is it Important?
  • Causes of Technical Debt
  • How to Address & Tackle Technical Debt?


The world is moving fast, maintaining competition is becoming more challenging, companies have to adapt to that fact. They should grow rapidly and respond to change to stay alive in the market, so most of the tech companies worldwide follow the Agile methodology to achieve that.

As we all know, any technical product needs time to be designed and developed especially if we want to…

We use technology with almost everything in our life, to communicate and socialize with friends and family, to purchase and buy things from stores, and to learn new things.

How does this happen? How does data get from one place to another? How different applications and devices communicate with each other to allow us to upload a video for our friends to watch on Facebook, to chat with family, or to enroll in an online course to learn something new?

APIs (application programming interfaces) help us achieve all of that, it’s the unknown hero under the hood. …

The art of recommendation systems

Photo by Avel Chuklanov on Unsplash


I once taught a group of kids Python programming. It was one of the most insightful and joyful experiences I ever had. Kids are super smart! They are creative and fast learners — there is no limit to their imagination.

Going into this experience, I had expected all students to learn in the exact same manner. This was far from true. While several students picked up the topic quickly, others didn’t. While some were eager to learn, others were barely interested.

That’s when it occurred to me to adjust my teaching methods. After conducting some…

Fahmi Al-Najjar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store