Ask HN: Big software teams, how do you manage your computers?
I'm curious how big (this definition: Above 50) development houses manage licenses, installation of updates, software in general.
I've seen so many models in terms of locked down deployment, self-managed machines and I'm genuinely curious about what large software teams around the world are doing to keep themselves.. you know, legal, efficient and malware-free.
Thanks for any responses.
19 comments
[ 2.7 ms ] story [ 42.3 ms ] threadNormally in a centralized system you would hook up CI/CD processes to dedicated infrastructure, so that when developers commit to your RCS/VCS server (github, gitlab, whatever else), builds and tests are automatically run.
This infrastructure may be a dedicated system, a cluster, or outsourced infrastructure (real or virtual).
Because git (or any other RCS/VCS) is a well defined formal interface between the developer and the rest of the development-related business processes (automated or otherwise), it means individual machines can just be user managed, which developers tend to prefer.
It's worth mentioning that there is a school of thought that builds or tests that take longer than a few seconds on a developer's machine are undesirable from a workflow optimization perspective and may be indicative of a non continuous delivery (CD) capable codebase, with probable features such as knowledge silos ("only that guy knows"), undeployability, low quality, lack of project visibility, infrastructure tie-in and late defect discovery.
If you have to wait 1h for testing feedback it kills the development inertia.
And so do slow development tools, compiling something for 2 h and then getting negative feedback is not cool, and yet this is something I've seen happen at my current job and it drives me insane.
You could consider an on-demand cloud-based compile farm, or incremental builds with snapshots.
The consensus is that physical developer hardware is best managed by developers.
The 'problem' of managing 'large numbers' of 'commercial software licenses' is not a problem with automation; unfortunately it goes against the grain of developers managing their own hardware.
It seems the real problem in the OP's organization is management unwilling to delegate and constantly searching for centralized solutions to trivial 'problems'.
I've never heard of anyone quitting because of this issue.
Microsoft shop detected. I would not call what goes on at Microsoft shops like you describe "software development." More like heavily managed technician work.
At the time other companies (such as google) used puppet + custom scripts to deploy their license files + other executables on their Macs whilst leaving the users with sudo access.