Hi, we are currently discussing within our company if the current state of developer PC setup is okay ore should be improved.
Current state:
- Laptop with either Linux, Windows or MacOS pre-installed and integrated in Microsoft AD is provided.
- The developer needs to install software, CLI tools, Git configuration and so on by following guides in our documentation.
- Docs are frequently updated to reflect latest changes within the tooling (new version of software, different commands, ...).
- Setup time is roughly a day for less experienced developers.
Now some people ask for an automation to get a "pre-installed" laptop that only needs some sign-in credentials to get started. I'm sceptical that this does work without huge efforts, developers preferences might interfer a lot with the auomations. Especially for the upgrade case when updates happen.
Is there any other company/your employer doing such a thing and how well does that work?
1. There's very rarely a one-size-fits-all solution, in terms of what people need. Oh sure, if everyone needs a VPN then you should install the VPN and suchlike. If there's mandatory corporate security software, add that as well. But will they need docker? Will they need virtualbox? Will they need VS Code? CLion? PyCharm? IntelliJ? Do they need Java installed? Which version of Java? Will they need Altium? SolidWorks?
2. There's constant churn. You can't just create an image once and use it unchanged for years - there are so many components involved that there'll be some change or other needed pretty much monthly.
And you can't rely on volunteers helping out to scratch an itch - everyone in a position to do that has long since got their computer set up how they like it.
What's more, lot of the changes you end up pushing out will be unpopular. Ain't nobody going to volunteer their time to add a giant block of all-caps legalese to a login banner, or to deploy enterprise security crapware like crowdstrike.
3. Laptops are imaged by level 1 helpdesk workers. People who can troubleshoot Linux problems and maintain setup images probably aren't in helpdesk at all, and certainly aren't level 1.
So if you imagine making an image and handing it over to helpdesk to maintain - you'll find doing so isn't possible.