What dev machine would you buy today with a budget of around $3,000?

ben profile image Ben Halpern Jun 24, 2017

I am overdue for a new machine. I have been a Mac user, but I feel like this is the time to make a switch. Anyone want to sell me on a setup other than the new MacBook Pro, which would run me about 3,000 after upgrades I want? I mostly do full-stack web development and I value the portability and overall experience of using MacBooks, so the response shouldn't neglect these concerns!

markdown cheatsheet
[deleted]

One issue with the touchbar is that, as far as I know, there is know non-touchbar version of the 2017 MBP.

Ugh that is really annoying. Now they're forcing it on us. My 2012 may be my last mbp if that is the case.

I tried typing on one of the newer mbp in store, and I really didn't like how the keys felt or how large the track pad is now

What is Apple doing?? 🤷‍♂️

Check used markets for an older mbp then. I assume you know what you're doing and will do due diligence on the machines you'll look at.

Touchbar has no appeal for me either. I'm tempted to just put tape over it for now. My boyfriend has a mbp from 2017 and I just try to ignore it... I don't think he uses it much.

I recently went on this very quest and bought a Dell Precision 5520. It comes pre-installed with Ubuntu, so that helps with overall Linux support. There are a lot of configuration options since this is considered a workstation. But don't let that word fool you, it is a pretty sleek machine.

Overall I've been happy with it. There are a couple minor things that could be better. The placement of the camera makes it nearly useless. It's at the bottom of the screen, near the hinge. When I'm on a hangout, people get to see my fingers type and stare deep into my nostrils. If I was 100% remote, I might pass on this machine just because of that.

It was really difficult to find the "developer" machines on the Dell site. You can go directly to dell.com/developer to see them all.

I think I saw that camera in the CrappyDesign subreddit 😂

I have one of the new 15" Macbook Pros, mid spec (Radeon Pro 455, 512GB, i7 6820HQ) - it's a good machine. Overpriced, but good - I like it. That is aside from the severe quality issues I've had with it. I'll be on my 4th one soon - this is a machine that I carry to and from work in a sleeve and a bag, I place on a desk, plug into peripherals and monitors and then don't touch for the day - same for when I get home.

These machines have been in immaculate condition every time I've taken them to Apple, they're never left to overheat on beds, sofas, anything like that - always on hard desks. But in order:

First machine:

Up arrow key wouldn't click when pressed on around half of the key. Caps lock key was mushy (I don't use it so this bothered me less, but up arrow key was infuriating).

Swapped it in store as I was within return period.

Second machine:

Comma key became slightly recessed, still functioned fine but would be a bit off putting when coming across it touch typing.

Right speaker blew when opening up the laptop from sleep and playing a video. Bass went.

Few weeks later left speaker blew when playing music via spotify, treble went.

The machine creaked periodically as you first used it from cold for about 30 minutes. It wasn't overheating, just regular light usage would do it. As if something was expanding - it stopped once it hit a certain point. Just felt poor quality.

They had to basically replace half the machine, I got it back and the keyboard had several issues, so went in and demanded a new replacement as I waited 8 days for them to fix this and they returned it in a less usable state.

They opened up a new replacement, it had a huge scratch on the lid - so they opened up another and checked that over before giving it to me.

Third machine:

Left speaker blew, bass gone - similar to the way the first one blew, opened it up from sleep, played a video on twitter - it blew. No bass.

I really quite like the laptop, it's overpriced - but I like the machine physically otherwise, I'm happy with Thunderbolt3/USB-C stuff. But the quality control issues I've experienced are infuriating. An upside to buying an Apple laptop is being able to take it to a store and get it sorted, something I couldn't easily do with most other manufacturers.

So, I find it hard to recommend the machine. It's good, but QC has been awful for me.

An alternative I've been suggesting people look at is the Dell Precision 5000 series, it's an XPS 15 with workstation spec options with the ability to have Ubuntu pre-installed with all the necessary drivers. I know the decision would be a lot harder for me today knowing what I knew, despite being somewhat of a fan of macOS.

I've been on the new MBP w/touchbar for a few months daily, and the escape key is a non-issue. You rest your finger on it a few times a month and eventually you stop.

