Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sat24

macrumors regular
Original poster
Sep 2, 2019
230
146
Looking to upgrade my development rig. Software developer during my dayjob and looking to branch into multi-platform development and into a Software Architect role eventually. I code in Visual Studio/.NET Core/VSCode/React/etc. (full stack). But learning Swift and XCode for some macOS/iOS development chops.

My requirements:
1) Work great for at least the next 5 years
2) Need to run Windows (I develop win32) and Linux (for containers) simultaneously alongside macOS; planning to do that via Parallels
3) Portability
4) Expandable (as much as possible; e.g. external solutions (eGPU, SSD) are fine)

After briefly entertaining an iMac 27incher, I decided portability is a big factor. So I am thinking of the following MBP configuration. Thinking of buying refurbished. Suggestions/feedback for any changes welcome.
  • Originally released May 2019 (i.e. no 2018 models due to throttling)
  • Touch Bar with integrated Touch ID sensor (ugh)
  • 15.4-inch (diagonal) LED-backlit display with IPS technology; 2880-by-1800 native resolution at 220 pixels per inch
  • 32GB of 2400MHz DDR4 onboard memory (for Parallels/VM use)
  • 1TB SSD1 (min. for storing all those VHDs for VMs, and I do a bit of photo/video editing in FCPX)
  • 720p FaceTime HD camera
  • Radeon Pro Vega 20 (this one not sure if I need; could do easily with 560X for my coding needs; but the Vega20 is just $130 more in refurb so ... tempted)
+ Applecare

Going to cost me an arm and a leg :D, but my last MBP was from mid-2014 (also refurb), with i7 quadcore, 16GB, 512GB SSD, Iris Pro; it was top of the line and cost quite a bit, BUT it has pulled thru 5 years charmingly. It still is my workhorse but a bit slow for heavy duty development tasks. Love the keyboard tho, feels like a downgrade going to the butterfly keyboard. (I might sell it)

Also I have a 27" 4k Dell monitor lying around which I figured I could couple with the MBP to create a home workstation rig of sorts later if I like that. Like the option of an eGPU later if I have a need for more powerful GPU for video editing perhaps.

No gaming on this box. (well, ok, may be some very light Steam gaming for which the Vega 20 is all good)

Thanks!
 
  • Like
Reactions: ruslan120

ruslan120

macrumors 65816
Jul 12, 2009
1,417
1,139
Looks solid to me. The only thing that might be excessive is the graphics, especially when it comes to development work, but agreed that it’s a smart move if its not much more expensive since it’s non upgradable.

I was looking at a similar configuration and decided to go the iMac + base 13” MBP configuration route, around the same price as a spec’d MacBook Pro, since desktop performance is hard to match and I had the ability to upgrade to 40GB RAM (not that you would likely need that much for development work). How often are you on the go?
[doublepost=1568091487][/doublepost]The only thing that seems missing from a completely perfect setup here with your MBP is a vertical dock for easy connection with an eGPU / additional storage.
 

sat24

macrumors regular
Original poster
Sep 2, 2019
230
146
The iMac + base 13" Macbook pro is an ingenious solution!

For e.g. an iMac 27" i5 6-core with 16GB RAM and 512GB SSD is $2200 refurb. 13" MBP is around $1200? So I guess for a little bit more, you can get 2 machines. Nice.

re: how often are you on the go?
Not very often :) But I want to be able to in the near future. More importantly, I like to sit on my bed and code. I cannot seem to get it out of my head that an imac is going to be stationary and my professional experience with a Mac has always been via a MBP... so I may be (heavily) biased. But given I do have the 2014 MBP 15" already, perhaps I might be better off with an iMac (pricewise)... hmmm. For that matter, perhaps even a mac mini + my 4k Dell 27" may be more cost effective.

Hmmm, more to think about for sure.
 
  • Like
Reactions: ruslan120

zakarhino

Contributor
Sep 13, 2014
2,615
7,006
+1 LGTM on the config. Go for the upgraded GPU especially if you plan on plugging in external displays. Currently I have my MBP with that same GPU hooked up to a StarTech dock + landscape 32 inch 4k display and a vertical 27 inch 1440p display. Works like a charm (mostly).
 
  • Like
Reactions: ruslan120

theluggage

macrumors G3
Jul 29, 2011
8,032
8,476
But given I do have the 2014 MBP 15" already, perhaps I might be better off with an iMac (pricewise)... hmmm. For that matter, perhaps even a mac mini + my 4k Dell 27" may be more cost effective.


