Interesting to think of the back and forth of complexity here. Now I can build my own version of slack that only has the features my team needs, and all the features work exactly the way my team wants it, but I need to write integrations so it works with a bunch of other software, and I need to understand the right way for those integrations to work, and by the way I'm integrating with a bunch of other custom software, and understanding the use cases for all that software is too complicated for just one person so we need multiple "software managers (product manager/developer combo) to manage all that software, and we need a place to run and people to understand how to run it on our completely custom container orchestrator that works exactly the way we want.<p>And maybe we lose some of the benefits of a shared ecosystem where we all run the same software with the same workflows an the shared plugin systems. And I do think this is a relatively likely outcome, because I think there's something inherently human around wanting to adapt the software to yourself rather than adapting yourself to the software.<p>It will be like this but in the millions:<p><a href="https://xkcd.com/927/" rel="nofollow">https://xkcd.com/927/</a>