loading...
Cover image for Beginner Devs Should Use Linux... Maybe

Beginner Devs Should Use Linux... Maybe

cpustejovsky profile image Charles Clinton Pustejovsky III ・2 min read

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.

Posted on by:

cpustejovsky profile

Charles Clinton Pustejovsky III

@cpustejovsky

I love programming, golang, and solving problems that help people

Discussion

pic
Editor guide
 

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.

 

Let me guess: you are on Mac, right?

 

No, I am using a Linux laptop myself.

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

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 😉

Sweet laptops. And with Coreboot incoming :)

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

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

 

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.

 

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.

 

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

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

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.

 
 

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.

 

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

 

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

 

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...😉😁👍✌️

 

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.

 

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.

 

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.

 

Oh absolutely! I need to play around with Pop_os!

 

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.

 

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.

 

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.

 

not good if you have a 128GB SSD and 1TB hard disk. Installing linux on SSD causes a storage crisis as you would have to install other applications on the same drive.

 

How come? You do not have a mandated location to install applications with Linux, install whatever you want on the SSD or the HDD.

 

You cannot do sudo apt install someApp and install the someApp on the hard disk

 

Have u tried the new windows terminal? How is that compare to linux shell?

 

The new windows terminal is sleek, but in the end it's just a GUI.

You can always find a terminal emulator that you like or just customize / build you own. I use Alacritty for example.

There are more substantial benefits to linux such as filesystem, package management, programming support etc.

 

I was trying to develop Electron applications and I didn't find a way to make it work on WSL.

 

I'm wondering what computers Linux developers own?