I hate this for developers. I got to experience this first hand because I had a boss who thought like you.
Developers generally need to run a bunch of resource intensive tools to build the application in the first place, so an underpowered system will already be choking. It means their app will feel slow no matter what. So then when they run it and it's slow, they will shrug and say it's just slow because their system is slow.
There might be a case for specifically running testing on a slower machine, though.
I think it's reasonable to have a separate machine to do building on. You can include a push to the target in the build script, or use network mounts or something. Remote debugging is a thing, if you need to use a debugger but don't have the resources to debug on the target. But I disagree with your basic assumption that
> It means their app will feel slow no matter what.
If you can make it feel fast or at least responsive on your underpowered machine, it should feel super fast on everything else. Even today's slowest machines can run some things fast. It does depend a bit on your market though; it might not be worth the effort, but there's a lot of applications out there that could use some speed.
Once you’ve got Node, docker, Postgres, redis, an IDE, etc running, the system is out of memory and already chugging before your actual app even opens.
It's massively easier to just give someone a macbook that actually works properly and runs everything you need than to hand out people plastic chromebooks and mess around with remote development environments. Then if required, hire some testers to click around on cheap hardware. But realistically, the users on 2010 laptops aren't the ones paying the companies bills so no one really wants to spend money on them.
> It means their app will feel slow no matter what.
How so? Do the heavy tools need to run alongside the app? Are you thinking of something like Android emulator? For that scenario, keep the beastly workstation, but switch to a $150 phone.
Actually having to develop (browser, IDE, compilers, etc) on a slow machine is pointless torture, but I do see the value in the app that you're building running in a resource constrained VM or equivalent. That way your dev experience is crisp, but you get a more realistic sense of how your application functions for the end user.
I think its reasonable to say anyone evolved in the product should regularly use the end product on low end hardware. I wouldn't expect devs to run full development environments on low end hardware unless they themselves are building dev tools.
Developers generally need to run a bunch of resource intensive tools to build the application in the first place, so an underpowered system will already be choking.
Straw man. Of course, if you crank that knob to the extreme bad things happen.
There might be a case for specifically running testing on a slower machine, though.
Agreed here. I think the optimal is for devs to be able to do intensive operations on a fast machine, dogfood for most of their time on a average machine, then test on a somewhat slow one.
There might be a case for specifically running testing on a slower machine, though.