Building an environment to develop software takes time. Lots of time. If you gave me a fresh Macbook and said “Go!” it would take me nearly a week to get all my environments set up correctly. Sure, there are smart people using Chef to get around this and automate everything. This is a good idea and makes sure that all the developers in the organization are running the same versions and configurations of necessary development tools (XCode, CMake, Rails, etc.) but even this requires constant maintenance. I would also worry that this enforced uniformity would prevent developers from experimenting with new tools to do things better. Since it’s already quite common to use web based Git browsers (Github.com), web based continuous integration systems (jenkins), web based project tracking systems (JIRA), it doesn’t seem like a stretch to use a web based development environment. It requires no setup and you would only have one environment to maintain.
Read the rest of this entry »