Why You Should Learn Linux (As a Developer)
Advocates of Linux argue that developers gain deeper insight into how software runs in production, better command-line tooling, and more control and freedom than on proprietary operating systems like Windows or macOS. Others counter that for many modern workflows—especially web development with SaaS backends—Linux expertise beyond basic Unix skills is optional, and productivity should dictate whether you use Linux natively, via WSL, or in a VM. The exchange highlights trade-offs in usability, tooling (e.g., debuggers, Docker performance), and hiring expectations, with broad agreement that understanding Unix fundamentals is valuable even if you never fully “switch” to Linux.
What “learning Linux” means
- Many equate it to basic Unix CLI skills: navigation, file manipulation, search, and a ubiquitous editor (often vi/vim).
- Others argue that’s really “learning Unix”; true Linux expertise also involves distro specifics, system services, packaging, and networking.
- Some advocate only a thin layer of skills (terminal, Docker, filesystem basics) unless your work demands more.
Arguments for learning Linux
- Most backend/cloud systems run Linux; understanding it helps debug deployments, permissions, container issues, and serverless quirks.
- Unix/Linux knowledge exposes core CS ideas: processes, filesystems, I/O, networking, kernels, and addresses space.
- Valuable for embedded, robotics, SBCs, and infrastructure roles, where targets often run Linux.
- Shell pipelines (bash + sed/awk/jq) are seen as a powerful, general tool for data and automation.
- Software freedom and avoiding vendor lock‑in are cited as both personal and business advantages.
- Some hiring managers treat Linux/mac usage as a signal of curiosity and willingness to “look under the hood.”
Skepticism and limits
- Several feel the article failed to make concrete, persuasive arguments, and might discourage newcomers.
- Many web/frontend roles never touch OS specifics; SaaS and managed services reduce the need for deep Linux knowledge.
- Some prefer to invest learning time in databases or browser internals instead of OS details.
- A few only want Linux as a container/WSL layer and see full-time Linux use as unnecessary.
OS, tooling, and UX comparisons
- Opinions diverge: some rank Linux > macOS > Windows for development; others praise Visual Studio and Windows debuggers.
- Linux debugging tooling is criticized as slower/less interactive than newer Windows debuggers; others are satisfied with gdb/lldb in IDEs.
- WSL2 is debated: some say complaints are wrong; others report portability and tooling mismatches versus “real” Linux.
- Docker: Linux is viewed as the best host; macOS Docker is described as slower and brittle due to VM overhead; WSL2 often preferred.
- Terminal shortcuts (Ctrl-C vs copy/paste) spark a long consistency vs backward-compatibility argument across Linux, Windows, and macOS.
Distros, stability, and learning paths
- Arch/Gentoo praised for learning but criticized for fragility and time sink; Ubuntu/Fedora suggested for stable daily use.
- Immutable or snapshot-friendly systems (e.g., Silverblue, NixOS, btrfs snapshots) are recommended to make experimentation safe.
- Some run Linux bare metal; others happily use Linux VMs/containers on Windows or macOS and still gain most of the benefits.