"Flat world is like a level playing field, everything isn't necessarily controlled from the top down."
During middle ages, the British travelled through out the world and brought the civilization to where they set foot in. We can see that the British separates the borders between neighbouring countries with straight borderlines so that there are less intense or conflict in the region. For example: Egypt, Libya, India, Nepal... are countries that share the straight borders with neighbouring countries. The France did the same thing for Algeria, Moroco... In 18th century, American made the shape for states at the same way.
Believe it or not, straight border line is just like a compass. We never get lost, nor re-work for misleading. It is a shortcut that help us reach the target in the most optimal way.
This is the philosophy of "flat". Everything is now flat. Residents live in high building so they can buy food in supermarket in the first floor by going down in an elevator in just 5 minutes. Awesome!
You can outsource a part of our works to the external company who does things better and more professional than yours. Obviously, it comes with lower cost as a whole than you do it yourself. Great, isn't it?
Now talk about software industry. Web streamlines non-IT works as users don't have to install the apps. Web Services and API makes things more flat - software is now fragmented and decentralized. There is almost no middleman.
Monolithic software is the nightmare for most developers. If any service fails it leads to entire system failure. If client has to add any new feature, the developer team needs to modify entire operating system. Do you think this architecture is "flat"? Fortunately, a new architecture has come up to solve this issue, it is "Micro-Services". It's a flat architeture.
It's mistakenly to think that every software components must be connected to each other via API. There is a same business case in the flights. People will inquiry why there is no direct or non-stop flights from Hanoi to every cities in the world. Why?
It's all about the efficient. The economic profit is a factor to make a decision. The decision won't be made if there is less passengers between Hanoi and Washington, D.C.
In software engineering, API endpoint is made when there is high frequency and large quantity of data to transmit between 2 components. You'll have a chance to learn more about this topic again in our Business Analysis training courses.
Tools or products are not primary objective for us. Instead, we develop the working models to solve client's needs which are ever-changing over time. Some clients expect that their product includes a part of CRM, a part of CMS and a part of User-based model. It's kind of "hybrid solution". Another option is that our developers will think about a model that looks like a pipeline to connect each service(CRM, CMS...). No matter the option, the architecture is obviously flat. That's our ultimate objective when it comes to procuding software in the uncertain world nowadays.