This talk is about 'architecting flow', which basically means 'organizing and structuring what is done when, where and by which actor' during the execution of our programs.
Making this top-level flow of data and responsibility obvious and comprehensible for the major parts of our applications is self-serving: When it’s easy to get the general flow of a program, it is easier to reason about changes, onboard new people into the team and communicate across teams.
In this talk, we’ll look at the spectrum of techniques to Architect Flow in Elixir. The audience will learn to reason about the trade-offs of each approach. We’ll look at the use of pipes and `with` macros in smaller programs. We’ll learn how to use the Token approach to create binding contracts between different parts of bigger programs. And we’ll discuss how to (and when NOT to) use metaprogramming to build custom DSLs for the most common use-cases in larger domains.
René has been fortunate enough to work as a professional software developer since he’s been 17 years old. Next to working at 5Minds IT-Solutions, he’s an Open Source enthusiast and the creator of Credo, Inch and ElixirWeekly.