TDD: Discover Implementation by Stepping Small

Vaidas Pilkauskas

Enough with theory! Let's look into how classical TDD techniques are applied, to discover algorithm implementations by moving with baby steps and triangulating into a more generic implementation. This talk is fully based on live coding in Scala, but does not require any prior experience with the language. It covers the following techniques: baby steps, transformation priority premise, mutable vs. immutable code, and functional programming habits that may get in the way. It will end with an introduction to tail call optimization, and raise the question which code was more readable.


A Scala organizer and co-founder of Vilnius JUG. While not shredding on his mountain bicycle, he enjoys speaking about software design, test first techniques and how both things fulfill each other. Currently breeds microservices at