As much as computer programming has advanced over the past two decades, developers and operators are still dealing with “works on my machine” problems — an application that works great on the laptop but is completely non-functional in production or on a colleague’s laptop. I think of “works on my machine” as a function of how much control developers have over the production environments and how identical the development and production environments are.

Let’s think back to the early days of computer programming, when programming a computer involved punch cards.

Developers were coding in production, and the cost of each mistake was high.

The real solution, though, has to involve decreasing the distance between the development environment and the production environment so that developers are automatically able to develop in an environment that’s identical to production, including having access to the latest versions of upstream and downstream dependencies and running with the same configurations.

Related Articles