The Definitive Guide on setting up the best WFH PC Experience

Lots of companies make PCs today. And this article is written specifically for the thousands of developers who use a Windows Development Environment for working. Many of you may not have the $$$$ to spend on the best experience, so I am trying to provide the best guidelines on what to get based on years of my own research on this topic.

Let us make somethings clear at the very beginning:

  • I know the new generation loves to use thin and light laptops for coding, but note that I have definitively found that even very old desktops are much, much faster than the latest and greatest, super expensive $7K workstation laptops.

I do get that you can get better flow in thin and light laptops. The way to do that would be RDP into a more powerful desktop from a thin and light laptop.

  • Because a lot of the experience revolves around Windows 10 which usually sucks, to deal with hardware issues, it is best to build your own desktop “by hand” so that you can easily replace or upgrade hardware. This article does not deal with this scenario.

As a note, I have never in my life got an Intel CPU for a build. I have never been able to agree with a business model which forces consumers to buy a new motherboard just to upgrade the CPU. I have only ever had AMD CPUs. I think one of the newer Ryzen Chips with a large number of CPU cores as well as GHz would make a great CPU for a custom build.

Apple vs. Microsoft

Apple makes the best laptops period. This article is not about comparing the Apple and Windows ecosystem.

Apple wins hands down on stability and “laptop” use cases. The best version of Windows was Windows XP. Everything which has come later has been worse. I have used more Windows PCs than Apple PCs in my life. Apple wins in every way when compared to Windows PCs because:

  • Backup just works & you never, ever lose data — no matter what.
  • Restore just works from any Mac to any other Mac — it does not matter whether it is a Mac “Desktop” or Laptop.
  • Sleep and resume from Sleep works flawlessly.
  • Safari is the best browser to use.
  • This maybe me, but Mail is the best email program ever.
  • The only bad experience on Mac is Microsoft Apps including Microsoft Office. Even these apps works better on the Mac than on Windows.
  • A Mac is hands down the best way to do some work when you feel like it after inspiration strikes. A Windows PC just does not do that.

But remember that Windows Development is best done on Windows, so that you have the same experience as consumers using Windows PCs.

Within the Microsoft Ecosystem

  • Lenovo/ IBM makes the best and most stable Windows laptops. I would go with them but for the fact that to keep their laptops stable, they are usually a bit “behind” in technology, and pricey. I can vouch for the stability of the Lenovo Windows laptops 100% for a traveling Sales/ Marketing/ Non Developer person.
  • I used to work for Microsoft, they used HP Elitebook as the standard within the company at that time. That replaced IBM PCs when it became Lenovo. HP makes great PCs, but again they are quite pricey for the vast majority of small — medium business and WFH use cases.

The reason why I have gone with Dell and stayed with Dell is because when I did my research I found that they had the best prices and they are not lagging behind in technology.

Dell Precision Desktops

My fervent recommendation here is to go with desktops if you can. Because the sheer performance you can get with a desktop is much, much better than even the most expensive $7K laptops — and it primarily has to do with the fact that, the fastest laptops with the best CPUs and GPUs can’t handle heat. And the smaller and thinner they get, the slower they become as well.

No matter what you believe, I can assure you that you are wasting a lot of money trying to find a thin, but fast developer laptop. If only you knew how much slower it actually ran, you would never go for this.

The Dell 5820 is what I had got at work a while ago. It is very extensible and comes with options to support nVME RAID 5 on a PCIe card which I had never seen before anywhere before this.
They did not have the 78xx or 79xx series workstations when I got my 5820.

When the new IT guy saw my new 5820, I remember him looking at it wistfully and saying: “Now, this is a real office desktop. This is what I had at my last job” (for whatever reason everyone at my work have XPS laptops unless something else is specifically requested for).

What I have migrated to in the long run is a Dell Precision 5820 tower with 32 GB ECC RAM, ~512GB nvme SSD with RAID 5 and a 10 core, 20 thread Xeon CPU which can go about 4 GHz turbo.

Note the following carefully as these details matter a lot:

A Xeon CPU with a balance of core count and frequency

I see better options for CPU today than what I had earlier. I would probably have got this one if I was buying this PC today. But note the one I have today does have 10 core and 20 threads. I believe the frequencies are lower though.

Go with Xeon whenever you can because it can handle sustained workloads for longer and with better stability.

Get the MAX cores you can — but pay attention to the MAX frequency. 64 cores are no use, if the MAX frequency is only 2.2 GHz. FYI… It is not too bad, but higher frequencies really matter. I do remember wistfully the time I used to work with a server which had 64 cores and 128 GB RAM as my main development environment, because it was lying unused by anyone in the company.

The PSU Matters

Not a lot of $$ but a very important part of your configuration