An iMac is always going to give you more bang per buck - especially if you really need 32GB of RAM (I'd get the base 8GB, add 16GB from Crucial or suchlike to get you to 24 and see how that works out) and you can run the 4K dell alongside it for tonnes of "real estate".

Bear in mind that, certainly if you're doing web development and don't need to run GUIs or graphics renderers on your VMs, you can quite happily sit on your bed and code on the laptop (at the end of the day, they're your vertebrae) while the virtual machines/containers run on the iMac. The new "remote development" features in VS Code are pretty interesting in that respect (...and if it isn't already in Visual Studio "proper" I'm sure it won't be far behind). The question is increasingly whether you're ever going to want to work without internet access, rather than just portability.

...the ultimate cheap-out might be simply to find an old PC for your linux & windows containers to relieve your old MBP of that burden...

Another thing to consider is, if you want to do multi-platform stuff, whether you're eventually going to need a real PC, iPad and/or Android device. VMs and emulators are terrific for testing, but they have limitations: they can't truly simulate some hardware - touchscreens, in particular - and I've occasionally been sent off on wild goose-chases by apparent bugs that are actually VM problems (e.g. at one stage, both Netscape and Electron had rendering problems in Parallels with video acceleration enabled - although that one's fixed now - and I've had odd permissions problems using shared files). So, you might want to consider pairing an iMac with a touchscreen Windows laptop.

In the case of web/browser-app development, I'm finding that - now Internet Explorer is finally passing into history and even Edge is turning into a re-skinned Chromium - the need for cross-platform testing of gross functionality is reducing and the remaining issues are more like 'how is the look and feel on a tablet/phone/touchscreen?'.
 
  • Like
Reactions: sat24 and ruslan120

rafark

macrumors 68000
Sep 1, 2017
1,842
3,225
Lots of ram and a fast ssd. A single react project can have dozens of thousands of files (node modules).
 

ruslan120

macrumors 65816
Jul 12, 2009
1,417
1,139
An iMac is always going to give you more bang per buck - especially if you really need 32GB of RAM (I'd get the base 8GB, add 16GB from Crucial or suchlike to get you to 24 and see how that works out) and you can run the 4K dell alongside it for tonnes of "real estate".

Bear in mind that, certainly if you're doing web development and don't need to run GUIs or graphics renderers on your VMs, you can quite happily sit on your bed and code on the laptop (at the end of the day, they're your vertebrae) while the virtual machines/containers run on the iMac. The new "remote development" features in VS Code are pretty interesting in that respect (...and if it isn't already in Visual Studio "proper" I'm sure it won't be far behind). The question is increasingly whether you're ever going to want to work without internet access, rather than just portability.

...the ultimate cheap-out might be simply to find an old PC for your linux & windows containers to relieve your old MBP of that burden...

Another thing to consider is, if you want to do multi-platform stuff, whether you're eventually going to need a real PC, iPad and/or Android device. VMs and emulators are terrific for testing, but they have limitations: they can't truly simulate some hardware - touchscreens, in particular - and I've occasionally been sent off on wild goose-chases by apparent bugs that are actually VM problems (e.g. at one stage, both Netscape and Electron had rendering problems in Parallels with video acceleration enabled - although that one's fixed now - and I've had odd permissions problems using shared files). So, you might want to consider pairing an iMac with a touchscreen Windows laptop.

In the case of web/browser-app development, I'm finding that - now Internet Explorer is finally passing into history and even Edge is turning into a re-skinned Chromium - the need for cross-platform testing of gross functionality is reducing and the remaining issues are more like 'how is the look and feel on a tablet/phone/touchscreen?'.

Great points. Just wanted to add that you *can* run other operating systems on Macs. Windows is easy. Linux is... possible.
[doublepost=1568135007][/doublepost]
The iMac + base 13" Macbook pro is an ingenious solution!

For e.g. an iMac 27" i5 6-core with 16GB RAM and 512GB SSD is $2200 refurb. 13" MBP is around $1200? So I guess for a little bit more, you can get 2 machines. Nice.

re: how often are you on the go?
Not very often :) But I want to be able to in the near future. More importantly, I like to sit on my bed and code. I cannot seem to get it out of my head that an imac is going to be stationary and my professional experience with a Mac has always been via a MBP... so I may be (heavily) biased. But given I do have the 2014 MBP 15" already, perhaps I might be better off with an iMac (pricewise)... hmmm. For that matter, perhaps even a mac mini + my 4k Dell 27" may be more cost effective.

Hmmm, more to think about for sure.

Thanks. Correction: It was a bit more expensive but worth it. Need to store a ton of video files so would’ve gone with a spec’d out MacBook Pro. Running a 1TB inside the iMac + 2TB over USB C instead and it’s powerful, (regrettably stationary), and most importantly, there are no hassles with dongles on a laptop.
 

theluggage

macrumors G3
Jul 29, 2011
8,032
8,476
Just wanted to add that you *can* run other operating systems on Macs. Windows is easy. Linux is... possible.

Sure but (a) you have to shut down your MacOS development system to run Windows (...and if its a web app, your development server might be running on the Mac!) and (b) no PC-specific hardware - in particular, no way of testing your apps with a Windows touchscreen interface.

...it also seems a waste to run a non-Apple OS on hardware for which you've paid a premium for the ability to run MacOS.
 

sat24

macrumors regular
Original poster
Sep 2, 2019
230
146
Thanks for all the great answers here.

One cost-effective (relatively speaking) solution might be to get a spec'd out iMac and then "remote desktop" from my 2014 MBP to the iMac for all development activity that needs "portability" (over LAN, not the internet). I am not sure how fluid the remote desktop connectivity is on a Mac (it is great on Windows). Does anyone know?

Of course, this means when I need true portability (outside home), I am stuck with the 2014 MBP.
 

theluggage

macrumors G3
Jul 29, 2011
8,032
8,476
One cost-effective (relatively speaking) solution might be to get a spec'd out iMac and then "remote desktop" from my 2014 MBP to the iMac for all development activity that needs "portability"

...my experience with screen sharing on Mac is that its useful when its the only solution, but I wouldn't want to use it for prolonged work - its quite laggy.

There are better alternatives to trying to share the screen but they depend hugely on what you're trying to do (which is the proverbial 'piece of string'). I've mentioned remote development in VS Code - VS code runs on your machine but the files are on the remote, any compilation or debugging runs on the remote - but currently that's only really useful for web development on Linux. If you're writing GUI software for MacOS/Windows/iOS/Android then you're going to want it running locally. Or you could use file sharing to edit the source code on your laptop

If your prime requirement is to be able to do everything you need to do for "full stack" development from your bed ("why?" is entirely your business) then you probably do need a well-tricked out MacBook Pro - but you'll have to pay for it.

However, maybe, given the cost, you could survive with 512GB of SSD and some network-attached storage unless you know that your VM images need more - or, as I suggested earlier - get a cheap linux or windows box to run your containers.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.