Why you must buy the best hardware for your software engineers
It’s common in tech companies to have software engineers requesting to have a state-of-the-art computer with the best CPU, large memory capacity, a big hard drive, and a powerful GPU for running local AI models.
Sometimes they have to negotiate for that, and sometimes they cannot get what they want.
In some situations, these engineers are seen as spoiled children who cannot get the best toy they dream of.
But a professional computer is not something they play with, it’s a work and productivity tool.
I consider not giving a software engineer the best hardware available is often a terrible mistake.
Here I talk about established companies: scaleup, bigtech, or whatever. It can be different for a startup or new company without any money or funding yet.
It’s important to understand that the quality of the hardware is a bonus multiplier of the productivity of an engineer. And engineers are often paid good salaries.
Think of having good hardware as x1.1 or x1.2 productivity multiplier. A bad one, a 0.8x or 0.9x.
Since a good computer costs less than 5% of a yearly salary, it’s probably a good investment to invest in this only physical work tool.
Often, the day to day tech stack is heavy and engineers don’t have the choice to use the company’s tooling: Google Meet, Jira, Docker with gazillions micro-services, etc. Everything combined takes huge resources.
Reasons why giving limited hardware is terrible:
- Most obvious, software engineers do computer tasks all day and the time they don’t have to wait for a task to finish is saved time.
- It’s also time consuming to be forced to stop some services before entering a video call.
- Slow hardware breaks the focus zone. If your actions on your computer cannot follow your chain of thoughts, you can easily wander somewhere else. And as we know, it’s important to stay focused to resolve complex tasks. Going to check Hacker News or the #random company Slack channel while a service takes forever to start can be the end.
- It takes a toll on day-to-day morale. Having to wait for things is tiring. At the end of the day, a software engineer with a fast setup could be happy to do an extra mile outside of their work time to finish something. With a slow setup they can just decide to go walk outside.
- It takes a toll on global morale. The computer is the only physical tool they use and to have pain with it can make people think about whether their company supports them or not.
- Finally, when everything is slow, engineers can stop being concerned by their company software performance. If slow is the standard, why do they care? It’s a shame, because fast is a superpower.
Yes, it’s also possible to optimize. Close browser tabs instead of stacking them, only keep useful services running at a given time, decrease video resolution in conference calls.
But the rule should be, if engineers ask, it’s probably because they need help to improve their computer performance and changing hardware can often be the solution. But finding a solution is essential.
By Thomas Martin
Follow me or comment