Works on My Machine
ELI5 — The Vibe Check
The most dangerous phrase in software development. When something works perfectly on your laptop but explodes in production, staging, or literally anyone else's computer. It's usually caused by environment differences, local configs, or dark magic. Docker was invented specifically to kill this phrase. It hasn't fully worked yet.
Real Talk
"Works on my machine" describes a class of bugs caused by environmental differences between development and deployment environments. Root causes include OS differences, dependency version mismatches, environment variables, file path conventions, and local-only configurations. Containerization, CI/CD, and infrastructure-as-code aim to eliminate these issues.
When You'll Hear This
"It works on my machine!" — "Cool, then we'll ship your machine." / "Docker exists because 'works on my machine' is not a deployment strategy."
Related Terms
Container
A container is a running instance of a Docker image — it's the lunchbox you made and actually opened to eat from.
Docker
Docker is like a lunchbox for your app.
Environment Variable
An environment variable is a setting you inject into your app from outside the code, like a sticky note you attach before it runs.
Production
Production is the real thing — the live app that actual users are using right now. It's the opposite of your practice environment.
Staging
Staging is a fake version of your real app that looks and acts exactly like production but has zero real users.