

Ask HN: Do devs on your team all use the same OS for development? - hckr1292

Follow up question for bonus points -- how much time does your team spend resolving issues related to differing development environments?
======
shubb
Big company. We use a mixture of Linux and Windows. Working in C++, this is
tricky, our product is cross platform, so it guarantees someone is trying it
out on both OSs, and with different compilers (we autobuild gcc, clang, MS).

Stuff that's ugly -

* Cross platform testing - we run unit and system tests on both platforms, and use a custom tool to run the builds and generate reports. Maybe this could look a lot nicer with Jenkins and virtual machines, but what we have now is two servers and a mess of bailing wire. I've found tools like Chef don't work that well on windows but I might just be doing it wrong.

* Our best programmer likes to work under Linux. When he adds important platform stuff like new libraries, he often 'forgets' to test it on Windows and we don't find out till the master branch's tests fail.

* Because people are using different editors, sometimes the code autoformatting is different. That creates a lot of noise from perfectionist types at code review time, although I think that more shows we need to improve code reviews.

* IT keep breaking the windows environment by making the computers more secure

As for how we resolve issues - we have setting up a development environment,
doing a full build, and running the tests fully scripted. The build/test
system lets us know when something doesn't work on a particular platform
pretty quickly. The team has a culture of visibly shaming people who create a
platform issue (there is a trophy for the last person to cause a test to fail
in the master branch as we should be running them locally) and then
automatically cross platform on a branch. I don't agree with it)

