← Blog
Linux Jul 19, 2026 · By Michael Shpilt

One month on Linux after 30 years on Windows (as a software developer)

One month on Linux after 30 years on Windows (as a software developer)

I moved from Windows to Linux 1 month ago, after using Windows for the last 30 years (and developing software 15 years). It wasn’t easy to leave my comfort zone, but I got so frustrated with Windows performance that I couldn’t take it anymore.

As I was able to do more tasks in parallel with AI coding agents, the performance of the system degraded. I started having frequent crashes, a constant huge memory consumption, and overall slowness. Working with WSL got very bad. I constantly had to restart WSL engine and docker build was so slow that it was painful. One day, as my system was slower than usual, I saw my RAM usage going up to 53 GB, in a rather typical usage. From there it was a short path to installing Linux.

Windows vs Linux

For context, most of my usage is software development related. Typically I have 3-5 instances of my project running in parallel, with each instance including 6-9 services in TypeScript, Python, and Rust. In addition, I’ll have about 6 terminals with tmux and Claude Code running.

I don’t play video games, so besides dev stuff it’s basic browsing and video calls. I had a similar setup on Windows, so we can compare apples to apples more or less.

Performance

Performance was the most important reason for migrating and it paid off. Linux is like a Ferrari when Windows is more of a Toyota Prius.

I feel the difference the most is in service startup time. On Windows, my 9 services took a full minute to start running, with the Node.js backend being the slowest bottleneck. I profiled it on one occasion and saw that transpiling from TypeScript to JavaScript took the longest time. Maybe changing some configuration or switching compilers would have solved this eventually, but as things stand with default configuration, what takes a long minute in Windows takes 3 seconds in Linux.

Looking at resources, running my services 5 times in parallel along with 5 Claude code instances brought memory all the way to around 50GB on Windows. In a similar situation, my Linux memory consumption was at 12GB, with CPU mostly idle. It’s unfair to call this any sort of benchmark. Having done performance investigations myself, I know all too well that without a testing protocol, fresh environments, and multiple measurements, stats can lie. But what I can tell you for sure is that I just feel that everything is snappier. That includes opening and using my own app in Chrome, as well as the dozen tools I use every day.

Application support

I can’t place a clear winner in terms of application support for either side. Many mainstream apps don’t bother to support Linux because it’s not a popular workstation OS. You either use Windows or Mac, and let’s leave Linux for the servers. So no Microsoft Office support, no native driver for Google Drive, no Adobe Creative Cloud. Those all are hard to replace software, and if I were using any of them, I’d have a much harder time migrating. But as it stands, I found alternatives to all my small productivity tools that I do use.

For example:

  • Instead of Git Extensions, I’m using Lazygit
  • Instead of AutoHotkey, I’m using Espanso
  • Instead of Snagit, I’m using Flameshot
  • Instead of Ditto, I’m using CopyQ

The great thing about this whole experience is how easy it was to find those alternatives. In every single case, I asked Claude Code to find an equivalent of xyz and it did so, installed it, and recreated my configuration.

Not everything went smoothly. The first time I shared my screen on Google Meet, my PC froze and I had to hard reboot. This was apparently a known problem in some Linux UI technology, and an experimental Chrome flag solved the issue. But it ruined a meeting. For someone less technical than me, this might have ended in giving up on Linux altogether. It also emphasizes the power of using something popular. If Linux was a first class citizen, or at least my distro Fedora, Google would have bothered testing it thoroughly and setting up the right default flags in Chrome.

Developer Experience

We talked about performance and application support, but what about the experience of actually developing software on Linux?

These days, my workflow, as I’m sure for many others, mostly involves opening a terminal and using a CLI coding agent. There are things that my agent uses, like playwright, some CLI tools, various MCP servers. Those all work fine. There’s work I do with an IDE, but Visual Studio Code works well on Linux. I’m actually trying to learn Vim, but that’s another story.

