Elixir development with Docker

When I start a new project or get setup to contribute to an existing one, the first thing on my mind is: show me the Dockerfile. Why? One of the main purposes of Docker is packaging an application with its dependencies into a portable image that can be run on most any host, thus simplifying deployments. Yet when it comes to development of these applications, Docker is often not part of the picture.

Upgrades and dot-zero versions

In my early days with software, I couldn’t wait to upgrade to the latest versions of everything. Service Packs, patches, major new versions. I wanted to be running the latest and greatest versions of every piece of software I could on day zero.

At my first job, our tech lead who had been at this a lot longer than me took a more conservative approach. We wouldn’t upgrade major software like our database or operating systems without at least one service release being available. We wouldn’t adopt new major versions of language platforms until there had been a service release either. I was sometimes disappointed to have to wait for the latest and greatest, but I went along with it.

More than a decade later and I’m now completely on board with this. And there’s no zealot like a convert, so here I am writing about it.