I'm putting together a new PC as a surprise gift for a computer programmer working at a technology company. The total budget is $3,000 CAD maximum after Ontario's 13% sales tax, with new parts only. Ideally, the final build should land within about $200 of that amount.
The computer will be purchased in Ontario, so Canadian retailers and prices should be used where possible, including Canada Computers, Memory Express, Newegg Canada, Best Buy Canada, and Amazon Canada. A monitor and other peripherals are not needed. Wi-Fi would be nice but is not essential, there are no size or lighting requirements, and reasonable noise levels are preferred.
The exact programming tools and workloads are unknown. I'd appreciate a practical, well-balanced build rather than simply spending the entire budget on high-end parts. In particular, I'd like to understand the reasoning behind the CPU, RAM capacity, GPU requirements for different kinds of development, motherboard features, SSD capacity, power supply, cooling, and anything that would be unnecessary overkill.
If possible, please include current Canadian prices, compatibility details, and links to useful reviews or benchmarks. Since this is a surprise, I can't ask the recipient what they do, so explanations of the tradeoffs between general software development, virtual machines, compiling, data work, AI, and other more demanding workloads would be especially helpful.
3 Answers
A sensible balanced build could use a current 12- or 16-core desktop CPU, 64 GB of DDR5 memory if virtualization or large development environments are likely, a 2 TB PCIe 4.0 NVMe drive, and a modest dedicated GPU or integrated graphics. For ordinary backend, frontend, and application development, the GPU is much less important than CPU performance, memory, and having a comfortable amount of fast storage.
If the person works with local AI tools, GPU rendering, Unreal Engine, or CUDA-based software, then the graphics card becomes much more important and the parts list should be built around that requirement. Without that information, I would avoid buying an expensive top-tier GPU based only on the job title. Also remember that prices and sales change frequently in Canada, so verify the final total after tax before ordering.
Before buying anything, try to learn indirectly whether they use Linux, Windows, macOS-specific tools, virtual machines, containers, or GPU-accelerated software. Those details matter more than the job title. For example, Docker and multiple virtual machines can justify 64 GB of RAM, while large compile workloads benefit from more CPU cores and fast storage.
A good upgrade-friendly system is usually more valuable than an expensive “future-proof” build. Use two matching memory modules, leave extra DIMM and M.2 slots if possible, select a reputable power supply, and avoid spending heavily on RGB, premium motherboard branding, or extreme overclocking features.
The biggest issue is that “programmer” can mean anything from basic web development to compiling huge projects, running several virtual machines, or training machine-learning models. Those workloads have very different hardware requirements, so the recipient’s actual tools would normally be the first thing to find out.
For a general-purpose development machine, I’d prioritize a strong modern CPU with plenty of cores, 32 GB of RAM, and a fast 1–2 TB NVMe SSD. A midrange GPU is usually enough unless they work with CUDA, AI, GPU compute, game development, or 3D graphics. Spending the whole budget on a flagship graphics card would often be a poor use of money for ordinary programming.
I’d also choose a reliable 750–850 W 80+ Gold power supply, a motherboard with the required USB, networking, M.2, and memory support, and a good tower air cooler. It’s better to leave room for future RAM or storage upgrades than to pay for unnecessary motherboard features or extreme cooling.

That makes sense. I was hoping to keep it a surprise, so I can’t ask directly about their projects. I’ll treat the build as a flexible general-purpose workstation instead of guessing that they need a high-end graphics card.