We’ve come a long way from the days of computers the size of rooms and punch cards. But is your development environment any easier to work with? What makes up a good development environment? Here are the principles that I follow to build my development environments.
Lets you work your way - Developers love their tools and setup. They shouldn’t have to change them to do their work.
Gets out of your way - Developers shouldn’t have to maintain the environment. It should just work for them.
Easy to use - Developers of any level should be able to use the environment.
Easy to get started - Developers shouldn’t need pages of documentation to figure out how to start working on your product.
Portable - Accessible anywhere the developer can access the code.
Reproducible - It must be able to use one environment to start a new project.
Matches Production - You must develop in the same environment that the end product runs on.
These are all achievable goals. Does your environment meet these rules? Can you change your environment to achieve these goals? I’ll be talking more about this at Pittsburgh TechFest 2014. Come check out my talk – “Using Vagrant to Build A Happy Web Development Environment”.