Some of the touchbar features like sliding controls for brightness/volume are neat, but it's about net-neutral on positives vs things that a sec to adjust to.

New keyboard is fantastic but takes some getting used to. Screen clarity is unmatched by anything I've ever used, paired with a 5k LG at work it's super crisp. I work mostly on mobile so being able to see fonts clearly is huge for me.

I've used linux setups before, and it's amazing if you're in docker all day, but unless that's pretty much your only job the IDE support on mac is far better. It's also tough to be in a shell that isn't the first priority of common binaries like node.

Mac has the attention of the dev community, and while it's probably cheaper in the short term to do a linux box, I wouldn't use it as my main until I was sure it wasn't going to slow me down (use a cheap one for a month before buying something with power).

I'm feeling pretty stuck in the Apple Ecosystem, so I'm thinking about making a change too. I've used Ubuntu on and off through the years and I'm thinking about going to it permanently, it's not much different from macOS, just... kinda ugly in comparison (in my opinion). For about $3k you can get a Kudu (with Ubuntu, people say any Linux distro would work though) from System76, with full support and everything, which I would value since I'm not knowledgeable enough with Ubuntu to feel comfortable diving into it and still being productive on my own. But it's just a Cleo rebrand which you could build on your own too for less than $3k. If my budget were the same, that's what I would go with. I might also just get a slightly newer Mac off eBay too though. When you're used to using something, if you don't feel like it's broke... Nothing to fix!

