One of the interesting things to watch with any person who is good at their craft is the tools that they use and the unique combination of tools that works for them. What works for one person usually doesn't work for another, but it's often interesting to see what tips and tricks I can learn from others.
Since my kids were born, one of the things that I've been trying to do is to be "lean and nimble" with my work. Nimbleness, for me, is being able to do work anywhere, at any time if needed. I have clients where I am both their senior developer and their operations person. I don't want to lug around a laptop all of the time to be able to support their needs if I don't need to. I'd rather have just my phone.
As I've mentioned in other blog posts, I make a lot of use of tmux and also [mosh]. I love tmux because I can have everything that I need running and then be able to move back and forth between projects or other things that I'm doing easily. I can disconnect from my home network and tether to my phone and by using [mosh] and tmux, I just open my laptop back up and keep working right where I left off. That's amazing.
Like many people that I work with, I've used a Mac for a good bit of my development career. Why? They just work. You pay a significant premium for that ability. I purchased a Macbook Pro in 2015 and it's been great for most of that time. It's been the perfect laptop for some of the places that I've worked. Lately however, given some anecdotal stories from a few friends, I think that Apple's focus on "just works" has slipped with the latest generation of Macbooks.
Because I'm on the "lean" kick recently, I moved my development environment to a Linode and am loving it. I'm sure that I'll want a full featured laptop someday, but for right now, I don't need it. I purchased a Chromebook as a test computer for some other work that I do with schools and I've been using that as my "daily driver" for a few weeks now. It's REALLY nice having more battery life, a lighter laptop and a touchscreen not to mention all of the Android apps that I use on my phone and tablet daily.
One of the best things about optimizing for the Chromebook and for working in the cloud in general is that I can easily jump down to a tablet with a keyboard and I'm not missing much at all, especially with the advent of termux for Android. I've yet to see how far I can push termux with Ruby and all of that, but for most of the work that I do with [mosh] and ssh, it's absolutely perfect.
On the last business trip that I needed to take, I did my work on an older Nexus 9 with a keyboard and it worked just fine. It's getting a little long in the tooth and needs to be replaced in the next year or so, but it's a perfect step down when I'm not at the Chromebook with my external display.
One of the other benefits of working on a Chromebook is that if someone steals the Chromebook or I lose it somewhere, I've lost a $200 piece of hardware. I can get another one easily, sign into my account, load up my apps and I'm back in business within 30 minutes or so. True, you can be back in business quickly with a Mac and scripts, but that's $2000, rather than $200.
All of my work apps are also Docker containers. That makes it really easy to scale up or down as needed. I can put these containers on most public clouds and only pay for the time that I'm actually using them.