Ask HN: Why aren't there workstation recommendations for software engineers?
I'm in the market for a new workstation and as I shop around there are recommendations based on the type of work. For example, I've seen configurations for content creators, streamers, ML/AI, etc. but nothing specific for plain old software engineering. I'm also not aware of any sources that specialize in reviewing hardware within the context of software engineering.
Why isn't software engineering included in the list of recommended configurations?
23 comments
[ 3.9 ms ] story [ 67.0 ms ] threadMost people here are arguing that any computer in 2021 basically covers the average needs of most developers, and therefore are un-differenciated.
You don't seem to agree, clearly, so you need to provide more information into "maximize productivity". Productivity is ill-defined metric and different for everyone. What do you want to improve? What metrics should be tracked? Disk speed isn't a requirement if you only open small text files that can be cached by the OS (unless you also have little ram), so you need to have better defined metrics as to why and what the tolerance is.
To answer the question about what i think the ideal workstation is... - mid-range SSD with at least 512gb storage - if job requires lots of storage infrequently (eg. storing large disk images or VMs) then some external storage (NAS or portable usb) is ideal. - Mid-range intel chip (i5+) or top range ARM (apple m1). - Great screen (4k for desktop), at least "retina" (can't see pixels at typical distance) for laptop. - 16gb ram unless you actually have requirements that use more (VMs on devices, compiling really large projects like linux kernel or firefox, etc). - If laptop, long battery to not be tied to outlet - Keyboard you enjoy using, its different for everyone. Same with mouse/trackpad. I use trackpad on desktop often, not everyone likes it. - OS that is not windows. - Graphics card can be whatever is built-in unless you do ML stuff on-device (i don't do ML stuff so idk if on-device is even desirable). - Top-tier wifi/NIC - Wifi 6 ideally, certainly 5ghz, or gigabit eth - 1+ usb ports for peripherals, but tbh i never use anything except to charge phone or occasionally use a SD card for a raspberry pi OS image. - Laptop should support a charger that charges faster than it uses power
TLDR just get a generic "business class" device, eg. thinkpad/macbook or $700 desktop prebuilt
[1] https://www.pugetsystems.com/
Unless you're doing AI/ML, you don't need an RTX 3090 and can probably get by with Intel's on-board GPU. A decade-old GPU can run vim/VSCode/PyCharm/whatever and a web browser just fine.
If by workstation you mean a laptop, then you have to work with in the compromises set by the form factor. Light, Powerful, Cool, Cheap. Pick two. The best you can do is look up benchmarks for certain parts, set a minimum performance requirement for your needs, and go from there. Maybe if you gave us an idea of the programs you normally use, the more power-hungry applications you might use every now and then, as well as your budget, you can get a recommendation.
[1] https://pcpartpicker.com
Having said that, my 2nd programming workstation is an older gaming laptop (an Acer Nitro) - core i7, 32gb of memory, two SSDs. It's not quite the monster that my main machine is (a truly ancient HPE deskside server with dual xeons and 96Gb of memory) but it's pretty darn fast. The server is faster though, especially if you have 3 IDE's running (debugging an IOT project) and a couple of VMs to mimic your deployment scenario.
Sure, true workstations get up to a couple dozen cores and a few TB of RAM but what would the average developer do with it that warrants that kind of money?
For what I did at the time - and probably even now - it was well over powered. At one point I ran 10 instances of our Selenium test suite at once (trying to debug random failures) and it didn't even bat an eyelid.
Back in 1986 this was a 10 Mhz 286 with 4 mb of RAM and 30 Mb of hard drive, running MS-DOS, and a 17" Trinitron Monitor, with a lot of floppy disks, an Epson Dot Matrix Printer, a desk, telephone, and office with a door. Your IDE of choice was probably Turbo Pascal.
Now it can be a laptop and headphones on a beach, or you can go more traditional. As long as your compiler still gives you sub-second feedback, you should be good.
It all depends on what you are doing.
You need lots of Core, ECC Memory ( if you need it ), and a fast / reliable SSD.
For example, if your software stack works on MacBook Pro, the M1 Max is currently a very capable laptop that offers near the best compute performance you can get.
So the simple answer is, any decent computer will do.
condition: new/used/very old
type: laptop/mini
*Vendor: costco/apple.com/garage sale brand: dell/apple
model, id, serial #, hardware-UUID
price
RAM, type, Speed
boot rom: none/open
*OS: windows10/macos version: Home/Pro/version
*Cpu: open-core/intel/amd/Power version: i7/i9/Celeron/G4 L1d-cache,L1i,L3 speed: 1.2 GHz,2.4 GHz,1.42 GHz base, max-turbo-freq,min-freq,lithography bus-speed cores, threads
4K-Support: max-res-(HDMI 1.4)
*Graphics: graphics-model graphics-memory
*Display: display-resolution monitor-size HDMI
*network: 10 GB Fibre/1 GB Ethernet/100 MBps wireless
*Storage: disk-type: SSD,HD disk-size: 2 TB,74.53 GB
*USB3 USB2 USB-C Thunderbolt3
web-camera headset-jack line-in-jack keyboard
*Extraneous: Built-in-microphone SD-card-reader DVD/CD: none Bluetooth: no FireWire Dialup/Fax-Modem touchscreen: no touchbar: no touch-ID: no
1. AMD Ryzen 5 (3rd gen)
2. 32GB RAM
3. NVMe SSD from WD/Samsung
4. 1440p/4k monitor with 144Hz refresh rate
5. Decent gaming mouse/keyboard
6. Entry level GPU (RTX 3060ti)
That's all it takes. This setup will run circles around any laptop you can get, when it comes to stuff like compiling, VS code, browsing stack overflow, etc. Also you can game on it during the weekends.