4 ms·
1) Standardising on office software tools that are essential to the work of the dev team is in my humble opinion, a terrible idea. Yes, this means the microsoft
by etherael 17y ago
1) Standardising on office software tools that are essential to the work of the dev team is in my humble opinion, a terrible idea. Yes, this means the microsoft stack, it tends to make people jump through hoops they're not fond of jumping through and in all instances I can think of it's actually better to be doing it some other way.
2) Standardising on anything that requires Mac OS means that you're pretty much stuck with people that are happy with Mac OS, and while admittedly that is not a small number of capable devs, others really hate it, and with very good reason.
3) Virtualisation can offset "essential" items in the standard operating environment, as long as they can run on platforms that can actually be virtualised, which is my Mac OS is such anathema here.
4) Having virtualised environments that are self contained working images of everything required to "be productive" takes the guess work out of "Does employee X have everything necessary" and drastically alleviates any crippling hardware issues, if all it takes to keep going is a virtualisation image and a new machine, disaster recovery becomes very trivial.
5) If you're really insistent on the whole "having everyone at the office" idea, you could even try trading out virtualisation for remote access to various environments. Once again, this is an Everything But Mac OS solution as OS X remote access is terribly bad compared to Windows or Linux based solutions (RDP / NX vs VNC)
6) That said, I think tying your team to their desks is a good way to annoy some people, long term if you decouple your team from the requirement to remain physically present you are a much more attractive opportunity than otherwise. Go distributed whenever possible, this means dev environments that have full deployments of whatever is necessary to work 100% offline. Git over subversion, make sure they have copies of databases that are required to actually run the code they're writing, etc etc etc. Long term goal should be that they can work from absolutely anywhere any time regardless of network access.