Did you ever worked on a huge, poorly designed monolithic application? Because of tight coupling such applications are really hard to change and reason about. The only solution is to migrate to microservices, right? Actually, there's another way.
Learn how you can improve your architecture and reduce coupling by using events. While other languages need a lot of code and tools to make events work, we have a perfect abstraction already available: processes and message passing. Learn how to implement a basic mechanism for publishing and subscribing to events in less then 50 lines of code and see examples of how events can make your system easier to understand, easier to change and extend. The best part - this technique can easily be applied to existing projects.
Maciej is a developer at AppUnite where he's been using Elixir for about two years now. He is interested in software architecture, distributed systems, data synchronisation and consistency guarantees. Lately, he has been a frequent speaker and co-organiser of Poznań Elixir Meetup.