There have been a bunch of “What I’m doing to become a better developer” posts on the blogsphere lately.
Looking at all these posts it seems that a great developer is measured almost solely based on his knowledge of new technologies and methodologies.
Besides improving presentation skills and keeping a blog (duh! coming from blog writers…) all posters concentrate on learning new technologies (WPF, WCF, WPF, Ruby, LINQ, Silverlight…) and experiment with development methodologies (TDD, Agile, XP, SCRUM, …).
Experimenting with new technologies or methodologies and keeping up with the news in the development world only makes good developers.
However, I believe that achieving greatness requires more than just the obvious technological aspects.
Development is not done in a void and to become a great developer one has to look outside of the natural territory developers feel comfortable at and learn about other aspects of software making: user experience, the business of making software, marketing, customer relations and support…
A great developer is a jack of all trades. Someone that can successfully integrate different trades, skills and disciplines in a practical manner.
Being able to see and understand the different aspects of a product (not just the technical ones) drives better communication and collaboration, which basically allows you to promote your ideas and initiatives more effectively and provide better technical solutions to problems at hand.
So, if you really want to become better developers expand your horizons beyond the conventional technical boundaries…