Specialization vs Generalization

Depending on your location and the amount of opportunity may ultimately decide which side of the fence your on.

For me, understanding why a tool/framework exists and the problem is solves is much more important than understanding how to use a specific tool/framework.

Anytime the hiring discussion comes up, I am always reminded of this.  While do people classify themselves this way in a resume?  Django Developer?  I guess if you only want to develop in Python using an MVC framework, then sure.  But doesn’t this tend to lead to “When all you have is a hammer, everything looks like a nail”.

The understanding of a pattern or practice is transferable between programming languages and frameworks.  NHibernate or Entity Framework?  StructureMap or Unity? Who cares!  You probably won’t touch the delta anyway.