It Works on My Machine: Why This Meme Will Never Die - Techmerch

It Works on My Machine: Why This Meme Will Never Die

The phrase no developer invented but everyone has said. A look at where "it works on my machine" came from, what the shrug actually means, and why no tool has managed to kill it.

Works on My Machine t-shirt, front view

The Phrase No One Invented

Some of the most durable things in developer culture were not designed by anyone. They crystallized. Someone said a thing, it landed, and enough people recognized themselves in it that it stuck permanently.

"Works on my machine" is that kind of phrase. No inventor. No founding conference talk. No attributable blog post from someone wanting credit. Developers were saying "it works on my machine" quietly throughout the 1990s in team rooms and mailing lists, every time a build passed locally and fell apart somewhere else. Nobody documented it because everyone assumed someone else already had.

By the time the internet meme era caught up, the phrase had been load-bearing infrastructure for a decade.


February 2007: Someone Finally Named It

On February 1, 2007, a developer named Joseph Cooney published a blog post proposing what he called a formal "Works on My Machine" certification program. The certification had four steps: compile the application (optionally skip getting the latest from your teammates' branches), launch it, run one happy-path test, and check it in. Certified.

It was a joke. It was also an accurate description of what a meaningful percentage of production deployments have always been.

Six weeks later, on March 15, 2007, Jeff Atwood of Coding Horror picked it up, designed the official badge, and published it under Creative Commons Attribution-ShareAlike 3.0. That badge, styled to look like an actual quality certification with a green logo and formal typography, is the canonical visual artifact. It spread to laptops, conference stickers, and forums within the year. By May 2008, the Microsoft MSDN blog was writing about it, not to explain it to developers, but because developers already knew exactly what it was.

Cooney gave the meme a name. Atwood gave it a face. The industry had been providing the underlying content for years.


What "It Works on My Machine" Actually Means

The phrase is not a denial. That is the part that makes it so effective.

When a developer says "it works on my machine," they are not claiming the bug doesn't exist. They're not saying QA is wrong. They are communicating something precise: the code runs correctly in their environment, the failure is therefore a difference between environments, and they cannot immediately explain what that difference is.

It is simultaneously a fact ("it passes locally"), a non-answer ("I can't reproduce it"), and an implicit deflection ("the gap between my setup and yours is now a different conversation"). It does the work of three sentences in four words.

This is also why the classic Reddit response resonates so well. "Developer: It works on my machine. Sysops: Great, we'll ship your machine to production." The joke works because it takes the developer's statement at face value and produces a logical conclusion that is genuinely unreasonable and also, depending on the team and deadline, something someone has probably considered.

It should also be said that sometimes "it works on my machine" is just wrong. The code is broken, the developer hasn't found it, and the phrase is the polite version of "I haven't tested the failure path." The phrase covers both cases without distinguishing between them. That is, honestly, most of the appeal.


The Shrug and Its Permanent Attachment

The shrug kaomoji, ¯\_(ツ)_/¯, uses ツ (the Japanese katakana character for "tsu"), with arms assembled from overline and backslash characters and a structure that reads as someone presenting themselves for an audience that has questions they cannot answer.

It came from Japanese bulletin board culture and made its way into English-language internet around 2011-2013. It latched onto "it works on my machine" so completely that the two are now functionally a unit. The t-shirt design almost always pairs phrase and shrug. The Reddit comment almost always pairs phrase and shrug. The badge belongs to a formal artifact from 2007; the shrug belongs to the emotional truth underneath it.

The attachment is not accidental. Both communicate the same thing: resignation with plausible deniability. A shrug is not an admission of fault. It is not a denial either. It is the visible equivalent of "I have said everything I have to say about this matter." Combined with "it works on my machine," you get the complete developer defensive posture, delivered in ASCII art and a five-word sentence.

Philosophically, the shrug is honest. You do not know why their environment is different. You cannot explain the behavior. You have moved on.


Docker Was the Serious Answer

In March 2013, Solomon Hykes demonstrated a tool at PyCon called Docker. The pitch was direct: package an application and everything it needs into a container, and that container runs identically everywhere. Your laptop. The CI runner. The staging server. Production. Same image, same behavior, no surprises.

The problem Docker was explicitly designed to solve was the exact problem "works on my machine" names. Environment parity. The gap between local and deployed. The mystery of why code that passes locally fails two environments later.

It worked. According to Docker's 2025 State of Application Development Report, 92% of IT professionals now use containers, up from 80% in 2024. And look at what happened to where developers actually work:

Primary development environment: the great flip Docker 2025 State of Application Development Report Local (2024) 64% Non-local (2024) 36% Local (2025) 36% Non-local (2025) 64% 0% 100%
Figure 1. In 2024, 64% of developers ran local as their primary environment. In 2025, that was 36%. The majority flipped in one year. Data table follows.
Figure 1, as data: primary development environment, 2024 vs 2025
Environment 2024 2025
Local 64% 36%
Non-local (cloud, remote, container-based) 36% 64%

Source: Docker, 2025 State of Application Development Report.

In 2024, 64% of developers ran local as their primary environment. In 2025, that was 36%. The majority flipped in one year. The industry did not just adopt containers. It moved its primary work environment off local machines entirely.

And then the meme did not die.


The Meme Survived the Solution

Container adoption is near-universal. Most teams have CI pipelines, staging environments, and infrastructure as code. The tooling has never been better. The phrase is still in daily use on Slack, GitHub issues, PR comments, and code review threads. It is still on stickers at conferences. And it is still on t-shirts, because phrases that accurately describe your daily experience tend to stay.

The reason is that "works on my machine" names a structural condition of software development, not a fixable configuration problem.

Even with containers, state diverges. Database seeds differ between environments. Local environment variables don't match production secrets. The CI runner uses a different OS minor version than your laptop. Someone has been running their branch with a feature flag on that nobody else has enabled. The dependency resolution from six weeks ago is locked in your virtual environment but the CI image was rebuilt yesterday. The API mock you're hitting locally returns a 200; the staging service returns a 429.

Containers solved the runtime environment parity problem. They did not solve the problem of humans working on different machines, with different data, in different states, at different points in time.

The DORA 2024 Accelerate State of DevOps Report found that even the share of high-performing engineering teams shrank from 31% to 22% between 2023 and 2024. The tools improved. The human and organizational variables did not.

The phrase persists because the gap persists. What changed is that developers now have better words for why the gap exists. The shrug is still accurate.


Why It Will Never Die

The best technical memes name a real experience that has no clean fix. "Works on my machine" has been durable for over thirty years because it describes something structurally true about software development: the same code, running in different contexts, produces different results, and the person closest to the working version cannot always explain why.

The tools got better. The containers proliferated. The meme stayed because the underlying situation stayed. As long as software runs in more than one place, someone will experience a difference they cannot immediately reproduce. As long as that's true, the shrug is appropriate.

That's why the phrase survived every solution designed to replace it. Docker addressed the technical version. CI/CD addressed the consistency version. The social version, code that works for you and fails for someone else, does not have a containerized answer.

It just has the shrug.

The shrug has been accurate since the 1990s. It will still be accurate when whatever replaces Kubernetes is itself being replaced.

Now it also has a t-shirt. Appropriate, given that developers have been shipping this particular bug for thirty years. Browse the software bug shirt collection.

Works on My Machine t-shirt, front view

The Badge You Can Actually Wear

The Coding Horror badge has been on developer merchandise for nearly two decades. At this point it has more tenure than some programming languages.

If you've said the phrase today, or had it said to you, you are in good company across three decades of software development. The Works On My Machine t-shirt is the direct artifact, shrug included.

For the adjacent experience of shipping code that passes every test, deploys cleanly, and functions in production, but for reasons you cannot explain or reproduce: No Idea Why It Works and Code Works No Idea Why cover the specific flavor of productive uncertainty where investigating further feels like a bad idea.

And if the phrase applies but the tone is more uncomfortable than resigned: It Works :/ is the honest version of the same confession.

All of it lives in the same corner of developer experience documented in the Bugs & Features collection, alongside everything else that describes what shipping software actually looks like versus what the sprint plan said it would.

Works On My Machine t-shirt, front view

Featured product

Works On My Machine

The direct artifact, shrug included. For the developer who has said this phrase more times than they can count and means it every time.

Shop the shirt →

Find more in the software bug shirt collection.

FAQ

Where did "works on my machine" actually come from?

The phrase was in common use among developers throughout the 1990s with no single documented origin. On February 1, 2007, developer Joseph Cooney published a satirical "certification program" post that formally named it. On March 15, 2007, Jeff Atwood of Coding Horror designed the badge and published it under Creative Commons, giving the meme its recognizable visual identity that spread across the industry.

What does "it works on my machine" mean in software development?

It means a developer can run and test their code without errors locally, but someone else cannot reproduce the same behavior in a different environment. It's a precise technical statement: the failure is an environment-specific difference, the cause of which the developer cannot immediately identify. It is sometimes also used when the developer hasn't tested the failure path, which is a different situation the phrase does not distinguish between.

Why did the shrug become part of "works on my machine"?

The shrug kaomoji (¯\_(ツ)_/¯) communicates resignation with plausible deniability. It pairs with the phrase because both say the same thing: I have reported what I know, I cannot explain the rest, and I have moved on. Together they became a complete developer defensive posture that is efficient, honest, and universally understood.

Did Docker solve the "works on my machine" problem?

Docker, launched in March 2013, addressed the technical core of environment parity. By 2025, 92% of IT professionals use containers, according to Docker's 2025 State of Application Development Report. But containers solve runtime environment differences, not state divergence, local data, secrets configuration, or the many other ways two environments can drift apart while running the same image.

Is "works on my machine" still a relevant developer phrase?

Yes. It appears daily in Slack threads, GitHub issues, PR comments, and code reviews across teams that use containers, CI/CD, infrastructure as code, and everything else the industry has built to address the problem. The tools reduced the frequency; they did not change the structure. The phrase still fits. The shrug still applies. See also: the funny programmer shirt collection for more of the same.

Shop by collection