We should always have in mind this question: “Are we working on the best solution to meet our needs or goals?” Many times that is not the case. Most people are blissfully unaware of this as they imagine that their colleagues wouldn’t suggest anything but the most adequate solution. That assumption, however, is incorrect more often than not.
Over the past couple of decades, we have seen a curious phenomenon arise: extreme specialization.
Today, tech professionals are dividing themselves up into classes such as .Net developers, Java developers, front-end developers, etc. People working with IT infrastructure are also split into the categories of Microsoft or Linux professionals.
This behavior is incentivized by tech companies which employ every means available to convince professionals that their great products should always be used in conjunction with some of their other products. These companies create what are called Stacks, sets of applications that combine their various products with one another and/or with open source components.
But what’s the matter with that?