Application development is always a walk in the park, right? Sometimes a system is just too big or complicated to comfortably work out in our head. Sometimes we build from legacy systems where the original intent is unclear. These situations can be more challenging. What if we could separate the design of our system between the “what” and the “how”? We could then work out each part with less mental effort and less potential for error.
We can simplify our development by breaking it down and addressing the parts with targeted strategies. In this talk I explore using the TLA+ toolkit to model and test the “what” of our design so we can later target the "how" in our Scala code. This should result in a better system and development experience.
There are benefits to using TLA+ even for simpler and better understood systems. Scala is changing with the delivery of Dotty. This is a great time to learn a new tool to help us better understand, test, refactor, and deliver our Scala systems. It might even improve the way we think about development.
Mark is a consultant with Inner Product / Underscore and a functional programming enthusiast. His mission is to help developers flourish and companies succeed. He has provided leadership and technology solutions for companies for more than two decades. As a casual beekeeper Mark sometimes finds curious parallels between people and bees.