I sold my desktop, and now use a cheap £200 garbage laptop as a thin-client to my machine. Not only do I get incredible compile performance due to being able to use 16 core Xeon's, but I am not tied to any desktop.
I can whip out my phone and pop open a tmux session from anywhere, in an emergency I can hop onto a friends computer and thanks to SSH 2FA fearlessly login to my dev system with my full environment that I never have to close.
At this point, I would actively avoid jobs that wouldn't let me work this way. Currently got a sweet remote gig and I'm going to fly to Spain next week and spend a couple of weeks coding on the beach with my 3G tethered laptop.
Edit: Just to clarify, I don't need to work in an IDE or use any Windows software that I couldn't tunnel over X. So it might not work for everyone. Just wanted to give an example of it working out great for someone.
Except on airplanes.
(Someone will now come out of the woodwork to remind us of when they did all their development over a 300-baud serial teletype, uphill both ways)
However, at home, I would routinely login to the same remote computer and the latency was horrible, every typed letter was delayed a tenth of a second or so. I wasn't about to spend a fortune on a dedicated line to the work servers.
The point is, when you're working remotely, you're totally at the mercy of the network. If the network is down or flaky, you can't get anything done.
It's more noticeable when jumping around the code, but I've found that such activities are not as intolerant of latency.
I could imagine a middleware doing similar cheating for shell, but in general, you'd have to have a stripped local version of software doing local simulation to ensure videogame-like smooth experience.
You can do it from anywhere; you don't need a powerful local machine; controlling what devs do is easier; etc.
3 of my last 4 contracts have been development on remote machines. It's perfectly fine unless you somehow have abysmal networking (and then you really have bigger problems.)
> You can do it from anywhere; you don't need a powerful local machine; controlling what devs do is easier; etc.
I can do that from my mobile too. There is absolutely no comparision with the "powerful local machine". And yes, you do need a powerful local machine, unless you are just writing text.
That's not exactly a benefit for the dev.
> You can do it from anywhere; you don't need a powerful local machine
That's fair, but arguably, that's an argument for CEO to own an iPad, so that they can log in to company network from whatever country they happen to be in this week. For regular employees, that seems like introducing a stupidly huge amount of pointless friction into the dev process, which will directly impact productivity.
I do 90% of my personal development on remote servers too.
If you already take the local terminal around with you, then there's really no benefit to "You can do it from anywhere" as that's 1) not true, you need an Internet connection, and 2) you can do the same thing, even offline, with a halfway decent laptop.
If you want to work from a terminal and log onto a server remotely to get stuff done, that's absolutely fine, each to their own! Just please don't paint it as better than having your local setup on a laptop, since it's not really. Apologies if you weren't saying that, but it came across as such.
Nope, wasn't doing that at all. Just pointing out that you can't apply a blanket "It's not as good" like many commenters are.