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 an Elixir developer at AppUnite and a Computer Science student of Poznań University of Technology with specialisation in distributed systems. Interested in good software architecture and design, distributed systems and data synchronisation and consistency guarantees. Lately, a frequent speaker and co-organiser of Poznań Elixir meetup.