So, here're details. You're probably not interested, but I like to write this stuff down sometimes to refer back to in the future. I could do this in a text file and not put it on the internet, but in all likelihood if I intended to do that I'd never get around to doing it.
The first and cheapest piece of the puzzle (ironically, the step I performed last) is to buy all the RAM. Seriously, these days it only costs a couple hundred dollars, max., to buy 32GB of RAM. (I fondly remember when 32MB of RAM was a lot. Good old Mac Plus.) While 8GB is plenty for most people most of the time, if you ever have a greedy programme that eats up your virtual memory and starts paging to disk it's not fun. 32GB doesn't exactly "solve" this problem, but gives you much more headroom.
When I start doing crazy simulations in Matlab or horrible integral solutions in Mathematica, this extra RAM helps a lot.
(I bought my RAM from Crucial; they seem cheap and good and fast, which I thought was impossible.)
The second piece of the puzzle is monitors. It turns out that if you know where to shop you can get totally ordinary but totally fine 27" monitors for only a few hundred dollars. (I bought my monitors from Kogan.) I've always preferred larger screens to multiple displays (I suspect because of the Mac approach of having multiple windows on-screen at once), but once you hit 27" there's not much choice (although I look enviously at the new extra-wide-screen displays that are now hitting the market and figure that's where I'll be in, oh, five or so years). The iMac can drive two 27" screens without too much hassle — the only problem is arranging your desk so you can see everything!
I use my additional screens almost exclusively for dedicated tasks; email and messaging on one, and calendar and todo/reminders on the other.
I'm quite behind the curve in terms of Retina displays; my old Macbook air and both my home and work iMacs are still in the good old days when fonts like Monaco still looked like they were supposed to. I'm not looking forward to buying a Retina MacBook at some point and realising that my desktop monitors all need to be upgraded!
Finally, the most important piece. Anyone who's upgraded to an SSD drive will know how much of a difference it makes. It's shockingly different; no other upgrade I've ever made to a computer has been as significant. So when I couldn't stretch the work budget to buy an iMac with an SSD, I knew I'd be going backwards to some degree.
I didn't realise how much I'd be going backwards. Whether I have a slightly defective drive, or I'm just used to the SPEED of a modern SSD, even things like opening a Finder window and having to wait for folders to appear became interminable.
So the only solution was to boot from an external drive. So it was Thunderbolt or nothing, as far as I was concerned, and I'm quite surprised how few Thunderbolt enclosures exist at the moment (and how expensive they are).
I bought the OWC Thunderbay Mini 4, with two 500GB Samsung EVO SSDs in a RAID configuration to make them appear as a single disk. While expensive, I've been extremely happy with this approach. My one complaint about the Thunderbay Mini is that it's not completely silent — the fan does make audible (although not loud) noise. I might look into housing it tucked away somewhere behind and underneath my desk to reduce the noise, but most of the time I don't notice it. (General building noise is just as loud.)
Having an endlessly-upgradeable amount of storage is liberating. Simply don't need to worry about space on this machine (not that I do much that involves generating large amounts of data). Cheap to buy another drive, and simple to merge it into the RAID array. I was curious whether booking from an external Thunderbolt drive (with a 27" monitor daisy-chained to it) would be robust. It is. I don't recall an occasion in which it didn't just work, although generally when restarting I am required to select the startup disk.
I've been trying to sort out a data syncing / sharing solution that works seamlessly between my computers. I should really have just gone with Dropbox from the very beginning, as that's been the most reliable service I've used to date. However, one thing Dropbox isn't great at is discretionary syncing; while you can omit certain folders, that's perhaps a little too coarse for my tastes.
I was very taken with Bitorrent Sync for a while. I had set up my work machine as a "master" file server, to and from which my home computer and my laptop would "selective sync" where necessary. This solution was fast, worked well, and it has the great feature of working over a local network. I had one minor complaint with the way selective sync couldn't be enabled for, say, a single folder in a hierarchy — it was too granular in its syncing options. That was only a complaint, though.
But after I upgraded to El Capitan, BitTorrent Sync basically just stopped working for me. It was bad enough that folders simply wouldn't sync — I tried removing them and re-adding them, and it'd just stall after loading up a few folders and never make any files available for syncing. But worse, at one point the Bittorrect Sync clients must have been confused (or in my debugging attempts did something I shouldn't have), and I had whole directory structures get wiped out. Needed to restore from a backup, which wasn't fun trying to work out what had survived and what had not.
So whatever the problem there, I needed a replacement, and since I was paying a few dollars a month extra for more iCloud space (for phone backup) I figured it couldn't hurt to give it a go. Despite Apple's reputation in the software services arena, I've found it quite good so far. iCloud appears to be something of a hybrid of the Dropbox/Bittorrent Sync model, in which files only sync upon request. So I can have 50GB of files in iCloud even though I don't have 50GB of free space on my MacBook Air.
I still do use Dropbox for a variety of syncing things, but only out of habit. iCloud has been sufficiently reliable that I'm willing to trust working with it for the time being.
I still feel like we're in an awkward transition period here, and one day we'll simply be able to log into whichever of a variety of computers we own and just keep on working where we left off elsewhere. It's not great having multiple project hierarchies, for storing "local files" which are just a bit too large to store in the cloud sensibly. I often feel like my files are spread all over the place, and this doesn't help. I suppose eventually it will just feel normal to drag a 1GB folder to the cloud, but to me now that seems very heavy.
I am particularly unsure about how best to manage version control repositories alongside cloud syncing. While it's possible to store a Git repository in Dropbox or wherever, it's definitely not advised — I have had one scenario in which the repository became corrupted because an internal Git data store file didn't sync correctly. (BitTorrent Sync again, I'm afraid.)
So at the moment I have another parallel structure for (mostly Github) repositories that I push from and pull to. But it's also nice to have some local files in a repository for testing and development that realistically won't ever be added to version control, and of course these aren't synced. I think I just need to be more disciplined in adding all my working files to version control and make sure they're arranged sensibly, but that doesn't help the fact that again a parallel folder structure is required to organise all these repositories.
Oh yeah, I almost forgot about backups. Annoying things. I've currently got two spinning magnetic hard drives; one inside the computer (of course) and one external. One is used for Time Machine, and the other for "SuperDuper!" clone backups.
At home I've had trouble working out the right frequency of backing up so that the drives aren't constantly spinning up and copying things across (which takes a while when you're syncing two external 1TB drives). I've also had a hard time scheduling automatic disk ejection so that the drives aren't always buzzing away, even when not syncing.
It will be really nice when we don't use spinning hard drives any more.
My system is certainly not well tested, nor is it robust. Perhaps one day I'll look into using something like Backblaze, but for the time being I haven't been bitten (yet) by failing hard drives. Only a matter of time, though.
So that's how my working life is organised at the moment. For my iMacs, although somewhat aged, I feel no need to replace for the foreseeable future. I'm not upset by this.
My MacBook Air does struggle, sometimes, with its 4GB of RAM. It's the fourth Apple laptop I've owned since 1999:
1999 2nd-hand Wallstreet Powerbook
2003 12" Powerbook (best screen size ever)
2008 13" White MacBook
2012 13" MacBook Air
Never been into the big and powerful (and expensive) laptops, obviously. I'd say the MacBook Air still has a year or so of life left in it. Just enough time for Apple to sort out its weird mess of laptop models and pricing and bring out a truly great Retina MacBook. (The lineup is not as bad as it was, but surely they can consolidate their product line soon.)
When I first got the MacBook Air, it was by far the fastest computer I'd ever owned, on account of its SSD. I still rarely am bothered by its low-level specs, although there are some annoying pauses when waking from sleep and so on. It took a couple years for the MacBook Air to hit the sweet spot for cost and performance, and I feel that the Retina MacBook will be at a similar level either this year or next.
Of course, perhaps by then I'll be doing all my work on an iPad Pro and won't need a laptop any more. I'd consider that option fairly unlikely, but you never know.