Showing posts from May 27, 2019

API - Let's make it simple

So, explain to me, what is an API? 

(It's a question I like to ask in an interview once I hear that the candidate has worked with one in his previous role).
Quite surprisingly, not many people can clearly explain this concept in simple words, and I'm not surprised.
If we search for the definition of API online, this is what we will find:
"In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer."

Now, let's try to break down and better understand this concept.
We live in a world that thrives of connectivity. At the edge of our fingertips, (and on the other side of our screen) there is a whole world that allows us to shop, pos…