Per me, la RAM e la velocità I/O fanno enormi differenze nello sviluppo. Oggi non voglio specificare una macchina di sviluppo con meno di 16GB di RAM (32GB preferibilmente) e un SSD. Includo anche una scheda grafica discreta che può guidare un monitor 4K. Due monitor non sono un requisito e ne uso solo uno a casa, ma lo spazio reale che la risoluzione offre è la necessità principale. Due schermi 1080p o uno 4K è una questione di preferenze personali.
Ho anche specificato una CPU con pieno supporto alla virtualizzazione hardware. Alcune versioni di CPU hanno un supporto VT-x limitato perché sono mirate come CPU da gioco o da prestazioni. La virtualizzazione hardware permette di eseguire in modo più efficiente emulatori e hypervisor. Dato che molte delle nuove tecnologie sono basate sul cloud, la capacità di eseguire VM locali per il cloud con accelerazione hardware è un vantaggio significativo in termini di prestazioni. Per la maggior parte si tratta solo di controllare le specifiche della CPU.
RAM e SSD minimizzano il tempo di attesa dell'I/O e una CPU capace di VT-x è più che abbastanza veloce per supportare qualsiasi strumento gli si lanci addosso. Con molti strumenti in esecuzione, la grande quantità di RAM minimizza l'uso dei file di swap/pagina. Su macchine da 32GB non ho alcuno swap e /tmp montato su un disco RAM per la velocità.
Ovviamente, questo implica un desktop. Mentre scrivo codice sui portatili, sono macchine temporanee e qualsiasi lavoro serio che faccio è fatto su un desktop. Più economico e più potenza per dollaro. Fondamentalmente ottenere la maggior parte della RAM, un SSD e i migliori monitor che ci si può permettere. Macchine come quelle che descrivo si possono avere per $1500 USD o meno, a seconda di quanto si è bravi a mettere insieme i pezzi e approfittare delle offerte.