As a Developer, one of the biggest fears I had always had was switching Operating Systems. I always had this belief that using Linux would be a challenging experience. However, after using Linux for about a month now, I believe I've made the best choice.
By default, most retail computers arrive fully installed with Windows, which also made it less likely for me to consider switching. Another aspect is that from a young age, I was already exposed to Windows and I have seen the evolution of Windows since the early builds of Windows 2000 & Windows XP to its latest build, Windows 10. However just as Windows was evolving, Software Development & its practices evolved too. Recently I have been going through an issue that hindered one major aspect when it comes to work, which is:
The amount of time that it took me to build and release features wasn't very optimal. The reason for this was that our development team has adopted a Continuous Integration approach which involved me using Docker as our standard DevOps tool. They only plausible solution was using Docker on a Linux PC but the decision of switching operating systems was daunting because I've always feared using "Terminal".
Using Ubuntu 18.04.1
My transition from using Windows to Ubuntu was not quite what I expected. I've always had this misconception that everything was done through the terminal. That misconception easily became a myth once I started getting into it. One of the few things that helped with setting up Ubuntu was finding the following Github repo:
This helped make it easier to install everything that I needed in the terminal. And since then, it's been easier in terms of my work progress, and I felt that my work flow had substantially increased.
My Experience so Far
If you're a developer and have been facing issues with Windows in terms of setting it up for a Continous Intergration (CI) approach or finding the performance of Windows to be appalling, I'd honestly recommend switching to Linux as there are various perks to using it. I've listed a few I've noticed below:
- Linux is Open-Source & Free - So unlike Windows, Linux is free for anyone to download, configure and use.
- Working with Remote Linux Servers - Most hosting services and servers are linux-based so one can easily use SSH to access a server without having to install any extra software.
- Terminal Integrated with ZSH - One of the best tools to use when working with Linux is ZSH as it's configured to work well with a number of packages and libraries. This makes development in projects a lot easier with plugins such as auto-suggestions to remind you of your previous commands.
- Overall Performance - The performance of Linux is so much better than Windows when developing. It is a lightweight operating system and works really well with Docker and other development tools.
To conclude this post, I'd recommended switching over to Linux for more effective development process for Developers. It will increase productivity.