When I first started at my current job, day 1 included getting my laptop set up, which at the time (and I think still, but to a lesser degree) mean "run boxen". Problem was that I was the first employee to start completely on boxen, and long story short, it left my computer in a bit of a confusing state. I'm not trying to bash on boxen here, it's a great tool and has worked very, very well for the majority of use cases in our office, but our configuration wasn't the best back when I ran it, and subsequent runs only seemed to cause more issues.
Skip ahead a few years and we have almost removed the need for boxen from our workflow. We have been moving towards a microservice architecture, primarily using Node, deploying with Docker. With this setup, we only really need either the toolchain for running the microservice in development, or Docker to handle it all for us. I'm in the former boat—I just use Node locally for the majority of my work at this point.
So that sets the grounds for where I'm going with this post. Between my computer being messed up, getting to a place where I just need Node and nothing else, and mixing that with back pain I began to get after carrying my laptop to and from work (walking), I realized that I could probably work entirely on a remote box. So I gave it a shot.
I have used Linode in the past for a lot of my projects, and so I am pretty familiar with the management and setup of a Linode box. I've always liked their platform, and their pricing is pretty solid. Twice, they have updated my hardware for no extra cost. I can't recommend them enough to someone looking for some playground servers. At that, I went ahead and set up a slightly more beefy linode for personal development. I cloned my configs to the box and began setup.
I love Sublime Text. I've got keys for two versions of it, and I thought I'd be a Sublime user forever. It was really hard to give up the editor that I had done so much in, but I wouldn't easily be able to get my remote environment standardized if I held on to it, so I gave Vim another shot.
I love vim now. And its free, so I don't need to get keys for any versions of it. Don't get me wrong, I still think Sublime is great, but after a few months of vimming, I find myself feeling, in a weird way, "closer" to my code. Beyond that, it gave me a bit of excitement to be trying something new again. Vim is great, and if you haven't given it a shot, well, it's got a hell of a learning curve, but there is a reason people still use it. Try it.
So here I am now, about a month or so into working entirely on a remote box. I am able to leave my laptop at my desk when I go home, since I can just remote into my dev machine and work from anywhere with a terminal. I'm working in the same operating system as our deploy servers, so I feel that my dev environment is closer to the real deal. I've got a tiny domain name pointing at the server, so I don't need to memorize an IP and have it change on me every day when sending someone a demo link. My back pain is nearly gone from lugging the laptop around, and with tmux by my side, I've really seen no loss in personal development speed.
I'm hoping I can continue to work this way. It is totally contingent on my project, but for the time being, I don't want to go back!