SOLID Principles in Action: from Slack to Twilio

By Micah Silverman

Elevator Pitch

Rather than just speak about SOLID, this talk takes an existing Slack integration and walks through refactoring it to work with Twilio. Along the way, I touch on why each aspect of SOLID makes refactoring the example easier.


SOLID principles make software more flexible and maintainable.

In this talk, I touch on each of the principles:

  1. Single responsibility principle
  2. Open/closed principle
  3. Liskov substitution principle
  4. Interface segregation principle
  5. Dependency inversion principle

However, rather than talk about them in the abstract, the talk focuses on a specific code example. The example starts out as a Slack integration that shows a random “Magic the Gathering” card in a channel when a certain command is issued. I refactor the code to integrate with Twilio and demonstrate each principle along the way.

The example is written as a Spring Boot application and all source is available on Github.


This talk requires a display viewable by the attendees as well as an Internet connection.

Last year, I gave a talk at the KCJUG on securing microservices with JWT. I’d love the opportunity to come back and talk again!