Get the PSU which can handle the most power, because 4K capable GPUs and Xeon CPUs can consume a lot of power when you run heavy workloads like I do. Dell had a single PSU upgrade option, I went with that.

  • I do remember getting a PCIe card with extra Thunderbolt 3 capable ports. Today I am glad, I got those because those could be used for 10 gbe ethernet in the future.

The SSD matters the most after the CPU

Get the fastest nvme SSD you can afford. You can never go wrong with Samsung nVME SSDs.

This really matters and remember that the larger capacity nvme drives are really, truly much, much faster than the smaller capacity ones because of the way their internal hardware is designed (I forget the details, but there is a difference in the memory controllers and MAX throughput at a time with the larger nvme drives).

You maybe surprised that the SSD maybe the one thing which makes the most difference in a development environment.

1 TB is the sweet spot for the OS drive for a developer. Unless you work on very large files, you will probably never go anywhere near 1 TB. I have found that 256–512 GB can be limiting, even if you mostly work on code as sizes of the Development Environment increase over time.

I just want to note that it sucks that Microsoft in 2021 does not let me store all my data in a separate drive from the OS and programs so that it is easier to separate the Disk IO of the OS vs. user data reads. Backup and restore would also be easier in scenarios of OS drive failure.

The options for SSDs are pretty complex. I recommend working with your IT person to pick the options which give you hardware RAID 5 with 4 256/ 512 GB nVME SSDs.

ECC RAM Matters

This is what I got. I have never needed more than 32GB RAM on any PC yet, except for a Mac with audio/ video apps.

Like I have believed for a while as I am an Electronics Graduate, and I have heard from Microsoft Engineers who move internal bugs to Intel, even Linus Torwalds has come out and said that we should be using ECC RAM as non ECC RAM causes instability. If you can, and it is available, always use PCs which support ECC RAM, because while others PCs crash and burn with regularity, yours will continue to work fine without issues like mine.

There is a sweet spot for RAM size

If your development environment can eat up as much RAM as it needs to, you are lucky and you can buy as much RAM as you can afford all the way from 32GB — 128GB or even more.

If you are like me and mostly use Visual Studio which is not a 64 bit process even in 2021 (shame Microsoft!), then there is actually a sweet spot I have found.

Do not get 16GB RAM, I can assure you that, there will be scenarios where your computer will throttle at about ~15.9 GB RAM and perenially seem starved.

I got the idea from Lenovo who sell laptops with a unusal 20GB RAM. That got me thinking, why would they do that?

Turns out that once you go just a bit beyond 16 GB RAM, Windows 10 atleast never goes anywhere near 20GB no matter how hard you try in a Visual Studio/ MS Office/ Heavy Browsing Environment like I have. It just does not — it sticks to about 17–18GB RAM at the most.

This is unlike a Mac which handles memory a lot better and can often use as much memory as you throw at it, speeding up your experience tangibly.

Anyway, so if money is an issue, I recommend going with 8 + 8 + 4 = 20 GB RAM because this will be more than enough for most situations.

If you can throw more money at the PC, you can do 24/ 32 GB RAM. I have gone with 32 GB for my Office laptop and desktop — but note that I have again never seen my memory usage even in that 15.9 GB use case go beyond 17–18 GB RAM, unless I am deliberately doing something to load memory.

20 GB is the sweet spot. You can always add more memory in the future if you want to.

Don’t underestimate the Humble UPS

Disk corruption can significantly affect the stability and thereby performance of Windows. A UPS can help prevent disk corruption during power outages. I would also never pull the plug on a PC. These are small things, but it matters when the disk gets corrupted, windows gets unstable and performance gets affected.

The GPU

I remember getting the 16GB GPU for about $1000 at the time.

Do not underestimate the importance of the GPU — but don’t burn money getting an expensive GPU in a laptop because no matter how powerful the GPU is, it will be unused because of heat dissipation issues.

You really need a great and expensive GPU on a desktop, especially if you have a dual 4K monitor setup which you want to run at 60Hz.

Yes, I have tried consumer GPUs and they are unstable in such a setup up until a few years ago. I can confirm that business class GPUs like nVidia Quadro — even the thin ones which seem to be less powerful than their consumer counterparts, are way more stable for work use than consumer GPUs.

You will need to have a GPU which has at least 8GB memory which provides 4GB for each 4K monitor you are driving.

Note that with consumer GPUs, AMD is more stable than Nvidia for sure.

Why this really does matter

I spent a lot of years and a lot of money researching on how to improve the performance of my development environment. I did not care about the GPU before, and hence I always used to feel that something is missing which is severely impacting performance — even basic stuff like browsing, and MS Office, etc — especially on resolutions higher than Full HD (greater than 1080p).

