as a senior developer my advice is: buy parts and learn to assemble, the exchangeable parts are (at least for me):
CPU/Mainboard/RAM : always bought as a bundle (RAM at least 32GB), because dependencies are too high, I prefer AMD, but ymmv
GPU : Easy to switch, easy to spend a fortune, i always prefer mid range cards or older ones like the AMD RX 6600
Storage: Always the fastest possible, if you need to go cheap, then make it smaller, linux does need no significant space, and i run my system on a 240GB M.2
Case/PSU: Buy it only once, i still use a case from the 90`s, the PSU will only be upgraded if connectors change, 750W are enough for most of the work
HID: Dont go cheap on Monitors and Mouse/Keyboard, IPS displays are a must, if you have multiple screens (angular view is distorted otherwise), Most gaming input devices work very good for programmers, i prefer logitech (with ratbag), but corsair has very goot support under linux too (ckb-next)