Welcome to FullStack. We use cookies to enable better features on our website. Cookies help us tailor content to your interests and locations and provide other benefits on the site. For more information, please see our Cookies Policy and Privacy Policy.
Here’s what happened: I needed to deliver a solution to the QA team and was running out of time.
I needed to hurry to finish my work quickly. I thought I was just a couple of clicks away from finishing. I planned to double-check that everything was in place and working. But when I started the computer that morning, the Windows operating system began an update without my permission. You know the drill, maybe 5 or 7 minutes updating stuff that I don’t need. That was my breaking point. I asked myself: do I really need Windows for development? Since I did not use .Net or Adobe Suite, the answer was no. Right then and there, I decided to switch to Linux. By the end of the day, I was backing up my data to start over in this strange and exciting new operating system.
Choosing a Linux distro
At first, it wasn’t easy. I started my computer science training using Windows, so it was all that I knew. However, the die was cast, so the next step was choosing the best Linux distribution for developing and one that would be most comfortable coming from a Windows background.
There are tons of Linux distributions on the market. I wanted a nice lightweight OS with a friendly user interface. From my experience and research, I suggest one of the following:
Manjaro
Based on Arch and includes its package manager, Pacman. This distro is my favorite but not recommended for beginners, however, an experienced developer knows their way around a terminal. In my opinion, it’s the best way to optimize PC hardware, good for machine learning, and you can install Android Studio from PaMac (the package manager IDE). Additionally, three lines in the terminal and you have docker installed and running. It’s awesome.
Pop!Os
A nice choice for developers based on Debian, its package manager is aptitude. If you’ve seen Ubuntu before, you’ll be familiar with it. The OS has good support and stability. For machine learning, it’s awesome because most of the Python packages required are preconfigured.
Ubuntu
Ubuntu is the world’s most popular Linux distribution used for both servers and end users. It’s based on Debian and its package manager is aptitude. For development it’s great for beginners because it provides lots of good documentation and helpful packages.
Why use Linux instead of Windows for development?
From my point of view, there are three reasons:
1. Performance: Linux desktops are lighter than Windows. Running Linux you realize Windows takes a lot of memory just for the explorer and a bunch of background processes. My Manjaro OS, with more than 30 Brave browser tabs, as well as other programs open, uses a little more than 4.5GB of RAM.
2. Software: In most cases, installing software is easier. If you’re familiar with the terminal, you just need a couple of commands. If not, you can go to the IDE to search for the packages you want to install. The Linux terminal is awesome for developers.
3. No forced updates: As I mentioned at the beginning of the article, this was one of the main reasons I switched to Linux. It doesn’t force you to update the kernel or software, it asks for your permission.
How do I set up my distro for development?
If you work in web development, you probably use some of the following:
Git is preinstalled in most Linux distributions, so you probably don’t need to do that. If you need to install VSCode, Atom, or any other software, you have two options: do it via the terminal or the IDE.
Let’s say you need to install VSCode. The easiest way is to go to the package manager IDE, search for it, and click on the “Install” button. That’s it!
The second option is to follow the instructions for your package manager. For example, to install VSCode in Pacman you need to clone a git and then compile the package.
Getting started with Linux
One of the best features of Linux is the ability to customize the OS. Many Linux users first configure their keyboard shortcuts.
Each desktop environment in Linux has a Settings section. I use Budgie and some of the shortcuts I use are:
Once you have all the software installed and keyboard shortcuts set up, you’re ready to go!
Super + T
Conclusion
As a developer, I think moving to Linux is the best decision you can make. However, if you’re working in .Net, you should probably stick to Windows or use a virtual machine.
But the experience for other types of programming, like Machine Learning and Android development is much better. For example the Android emulator runs better and more smoothly on Linux than Windows.
So don’t be scared, take the plunge and move to Linux today! You’ll never look back.
Why should developers use Linux instead of Windows?
Linux offers better performance, more control over updates, and easier software installation. Unlike Windows, Linux desktops run with fewer background processes, meaning less memory usage. Developers also benefit from the power of the Linux terminal and the ability to install packages quickly with just a few commands.
What are the best Linux distributions for developers?
Some popular Linux distros for development include:
Manjaro – Optimized for performance, great for experienced developers, machine learning, and Android development.
Pop!_OS – User-friendly, based on Debian, and strong for machine learning with many Python packages preconfigured.
Ubuntu – The most widely used, beginner-friendly distro with excellent documentation and package support.
How do you set up Linux for software development?
A typical Linux development environment includes installing tools like a code editor, Git, Node.js with NPM, Docker, Postman, and a web browser. Many distros already come with Git preinstalled. You can install other software either via the terminal or through the package manager’s graphical interface.
Is Linux better than Windows for machine learning and Android development?
Yes. Linux tends to outperform Windows for workloads like machine learning and Android development. Many Python libraries and frameworks are easier to install and run on Linux, and the Android emulator generally runs faster and smoother compared to Windows.
Can beginners switch to Linux for development?
Absolutely. While Linux may feel unfamiliar at first, beginner-friendly distros like Ubuntu and Pop!_OS make the transition smoother. With extensive documentation, supportive communities, and package managers that simplify installation, even developers coming from Windows can quickly adapt.
AI is changing software development.
The Engineer's AI-Enabled Development Handbook is your guide to incorporating AI into development processes for smoother, faster, and smarter development.
Enjoyed the article? Get new content delivered to your inbox.
Subscribe below and stay updated with the latest developer guides and industry insights.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.