It’s 2018. Why are we still developing on desktops?

Photo by Lewis Ngugi on Unsplash
In late 2017, I spent a solid grand to overhaul my work/gaming desktop. My trusty Intel i5 2500K was chugging along just fine, but it was showing its age when doing anything development, with Slack regularly using way more RAM than a chat app should, my 8GB RAM just wasn’t enough anymore.
I don’t regret this investment in the least—I’m running lots of development tasks faster than ever—but it got me thinking about the vital importance we place on our primary computing machines, from laptops to desktops. With so much power in the cloud, why do we rely so heavily on traditionally unreliable (and expensive) hardware? [cta_inline]

Why does remote development make sense?

Remote development has some unexpected benefits that you might not have thought of. It’s not equivalent to merely translating your local machine into the cloud.
Your development is not reliant on your hardware. There’s few things more tedious than getting your development environment running, only to have something crash, forcing you to reboot and repeat the process all over again. With a remote server, you can reboot your local machine, or even switch to another one entirely, and your development environment is there waiting for you. This even applies to more extreme situations, like a hard drive failure or theft.
Your development isn’t limited by the speed of the device you’re using. Because your code runs remotely, you can use slower devices like an iPad, a Chromebook, or even your smartphone. Or, maybe more practically, your in-law’s decade-old Dell while you’re visiting over Christmas.
It’s an excellent way to learn more about Linux. These days, you can pretty easily get terminals and command line (CLI) tools on Windows and OS X, but there’s a good chance that your web app or site will eventually run on a Linux-based server. The earlier you learn about Linux administration, the better, and even setting up a proper dev environment can be an intensive learning experience in and of itself.
Easily share your dev environment with others. Instead of trying to figure out how to route your localhost to the internet (which is inherently insecure), you can share your dev server’s localhost: http://<SERVER-IP-ADDRESS>:3000.
Cloud hardware is cheaper than your desktop (and especially your laptop). I just spent $1,000 on a Ryzen 1600, 16GB of DDR4 RAM, a motherboard, and a few other things. Or, for $[price]/mo, I could get a 16GB RAM server from SSD Nodes, which is powered by four cores of Intel E5 server-grade.... Read More