Half-implemented micro-services are the worst. It can really slow down your development velocity to the point where you feel like you’re walking through syrup. You’ve got several teams making changes to systems they’re responsible for. In theory these services are independent of each other, and the work is organised in such a way that they do not require any work on behalf of those using them. But unless you go all Amazon, and enforce impenetrable boundaries between the various systems, this never works out in practice.

Eventually you find yourself needing to do some manual thing just to get your development environment stable again so you can get your stuff done. An hour or two goes by and when it comes time to start work on the thing you actually wanted to do, you’ve forgotten what it was or got distracted by Slack or something.

Then you complain about it on your blog. 😛