Wednesday, September 10, 2014

Software Craftspeople: Generalizing Specialists and Specializing Generalists

I recently came across a series of Agile essays and collections of knowledge about agile design, database refactoring, agile practices and more. After reading http://agilemodeling.com/essays/generalizingSpecialists.htm#Figure3
by Scott W. Amber I started analyzing my own skill set and how it's grown over the years. I've always been more of a jack-of-all-trades sort of person, which I attribute mostly to a craving for mental growth.

The essay makes some compelling arguments for composing a team of generalizing specialists. Some of the arguments include better communications, more accurate knowledge which is shared amongst all members of the team, and less overhead - all of which result in better overall efficiency and more accurate results.

The author offers a case that having generalized specialists will result in reducing redundant documentation which in turn results in more accurate and maintainable documentation.

As for my own generalizing, I've been working on growth in terms of strategy, architectural diagrams, and planning. The hard skills in which I am strongest include RDBM, JavaScript, html, css and C# .NET. I have some skill in Java, nosql db, and VB.NET. In the realm of soft skills - I've been writing, growing my "business analysis skills" and improving communications overall.

No comments:

Post a Comment