Very true. What most programmers do not realize is that the microservice pattern is far, far more complex than the traditional shared database or shared transaction manager approach. The reason that microservices are more complex is because you don't have global rollback when something goes wrong, so your code has to handle all of the failure paths to clean up - the so-called "saga" error paths. That makes the code immensely more complex; and the design of all that is not expressed anywhere - it manifests as a mish-mash of additional services and events. Goog luck making heads or tails of that if someone else created it.