I've been turned off of it by SBT in the past.
Bazel works well too: https://github.com/bazelbuild/rules_scala
But I do accept that sbt is not everybody's cup of tea.
Sure it is not perfect, but the alternatives are much worse and most of the issues people have with SBT projects are other people abusing the build file.
The REPL, fast incremental builds, continuous unit testing, shared SBT sessions, etc makes my day so much better.
I live all day long with: `~testOnly *WalabySpec -- -z killRoo`.
Whenever I have to jump into an app using Maven or only slightly better Gradle it is so frustrating.
Oh, and it's much faster nowadays.