I don't know how the infrastructure was before docker was introduced, but for me it made things more miserable. Build times are longer, if you work on OS X it eats up battery and causes it to heat up (because on OS X it runs inside of VM). Makes things so much harder each time you make change you have to rebuild it to run it, unless you do some tricks that aren't always possible in all languages. You can do development inside of a docker, but that also has its own issues, primarily you can't use your fancy IDE.