Here is what nobody tells you

What I discovered is that 4K monitors or really any high resolution monitor setup where the Windows DPI setting is more than 100% (like 125–175% usually) is a special case in windows.

Having this makes the GPU work harder and it becomes a bottleneck. I do not remember the name of the process — but on further study, I found a specific Windows OS process which was getting very high usage and becoming a bottleneck for the performance of my setup.

Update: I believe the process is the Desktop Window Manager

In this screenshot, it is not using a lot of GPU as this is a $1000 Quadro GPU

That is when I got my first “expensive” (for me) consumer GPU and installed it and noticed that this made a difference. Especially, if you tweak the settings so that it uses the GPU instead of the CPU, then performance improved a lot.

Did you know that even a console application uses a lot of GPU in windows when it is zooming through a lot of textual output? You would be surprised when you measure how much it does that.

You can measure and see the improvement in the usage of the afore mentioned windows process when more and more processes are configured to run using the discrete GPU rather than the CPU’s GPU in the settings of the video card. You can actually make out the improvement is performance in your app usage.

The best situation is when the CPU in any PC does not have an internal GPU, thereby forcing the computer to use the discrete GPU for all use cases. In this scenario (which is rare in laptops), you can maximize your performance by getting the best GPU.

Laptops usually come with a CPU which also supports graphics, even when there is a discrete GPU. Unfortunately because of this, the CPU’s GPU is used by default in most cases which has a significantly detrimental effect on performance even on very expensive laptops with $1K GPUs within them.

You can tweak the graphics cards settings in such cases to offload most of the processing to the GPU, but you will notice that you are unable to choose the discrete GPU for many of the core windows applications and processes including the one I mentioned earlier which deals with > 100% DPI setting in Windows. This is why today, I no longer recommend buying Windows “Performance” laptops.

My strategy hence is to get a heavy duty workstation and pair it with an Apple laptop from which I can RDP into it from anywhere to get work done.

The Windows Laptops I do have

I do have a Dell Precision 77xx series workstation laptop (from which I learnt most of the details for this article). They are great laptops and you can even configure RAID as well as they have ECC RAM. It is heavy and meant for desktop use though — like I said, if you are bound to the desktop, stick with a workstation.

A while ago, I was searching for a personal windows laptop. I could not bring myself to buy a “non pro” machine, as I would setup some development environment on it. I ended up with a “thin” Dell Precision 55xx series laptop — unfortunately does not support ECC RAM, but does come with a Xeon CPU and I upgraded it over time to 32 GB RAM and 1 TB nvme Samsung SSD (which made a surprising difference).

I used to use the 55xx series laptops when I would travel, but even these are heavy, so today I use an Apple 13 inch Macbook Pro. 15 inch is great, but honestly, even with all my eye issues, it is much easier to take a 13 inch laptop everywhere do stuff like writing this article with little to no friction — this always works, never hangs and the battery life is great.

Dell Precision Laptops

I know people who purchased Microsoft Surface Laptops and are cursing Microsoft because they are unstable. I regret recommending one to the “big boss” at work.

Dell is way, way better than Microsoft PCs because they have experience building Windows PCs which Microsoft does not have. There is an interesting article I read somewhere where Microsoft CEO Satya Nadella asked another PC Vendor CEO why they did not have the problems Microsoft saw in their Surface Hardware.

It turned out that the other company never used something which Microsoft was using — because they found it did not work well. Microsoft thought it would work because their OS team said it did — but in reality, all the PC Makers knew it never worked properly.

I remember once there was a special part I ordered from Dell for my 77xx series laptop RAID configuration with nvme — nobody else in the world makes a part like that for nvme SSDs. Clearly, there is a lot of hidden innovation happening within a company which is not really that new, and this is heartening to note. These guys can surprise you sometimes.

Having said everything I said, not everyone can use a Apple laptop for the “moving” workstyle. And there are people who need to build code while moving around, maybe working in a Coffee Shop, or transient workspace.

The 5000 and 7000 series are the best options for Developers.

If you have to have a laptop where you build code instead of RDP to a workstation over the Internet, I would still go with a 75xx series Precision laptop over the 55xx series Precision.

Within the 7000 series, if you want stability with mobility, I would get the 75xx series over the 77xx series. If you badly feel for the 77xx series, get a desktop instead.

Because the 75xx series, smaller laptop does not try to high fly like the 77xx series, they are smaller than 77xx and do a better job of handling performance vs. weight/ size.

Hands down, the best experience I ever had was with the 75xx series laptop in my old job. That laptop had no issues, worked perfectly, and none of the instablility of the earlier 77xx series laptops which are honestly too heavy, and used to overheat with the older models

