Chris Keathley - SOLID code isn't flexible
The only constant in software development is change. As engineers, we're presented with new bugs, new integrations, and new requirements on a regular basis. In order to handle these changes, software engineers have adopted a number of different principles and techniques designed to aid them in code comprehension and adapting to change. Unfortunately, many of the widely accepted software patterns fail to achieve either of these goals. Luckily for us, we have the power of Elixir, Erlang, and functional programming on our side. In this talk, we will compare and contrast many established ideas from object-oriented design with a more functional approach. Beginners to Elixir may see a new way to think about design, while more experienced Elixirists will hopefully pick up some new techniques and patterns to apply in their own code. Most importantly, we will discuss how to build even simpler systems using the tools that we all love.