How to select a device and an Operating System for programming and web development. (A reliable guide)
Tags: programming, laptops, beginners
Published: 2022-01-19 18:46:59

This guide is based on my personal experience I have faced while choosing a device for my workflow.I am a web developer. At the very beginning of my web development, I used to code on mobile phones. I was comfortable with that setup at the beginning. Gradually, I felt that coding on a mobile phone is very slow. Then I changed my coding from mobile phone to a tablet connected with a keyboard. It really helped me to increase and improve my typing skills and my familiarity with keyboard and the alignment of words in that. I continued coding on that tablet for about 6 months. At that time, I got my first laptop...Before telling anything more, let me explain about the different OS. As you all know, the most popular 3 Operating Systems are :-
- MacOS
- Windows
- Linux

I used Windows in the laptop for the first three months. I found it so messy to use because of the different file partitions and folders. Also, if an update is going on, it will take a lion's share of my time. So I started searching for a fast, secure, reliable and easy to use Operating System. I learnt about the different distributions of the Linux system and their usages. So I planned to install the most beautiful looking distribution of Linux:- Zorin OS 16 Core edition. After installing that, my laptop started performing much better than Windows. The benefits of using the Linux OS is, it doesn't needs an antivirus. It is way more secure than the Windows. Second thing is it needs less reboots for updating. It just feels like restarting your computer. Third thing is, you can choose the distribution as you like. According to Wikipedia, there are over 100 distributions of Linux. So, you can choose the one fits perfect for you. My recommendations of choosing different Linux distros for different category of people are these:

**~For beginners**
1. Ubuntu
2. Zorin OS
3. MX Linux
4. Elementary OS
5. Linux Mint
6. Pop!_OS

**~Linux distros for servers**

1. Ubuntu Server
2. Red Hat Enterprise Linux
3. SUSE Linux enterprise Server
4. CentOS 8

**~For intermediate users who have a little experience using Linux**
1. Fedora
2. Manjaro
3. Debian
4. CentOS

**~ For advanced users**

1. Arch Linux
2. Gentoo
3. Slackware

**~Linux distros for old computers**

1. Puppy Linux
2. Bodhi Linux
3. Solus Bridge
4. antiX
5. Sparky Linux

**~Top 10 distros for programmers**

1. Ubuntu
2. openSUSE
3. Fedora
4. Pop!_OS
5. elementary OS
6. Manjaro
7. Arch Linux
8. Debian
9. Raspbian
10. Nitrux

**~Best Linux distros for ethical hacking**

1. Kali Linux
2. BackBox
3. ParrotSecurity OS
4. BlackArch
5. Bugtraq
6. DEFT Linux
7. Samurai Web Testing Framework
8. Pentoo Linux
9. CAINE
10. Network Security Toolkit
11. Fedora Security Spin
12. ArchStrike

I've given the best choices amongst all of the Linux distros. Now let's take a look into the Laptop/Computer section.
    Buying a device is a little bit confusing procedure. You may be in confusion about a lot of products in the market. Some brands offers best durable laptop while others offers the best looking laptops. So choosing a laptop of pc should me more careful. If you are a **Web Developer**, basically, you only needs a laptop with the capability running the text editor you use and the ability to open the browser. Clearly saying, you need a minimum of Intel core i3 of AMD Ryzen 3, 4GB of RAM, and storage type of SSD will handle all of your work perfectly. If you are a **Mobile Developer**, the scenario will change here. The IDE you use for developing mobile apps (Android Studio) is a monster. It is a heavy IDE of about 3gb file size or above, and it comes with all of the necessary tools for the app development.Here, you need a 'minimum' of Intel core i5 or AMD Ryzen 5.(Try to pick the latest generation of these processors. Because it will be better than the previous generations. And a minimum 8GB RAM, and SSD is not preferrable, it is a must. Because if you choose a laptop with HDD type storage, the work will not be completed after one eternity. All other category such as **Backend Developers**, **DevOps Engineers**, **Artificial Intelligence Engineers**, needs a laptop with Intel core i5/ Ryzen 5 or above, a decent amount of RAM and a storage type of your choice. Here, an important thing is to remember: _An expensive laptop will not make you a good developer or programmer_. It requires continuous practice and dedication. Try to code daily, learn new things everyday and keep your knowledge updated always. Because, IT field is changing always. If you fails to keep you updated, it will seriously affect your career in IT.

Make a wise choice that will help you and start coding right now. Happy Coding!