This is from my experience and understanding.
Windows OS gives users the freedom to set their own personal settings, so I believe the biggest headache with developing on your machine in your own environment is that the settings will need to be restricted to mirror the same settings with where the process will be running on. This can result is many re-coding sessions while trying to migrate your newly developed project over to a client’s environment. For example, simply having Chrome save downloaded files to a default location automatically (which is a default setting) will not be ideal for a client where you may need to change the setting to prompt the user where to save the file.
Another big headache would be if your machine is running with different versions of the Windows OS or other Applications. Simply coding on Windows 10, then trying to migrate a project to work on Windows Server 2012 for the client might set you up for some failures and difficult troubleshooting steps.
Also, the amount of dialogues and popups that can occur in certain environments can be overwhelming to try and code for every single scenario where a setting might be different in one environment than another.
So mirroring the settings the best you can, would be ideal and mitigate some of these concerns.
Additionally, coding on a laptop display will have a different resolution than if you code using a Monitor. So keep that in mind while coding for interactions that require images and pixels to be located in a particular size. Technically, you can code for all possible resolutions, but like I said, this can become overwhelming to always need to do that.
From my own personal experience, as a coder that is internal to the company rather than a consultant, I will typically use VPN and create a remote connection to our environment where our processes run. So I am basically remoting in… I’m not sure if maybe the clients could set that up for developers to utilize from home.
Lastly, remoting or using a virtual machine is a MUST for automation and RPA, because while you are testing and running processes, you are practically unable to perform other tasks… not ideal for associates with many other things they could be doing, or even developing other RPA components at the same time as testing.
I believe this is something that could improve in the future, being provided an environment to code in rather than your own personal desktop. Like a Cloud Machine of sorts, and is managed by a third party to create a consistent and reliable environment that never crashes. That is something I have been hearing about anyway.
Sorry for my long replay