I must mention there are a few useful CLI tools that work on Linux but not on Windows. I’ve got some anecdotal examples, like ImageMagick, which is a CLI image editor that can do most anything on the command line. As such, I can just ask Claude to resize, optimize, rotate, blur, and much more. ImageMagick kind of works for Windows, but with many limitations and problems (speaking from personal experience).

Another anecdotal example I must mention is me trying to set up a small nightly task script. On Linux, I asked Claude to schedule it, and it just worked. Whereas in Windows, I had to go through all kinds of hell. At first, the script didn’t work because the PC was asleep, so I got it to wake the PC. Then, my wake wasn’t good enough because my PC wasn’t in the “right” hibernation mode, so I had to change that and on and on. Eventually, I got it working, but that process took a week because for each check I had to wait for night time. I mean, all the problems I encountered probably make sense, but it shouldn’t have to be that difficult. And in Linux, it isn’t.

Let’s talk terminals. The choice of terminals is huge on Linux, and small in Windows in comparison. I’m certainly not an expert, so I won’t go down this rabbit hole, but I will admit the relatively new Windows Terminal by Microsoft is pretty good and I quite liked it. It has all the basic things you might want including tabs, panes, select mode, modifiable key bindings, etc. Windows can also run WezTerm, a cross-platform terminal that supports tmux. And if you get tmux, then arguably that’s all you need.

One more point for Linux is the open source culture. There is much more free and open source projects available for Linux, especially for anything related to software development. Clipboard managers, image editors, Git GUIs, you name it. And frankly, they’re all super performant and feature-packed, unlike the average Windows app.

OS Experience

After all my compliments to Linux, I must say I miss Windows in many ways. I don’t like not knowing basic functionality and I don’t yet have the muscle memory for what I do know. I miss f.lux, a blue-filter color‑adjust program, which isn’t supported on Linux, and is much better than the alternative Linux Night Light. When I do get to use Windows, it is a small relief.

My specific distro, Fedora, was probably a bad choice. It is supposed to be the latest version with all the features, but I don’t think I really need or use any of them. On the other hand, those latest features already caused a few OS crashes. I discovered the equivalent of the Windows blue screen of death on Linux, and I’m not happy about it.

Is it the Linux Personal Workstation Era?

While I make the point that Linux is better for my particular use case, Linux is not the answer for everyone. If I have to take a stance, I think the world will stay with a Windows/Mac combo for the foreseeable future.

Gaming is the obvious place where Windows is better than Linux. Certain kernel-level development in Windows for anti-cheat software forces AAA games to run just on Windows. If I were a serious gamer, I wouldn’t take the chance that my next game of choice won’t be supported.

Some major apps aren’t supported on Linux, including SolidWorks, Auto CAD, Adobe Creative Suite, and Microsoft Office.

Windows shines in an enterprise setting where the admin can create group policies and have much more control over their fleet of PCs.

On the flip side, a Mac is the first choice for software developers, writers, designers, and most technical professionals. As performant as Linux, but more modern and mature. Macs are more expensive, but that’s often not a problem for professional coders and graphic designers.

So what can Linux offer? Let me try and make the case. Linux is best if:

  • You want a great performant OS, you don’t play AAA games, and a Mac seems too expensive.
  • You’re a power user, you don’t play AAA games, and you don’t like anything in the limited lineup of Mac computers, whereas in PC world there’s plenty to choose from.
  • You’re a software developer working on Windows, you already have a perfectly fine PC, and you’re willing to experiment. And you don’t play AAA video games.

I Don’t Think I’m Going Back to Windows

After a month, the experiment has become my default workflow. Linux isn’t perfect, I still run into rough edges, but for software development in a 2026—terminal-first world, it is a huge improvement. The dramatic performance improvements, the rich command-line ecosystem, and the feeling that the operating system is working with me instead of against me outweigh the occasional inconvenience.