Dell XPS 15(1.659 € don't know in $):

  • Intel® Core™ i7-7700HQ
  • 16 GB RAM
  • SSD PCIe 512GB
  • Has Windows 10 but I will change it for Ubuntu (they have specific drivers for everything)

This is what I ended up doing, no regrets so far. I went for the most powerful variant that doesn't have touchscreen, removed Windows and installed Linux. Everything just works. The only minor annoyance could be that to switch between the integrated and the discreet graphics cards I have to log out and log back in, but in my case, that doesn't happen often.

Windows has Ubuntu subsystem so you don't have to install Ubuntu on bare metal to use it.

I've had bother with WSL in windows 10 with respect to attempting to use Docker and some other things that I haven't run in to on Ubuntu directly.

Haven't used Docker in a while so I don't know the state of Docker support. I run whatever I need without containers since it's mostly just Ruby, redis, nginx, etc. Using containers doesn't provide benefits with my setup.

I would ask where you think MacBooks are falling short for you. For any web development, I can't imagine performance concerns, unless you were doing a lot of graphics heavy work. So (assuming you like OSX ok) it comes down to concerns like build quality and port selection. If the MacBook has been working, don't feel a grass is greener like need to optimize the decision. If it works, it works.

I have a MBP and it feels super sluggish compared to my AMD 8 core desktop. Certain tasks just use more CPU. Though the bigger difference is likely related to RAM, I've got 16GB on my desktop machine. This allows a lot more programs to be kept out of swap, and a lot more of the disk to reside in the cache. This just makes everything faster.

For $3000 you can put together an insane amount of RAM and the fastest SSDs to get wonderful performance. Combine that with a 8 or 16 core chip and even parallel compilation (if needed) speeds up greatly.

A Galago Pro $1,673 matching these minimal requirements :

Base Price $949
Ubuntu 17.04 (64-bit)
3.5 GHz i7-7500U (2.7 up to 3.5 GHz – 4 MB Cache – 2 Cores – 4 Threads) $195
32 GB Dual Channel DDR4 at 2133MHz (2× 16 GB) $289
250 GB NVMe PCIe M.2 SSD $135
1 TB 2.5″ 5400 RPM Drive $85
WiFi up to 867 Mbps + Bluetooth $20

I would add a recommendation of a Surface Book, as it provides a better price/value ratio (compared to a MacBook, ...) but still a really nice experience, optimal portability and innovative design. For web developement, I am always grateful for the possibility to test touch device experience and rendering in IE on the same device I use for programming. Depending on your setup it can be very easy if WAMP gets you covered, but sadly for rather complex setups, it gets even more complex on Windows. But virtual machines work well on the Surface Book, so maybe still no problem there...

I'd buy an amd ryzen r7 1700x with 32gb of ram, 2tb 960 Evo and a rx460. Wrap it up in a fractal design case and spend the rest on an ultrawide

I swear I didn't read your comment until after I created this: pcpartpicker.com/list/BM3HFd

nice. I run a R5 1600 at home and the threadcount is really nice when developing and having a lot of processes running.

I think the big consideration on this one is: are you going to run some form of Linux? I don't think windows is a great option, everything web dev related is more difficult. "Does this not work because windows?" Seems like a constant fight.

I don't see any compelling reason to switch. I think best reason would be budget, but that's not an issue for you here.

Yeah, I'm not necessarily thinking I'm leaning towards switching, staying still may be the best option, but I'm really trying to explore all the options.

I'd have to agree with some of the others -- don't overlook Windows, as long as you're getting something that supports the Windows Subsystem for Linux. Between that, plus Docker for Windows, Windows has come a long way toward being a viable development environment.

In the past, I struggled with getting languages like Python, Ruby, C, and C++ (without the Microsoft extensions in .NET) set up and in a useful state. I had no problem setting Windows Subsystem for Linux installed, configured, and then I pulled down some repositories from GitHub in these languages, built, and ran the applications.

My only hesitation is if you want to use this environment to run a business. I have a company-issued MacBook Pro where I do all of my work development. I only use my home Windows PC for personal projects, which usually amount to a very small prototype to get my feet wet with a particular language or library. If you're anywhere from a freelancer trying to have a development environment to do work for clients to an IT department at a company, you're going to want to watch this are for changes/improvements, and maybe pilot it, but not invest fully in it until you've proven it out. Microsoft even advertises it as beta software.

If this is viable, this would probably give you full access to more languages and tools and environments than any other single development platform, since you're effectively running two operating systems side-by-side without the heaviness of a VM. I run development environments for Ruby, Python, C, C++, and Haskell in WSL and Microsoft .NET and JVM-platform in Windows. I have Atom, Eclipse, and Visual Studio installed on Windows. I run database software in Windows-world, compilers in both Windows and WSL as appropriate, and web servers in both depending on the target language. Add Docker containers to the mix (which can be reached from both Windows and WSL) and you're in a whole new world of development.

Build my own:

  • Ryzen 1800x
  • 32gb ram
  • 960 evo nvme ssd
  • Define R5 case

Add some peripherals:

  • Das Keyboard
  • Random logitec mouse
  • 34" ultrawide 3440x1400 monitor

The total for that system comes to about $2200.

Then maybe get some cheapo little laptop for taking notes in meetings.

Best Windows equivalent is probably the Surface Laptop. Dell XPS are also very nice.

You want RAM and fast disks. RAM is used for file caching, so the more you have the less often the slow disks are used. Getting the fastest SSDs for disks is also helpful, but the RAM moreso.

If you're doing large builds of many files, then more CPU cores also helps (assuming your build process can be parallelize).

Of course, that's all stuff that's hard to stuff into a laptop, which is why my primary dev machine is always a desktop. My desktop feels much more reponsive, and builds faster, than my MacBook.

XPS 15. Windows is actually pretty good Dev environment and Ubuntu subsystem means I still have Unix.

I just pulled the trigger on a fully loaded 2017 MBP 15". It's excellent in terms of build quality and performance. I love to work on MacOS and I run Windows 10 in parallels. I'd strongly recommend it

I would by the best Chromebook, display, keyboard, mouse, desk and chair - and save the rest for a trip to a sunny beach 😂. And I do full stack development.
And yes, I'm a minimalist at heart.

Surface Pro/Book/Laptop depending on your desired form factor. I couldn't be happier with my SP4 running Windows 10 + WSL!

OS is important to me than hardwares. So macOS is super friendly to me.

Thinkpad X1 Carbon 5th gen

Thinkpads have the best keyboard if you are planning to sit programming all day. They have complete Linux support, amazing battery life and really good build quality.

PS-currently typing this on an older generation X1 Carbon. Wish I could upgrade to the newer ones.

MacBook. I was also on the fence but the latest one, even with it's odd changes is actually really easy to get used to and still a great dev machine.

You could always run bash on Windows...