About Me

Training

Develop With Passion® - Developer Bootcamp

Subscribe

The fallacy of the standardized developer machine/image

Written July 02, 2009 at 14:00 MDT Tagged tools

One of the discussions that comes up with a lot with other developers that I talk with is the question of "How productive I would be if I were not able to use the tools/frameworks that I use to make me a much more productive software developer." The basis answers is: "much less". Having worked in environments where people can be forced to use "standardized" developer images with a common toolset that give no room for individual customization, I can tell you that the observations I have made are a couple of the following:
-Unwilling acceptance of substandard tooling to get the job done
-Potential ,in reality very often often, loss of individual developer productivity
-Developer frustration on a daily basis with the "policing" rules that are in place
......
I stopped the list short as it can really go on and on.
The reason that the standardized developer machine cannot work is that every developer "wields their lightsaber differently". The tools and customizations that I have made to my machine are the steps I have taken that allow "me" to achieve great levels of productivity. I have to stress these are the tools that make me productive. They make me productive because I know how to use them, I have taken the time to hone my ability to use them. I can't expect that another developer who comes onto my machine would be as productive if they were not familiar with the tools/techniques.
Of course if I were to bring another developer to pair with me on my machine and they were not proficient in using these tools, they would be just as unproductive (initially). It is more likely that they have a set of tools/customizations that they have made to their machine that allows them to work extremely effectively. The point is that they are able to make the modifications to their individual machine that allows them to become more productive.
What are your thoughts on approaches to machine/software configurations in teams?
Develop With Passion!!