Posted by doj
on January 3, 2006 at 11:54 AM PST
Looking around our development team, I notice a huge array of tools being used. This got me to thinking just how much this diversity contributes to our overall productivity.
Unlike many web development shops, ours doesn't have much in the way of standards. Sure, we have a standard technology (Java), a standard application server and a standard database. Beyond that, however, we are free to choose.
As I work with others in my team, I notice a wide range of tools being used to construct and deliver our applications: Eclipse, JEdit, NetBeans, NitroX, vi, Struts Console, Sun Java Studio; the list is almost endless. It seems that we have settled only on a single point of standardization: a build framework (based upon Ant) to ensure that all projects are consistent in terms of layout, structure and build.
My thought process led me to consider how this flexibility has impacted our performance. Does this help or hinder? Whilst I may have an engineering background, don't be looking for any strict science here! I am firm believer that there are no rules for what makes a successful development endeavour, only guidelines, experience and a sprinkling of luck!
As I watch my colleagues churn out code, review and ultimately test, I am often struck by how productive they are with their chosen toolset. Personally, I'm a NetBeans kind of guy. I've used it for a long time and it's what I'm confortable with. I'm productive with the tool. I also like to rely on other 'must haves', such as Cygwin in a Windows environment, emacs, Ethereal and WebScarab (ask my colleagues... any problem can be solved with a combination of emacs, Ethereal and WebScarab!) But I'm not biased to the point of insisting upon a toolset. On the contrary, I am sometimes in awe of features and processes that other tools provide. No, it is this diversity that I believe allows our creative side to flourish.
And that's where I think our performance comes from. It's not all down to our technical ability, the tools or the standards, it's our ability to creatively use all that to deliver web applications that do just what they need to do: work, work well and stand up to constant change.
The Java community is blessed by having such a diverse and wide-ranging palette of tools, frameworks and techniques. It's this, as much as the language itself, that allows us to deliver valuable applications that help build businesses.