DEV Community

Cover image for Beginner Devs Should Use Linux... Maybe
Charles Clinton Pustejovsky III
Charles Clinton Pustejovsky III

Posted on

Beginner Devs Should Use Linux... Maybe

CAVEAT #1: If you rely on software that is only on MacOS or Windows 10, do not switch to Linux.

CAVEAT #2: This is just my opinion on how beginners could best develop problem solving mindsets by using Linux day-to-day. No developer is any less of a developer based on their choice of OS. You are not a bad developer for not being a terminal junkie.

I switched to Linux when I was still a complete newb in 2013. I didn’t even know how to make a live USB. Somehow I was able to track down an actual CD-Rom of Ubuntu 12 from a Linux magazine at a Micro Center and use it to install my first Linux distro.

the magazine looked something like this

the magazine looked something like this

Why did I switch entirely to Linux when I was this new to tech? Well, I originally installed Ubuntu alongside Windows 10 to better learn Linux and the terminal. However, when I ran into trouble with Ubuntu, I’d reboot my computer and do it in Windows because it was comfortable.

No More Half Measures (Breaking Bad reference)

No More Half Measures, Walter... I mean Charles

I decided to completely remove that option and uninstall Windows and I’m a better programmer because of it.

Why? Because programming is about problem solving, googling the error message, etc. And when you have to problem solve just to watch Netflix (which was the case in 2013), you pick these skills up quickly.

It’s a sink or swim approach which might not be good for everyone, but if you’re like me, I recommend it. You’ll have every opportunity to lose your fear and anxiety about the BASH terminal which will help you in your journey. Without fail, you’ll have to at some point pop the hood and use the CLI (command-line interface), and it's nice to not be intimidated by it.

The second reason I'd recommend this to newbies is financial. Most of the dev tutorials I've come across in the last six years are assuming you're using a Mac which can cost quite a lot. Windows machines are cheaper but the dev env is 1:1 to MacOS. You can install Linux for free on your Windows machine and since Linux and MacOS are both Unix, the dev env is very nearly 1:1.

An Apple Slogan that Aged like Milk

This Apple slogan has aged like milk

But what do you think? If you have any suggested operating systems for a new developer or any tips and tricks to tackle tutorials written for MacOS users with a Windows dev environment, share them in the comments.

Top comments (32)

Collapse
 
jehrhardt profile image
Jan Ehrhardt

I believe operating systems don't matter that much anymore. When you buy a computer, just use what's on it. When you are looking for servers, go for cloud and build on containers. Let hardware and OS be someone else problem 😉

When you are new to coding focus on how to write good code and work effectively. But don't waste your time with installing your own OS.

Collapse
 
rsa profile image
Ranieri Althoff

Let me guess: you are on Mac, right?

Collapse
 
jehrhardt profile image
Jan Ehrhardt

No, I am using a Linux laptop myself.

Thread Thread
 
rsa profile image
Ranieri Althoff • Edited

Huh, weird to hear "when you buy a computer, just use what's on it" and "let hardware and OS be someone else problem" in that case, we Linux users have a long list of issues with computers not coming with our preferred OS and hardware not available/poorly supported due to corporate policy. But I guess I get much more annoyed than you by that :P

Thread Thread
 
jehrhardt profile image
Jan Ehrhardt

I bought a laptop designed for Linux.

To be honest, I have gone through installing Linux myself many years and I have used a Mac in the past as well.

I find Linux important. But things have changed (WSL 2 on Windows, VS Code devcontainers, k8s, AWS Lambda) and installing an operating system and dealing with hard ware problems is nothing developers need to know anymore 😉

Thread Thread
 
rsa profile image
Ranieri Althoff

Sweet laptops. And with Coreboot incoming :)

Thread Thread
 
cpustejovsky profile image
Charles Clinton Pustejovsky III

How do you like it? I was looking at System76s Laptops for personal use.

Thread Thread
 
jehrhardt profile image
Jan Ehrhardt

It is nice and does its job. The quality is great.

Collapse
 
aibarra11 profile image
aibarra11

I agree, new devs should learn linux. If you're on Windows, WSL2 is the way to go. This has been a game changer for me. Fortunately, my journey into servers also happened the same time WSL was getting better. WSL2 is awesome - especially if you use docker. I actually tell some up & coming developers who use windows to start developing strictly in WSL2. So it becomes their "developer" world/environment. This builds confidence working in a command line, so when they're asked to get into a container or a dev server, they aren't shy about it. I use Ubuntu with WSL2 - seems to have the best compatibility with docker from experience. Also very excited for the ability to add a GUI for WSL2.
I also do graphics work and game on my windows 10 machine. Windows 10 is now a great (combination with WSL2) for development.

