In our daily life, we all used use these flashy apps to get our work done. Be it ordering something on Amazon, or flaunting how awesome your life is on Instagram/Facebook, reading something infomative on Wikipedia or binge watching your favorite series on an OTT platform. These behemoth applications have evolved over the years into the form we see them today which involved solving extreme Engineering problems by talented Engineers these companies have.
It sometimes might make you curious, what if I were there and had to built something like this. What challenges might have been encountered by teams building these? How do they serve contents so fast, how do they scale and many more curious questions to be asked. This is actually a very common pattern of selection in many companies with a dedicated session of discussion over it.
I think building a clone with limited features of these applications is an effective way of learning and applying software design principles. You'd understand what role tools and technologies like Redis, Kafka, Docker, Kubernetes and many more play in these applications. You might have never needed to use some of these tools in your day-to-day work in your company. For instance, implementing a fuzzy search feature or integrating a payment gateway if you never worked on it in your company.
It sometimes might make you curious, what if I were there and had to built something like this. What challenges might have been encountered by teams building these? How do they serve contents so fast, how do they scale and many more curious questions to be asked. This is actually a very common pattern of selection in many companies with a dedicated session of discussion over it
Building clones could be an excellent way of learning through practical applications.
Posted on March 24, 2025, 8:08 p.m.
Updated on April 26, 2025, 4:11 p.m.
Views: 10
Tags: Technology
Images: