It works on my machine
You’ve probably heard other developers say, “It works on my machine.” Maybe you’ve said it too.
We forget that our development machine is vastly different from production hardware. Aside from being faster and having more memory, there are two key differences that can trip us up:
- Our environment is different. We have all dependencies installed already, potentially older ones. We might be building in a type of debug mode all the time, which changes application behaviour. Lastly, our configuration is likely different.
- Our timing situation is different. This could be thread timing (we likely have many more cores) or network timing (we likely have wired super-fast internet). This is where slow-network simulation tools come in handy.
“It works on my machine” is information. There could still be a bug. It’s a clue to help your investigation.