Collapse
 
elmuerte profile image
Michiel Hendriks

WSL, even with 2, is quite a broken hack. A lot of things simply do not work correct. One enormous issue is time, it is almost constantly wrong.

Collapse
 
aibarra11 profile image
aibarra11

oh really? I don't really pay attention to time in there. I know there were some serious issues before, networking for example, but updates took care of that. wsl2 works well for what I use it - VS code remote and docker (docker compose not k8s). I do mainly php, Node.js work

Thread Thread
 
elmuerte profile image
Michiel Hendriks • Edited

In WSL2 there is also a memory issue due to normal Linux kernel behavior of disk caching. This will cause VM to eat into your normal memory.

See github.com/microsoft/WSL/issues/4166

Thread Thread
 
aibarra11 profile image
aibarra11

whoa. and the issues is still open 😅.
thanks! I'll keep an eye out for that. currently seeing only 250mbs of memory being used by it.

Collapse
 
manishfoodtechs profile image
manish srivastava

👍👍

Collapse
 
titanhero profile image
Lex • Edited

I think tha GnuLinux is more cool because you can manipulate the system at will and it's Open Source, but anyway the people should use the system which they feel more comfortable, but being honest GnuLinux is the better choice...😉😁👍✌️

Collapse
 
anzhari profile image
Anzhari Purnomo

I got Ubuntu 7.04 Feisty Fawn as my first Linux distro, back when Canonical were sending Ubuntu installation CDs all around the world, and then I got interested to try to build my own linux kernel and my own distro from source using Linux From Scratch on my spare time.

I am really glad that I did the Linux From Scratch thing, as it really helped me understand how computer works.

Collapse
 
cpustejovsky profile image
Charles Clinton Pustejovsky III

Oh thanks for the link! It is WAY past time for me to dive deeper into Linux

Collapse
 
anzhari profile image
Anzhari Purnomo

Yes, of course. Priorities sets in, then suddenly we need to focus on paying taxes and utility bills. :))

Collapse
 
anirudhrowjee profile image
Anirudh Rowjee

Most of what I know today as a developer wannabe, I know because I was messing around distro-hopping from the times of ubuntu 14.04. Breaking something is the best way to learn how it works, and linux is one of the best places for this to happen because of the community support.

Collapse
 
bradtaniguchi profile image
Brad

I jumped into Linux before I was even close to ready. It was one of the best decisions I've ever made.

When I started college most kids where showing up with brand new MBPs, Surface laptops, or even gaming laptops, while I was lugging around a 5+ year old, 15 inch brick that just ran SLOW.

Solution: kill 2 birds with one stone, and dual boot with Linux, specifically the latest Ubuntu. After a weekend of setting it up and working out some kinks I had my Linux install along with windows.
After about 1 semester of "playing around" in Linux I figured out how to do the basics, and committed to full time Linux as I found myself never in windows. Since then I've used Linux as my primary development environment and haven't looked back.

I still use Windows from time to time for other tasks, but Linux still is my main platform.

Collapse
 
vineet192 profile image
Vineet Kalghatgi

I recently switched to Linux and I'm loving it ! I'm using Pop_os! and it is incredibly clean and polished. With such user friendly distros out there, newbies nowadays won't face much problems getting into Linux, they just need to make that initial leap.

Collapse
 
cpustejovsky profile image
Charles Clinton Pustejovsky III

Oh absolutely! I need to play around with Pop_os!

Collapse
 
abdisalan_js profile image
Abdisalan

I can second this. It’s terrifyingly hard to do a tutorial on windows when the instruction is on Mac/Linux. I got through college on Ubuntu until I did my first internship and I’ve been Mac every since — my job pays for it so $$ hasn’t been an issue luckily.

Collapse
 
scroung720 profile image
scroung720

I believe that knowing Linux is a very valuable skill. I got my first job because my soon to be employer was impress because I listed Linux as an skill. For many guys on that company Linux was like dark magic.

Collapse
 
jcsh profile image
Justin Ho

I agree, it's been one year since I've switched from Windows to Fedora and I haven't looked back, even for gaming.

That being said, it took me the course of 3-ish years from when I first installed Ubuntu, went back to Windows, and repeat until I finally felt confident in using a Linux system full time.

So if you're a new developer and you didn't make Linux work for you the first time, don't worry about it, you'll get there. Or just use WSL2.