SBT has been the subject of quite a bit of controversy among Scala developers. It's different enough from other build tools that not everyone has the patience of really getting into it. As a natural consequence, they tend to either go back to the build tools they know or employ sbt in a way that is similar to what they are used to and doesn't require them to fully understand it.

While it is possible to build your projects with only a minimal comprehension of sbt, there is a lot to gain from really understanding how it works. If you are one of the people who have never gone a lot further than "sbt test", this talk is for you.

You will learn how it can make your daily Scala development workflow more productive. We'll dive into the concepts behind sbt and see how we can embrace its interactive shell, how to customise our build to our needs, and what the sbt ecosystem of plugins has to offer to improve our development workflow.

This talk will involve a lot of live sbt interaction, and also some coding. At the end of the talk, we will have seen not only what sbt and the existing ecosystem has to offer, but also built our own little sbt plugin.