I'm of the philosophy that if you want to improve as a developer, hacker or even as a person in general you owe it to yourself to start optimizing you work flow. So I have found out that the way I try to optimize my work flow if via this two methods:
So I'm about to elaborate more on both of these points and you will eventually understand what is my definition of optimization that I'm talking about, so hear me out.
I use Linux...
"I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux."
Well, with that been said, I use Linux. And for all of you elitists out there no I don't use Arch, yet, as my daily driver. It does not matter which distro you use because I'm here to talk about optimization in your workflow and thus I'm going to talk about Tiling Window managers.
So to be as brief as I can be, what is Window Manager (WM)?
So imagine this, lets say you open Vscode on your screen, when you open the application it is opened full screen. Now lets imagine you open up a browser because you want to look for some kind of documentation, now with a Desktop environment the window of the browser will either open fullscreen and cover Vscode, or it will open in a small window obfuscating your view again and then in order to resume your work you can either move the window out of your view, which takes manual labor, or keep AltTabing like there is no tomorrow. Now when you use a WM your screen real estate is cut in half (horizontically or vertically, it depends on your shortcuts) every time you open up a new window, and yes you CAN (although you are not encouraged to do so) make the windows float in your screen, much like a normal DE would do.
I mainly use Linux for programming, creating documents, browsing the web (boomer language) and pen testing. So, in order to be as productive as I can be I use a Window Manager. So why not use a normal Desktop Environment you might ask, because Tiling Window managers are more snappy, in more cases far more snappy, and quite frankly you utilize your entire screen real estate to the max. Now I know that someone can argue that YoU CaN HaVe ShOrTcUtS oN YoUr D.E. but if you are using a WM (Window Manager) you can, and you are encouraged, to add custom shortcuts and you can add the all the modules that you need to be displayed on your screen and not rely on Canonical, and every company in general, to roll out a miraculous update that is tailored to your needs because trust me, it will never happen. If you delve in more deeply into the WM world you will eventually unterstand the productivity benefits that it has to offer, and this comes with time and research, BUT I can tell you that it will take some time getting used to it, initially, but in the long run it will benefit you greatly. So DON'T expect to replacate your previous workflow but instead expect to replace your current with a brand new, more optimized, experience.
So we saw how just by changing our working environment we can boost our productivity and enhance our "power user" experience, but that's only the first point, now we can talk about Minimalist software, and no I'm not talking about full hardcore minimalist software, I'm talking more about "normal" minimalist software.
Now before a couple months I started to use Vim keybinds for almost everything I can use them from, so it comes as no surprise that I also started using Vim as my text editor of choice, especially for small to mid tier projects and for all the basic "text editing" tasks. Now Vim is not only a text editor but it provides you with a plethora of functionalities that before switching to Vim I had to either do them manually by hand or I had to find a specialized software that gets the job done OR the task was all in all impossible.
After I reliazed how a minimalist software like Vim has some basic functionality but is extensible if you spend time to it I realized that I want to take a more minimal approach to my workflow and I replaced all the software that was "bloated" with some minimal alternative (i.e Nautilus File Manager -> Ranger, Adobe Acrobat -> Zathura, VsCode -> Vim etc.). Now not only I get the job done, I get the job done much faster most of the time and also my PC is much happier that I don't have this bloat on my PC that takes about 5 toasters worth of energy and an "I'm going to bring some water" on start up time. I can't understand how people use IDE's that take a solid 2 minutes (at least) to start up and a fuck ton of resources so that your PC thinks it runs a 4D simulation.
So if you want a TLDR from this article it would be something along the lines of:
"Linux is free if you don't value your time."