The 55xx series is thin, I admit, but you should not be compiling code on that kind of laptop. If you buy the XPS version, get ready to replace that a lot as things wear down over time.

It is interesting they don’t even sell these with Xeon CPUs anymore. Yeah, the one I have can barely handle the heat. If you go with 55xx series for thin and light, the 75xx is not too far off and will be way better in performance.

I do want to note here, that my 55xx series laptop has lasted a long time, and I am very happy with its longevity. You upgrade the memory and the SSD, and this thing can scream as a RDP option which can do anything other can code compilation including heavy MS Office, RDP, browser, etc.

The 75xx series is my pick for the best combination of power and portability. The 77xx is obnoxiously large and heavy, this one comes right within the borderline of being “not too big”, and “just cute enough”.
2.4 GHz is too slow. I would pick this CPU. I have a 6 core 7700 series.
Don’t spend more than $1000 on a laptop GPU. If you ask me even this is too much. I am only picking a GPU with at least 8GB RAM which may barely support dual 4K.
A 4K screen is a joy, but remember it will significantly eat your battery as well as have all the complexities of having a DPI more than 100% on Windows.
ECC memory is a no brainer, especially on an OS like Windows.
One option is to get the cheapest nVME option and then replace it with a Samsung 1 TB nVME after delivery. You are paying more so that Dell can replace the one they send for free if it has issues. Anything other than a Class 50 sucks — I have had to replace them multiple times and eventually ended up asking them to send me a Samsung nVME because nothing else worked without issues.
Sometimes they don’t send you all the hardware options for RAID if you don’t select it here. Sometimes you can get the parts later to do it yourself, sometimes you can’t. It is better to confirm 100% with Dell beforehand. Note that Sales may tell you “everything is possible”, the only way to know for sure is to contact Dell Support — who usually knows better about these things than Sales does.
Always get the biggest battery you can — if the configuration supports it. Sometimes it doesn’t because there is no space with the selected configuration for a larger battery.

Improving Performance further

This has proven very useful to improve performance further on all my Dell PC’s:

This was a surprising learning which I truly believe any Dell owner should read:

Once upon a time in Windows land…

It was possible to install Windows Server on Dell Desktops and Laptops. Developers who knew how to maximize their experience were able to install Server OS even on Dell Laptops.

And I can tell you that Windows Server worked 200% better than Windows 7/10 on desktops and laptops. Even without the drivers being available for everything.

It is sad that this is not possible to do today even with a Desktop Workstation like the 5820. I know, performance and stability could be much better with the Server OS. But, with the $$$ spent on the OS license as well as the driver support for too many advanced technologies, including the need for docks, and other peripherals, this is simply not a good idea today.

I would still have done it. But, these are expensive work PCs. I was surprised to see no Server OS option when we configured even the Workstation PC on the Dell website.

But, if you build your own PC, then this can still be done. The best windows, is windows with no specialized hardware requiring specialized drivers.

Summary

Dell is not perfect — nobody is. But I have used Dell laptops and PCs for a while. I buy their pro equipment mostly because they support upgrades without voiding the warranty.

I have used their warranty for work laptops, and their onsite support — they do send someone great and they do fix issues onsite. It was not a bad experience at all.

You have the option to renew warranty when it expires for the pro laptops and desktops. I have found that useful, in case I don’t want to spend on expensive repairs.

I use Dell Command Update to update my Dell PCs atleast once a month. If things are running well, I tend not to run the minor updates, but if Windows is already unstable because of Windows Updates, then I do run all the updates I can find, and usually it resolves most of it.

What you don’t want to do is to not run updates at all ever, and then you have a hundred pending Dell and Windows updates, and you find your PC spend 4 hours running all the updates by itself because it was pending so long.

Dell & Windows updates used to be nightmares. Dell has improved more than Windows in this regard. I have noticed when I had an HP laptop that they do not provide frequent updates the way Dell does. I have learned this is a disadvantage over time. This is also why Dell PCs can retain their performance longer because optimizations & new technologies eventually get to old PCs as well.

I notice that Dell iterates a lot, and is always improving stuff, especially when the first take is not great like the 7710 series laptops. I would buy the second or third generation of some of their machines as I have noticed (sometimes via warranty) that even the motherboard layout has improved for better heat dissipation in the newer models as compared to the old ones effectively fixing many issues.

I think pricing is the reason you get into Dell, and the experience is not too bad. Thinking about it new, I believe you get newer and more cutting edge technology from Dell as compared to HP and Lenovo which tend to be more stable, but are slightly “behind” Dell in comparison. To bypass issues of being on the cutting edge, always buy the business line laptops and desktops which are more stable than their consumer counterparts.

To be continued…

“If you see something that’s not right, not fair, not just, do something about it. Say something. Do something.” — Rep. John Lewis

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store