The Transition to Linux
For backend engineering and systems administration, fighting with Windows environments eventually becomes counterproductive. While WSL2 is fantastic, running a native Ubuntu environment provides the raw execution speed and absolute system control that my workflows require.
Core Tooling
Here is what my current daily driver setup looks like:
- The Terminal: I rely heavily on standardizing my terminal experience. A well-configured terminal with intelligent auto-completion and syntax highlighting saves hours over a month.
- Docker Engine: Installed natively. No Docker Desktop overhead. This is crucial when spinning up multiple PostgreSQL databases and Redis instances for local testing.
- Local AI Daemon: Ollama runs perfectly as a background systemd service on Linux, allowing me to query local models via
localhost:11434instantly from any script.
The Troubleshooting Mindset
Using Linux full-time fundamentally shifted how I approach problem-solving. When a service fails to start, the answer isn't to reinstall it; the answer is to check journalctl -xe and read the logs.
This mindset—read the logs, understand the process, fix the configuration—is the exact same mindset required for NOC operations and DevOps infrastructure management.
Current Status
My environment is now fully reproducible. I keep my dotfiles version-controlled, meaning I can provision a completely identical working environment on a new machine in under twenty minutes. This infrastructure-as-code approach to my personal machine has been one of the highest ROI investments in my engineering journey.