It is no secret that [very good] IT resources are a rare breed in the enterprise IT world.  But, what is not apparent to many managers, recruiters, and executives is “Why?”.

All-too-often, developers, admins, architects, and higher level decision makers get caught up in the enterprise culture, a culture where each person is given the smallest piece of a bigger picture, where each person focuses on not just one business area, not just one application, not even just one aspect of implementing an application, but instead, people are expected to spend an enormous amount of time on one small — actually, tiny — piece of an application.

I was asked to work with someone who was a Senior Java Developer from a large enterprise and was shocked at what I experienced.  This person could not form a simple SQL select statement to pull data out of an Oracle database.  It wasn’t enough that I was shocked, however.  This person themselves was shocked that developers at a mid-size corporation were actually expected to know how to design, build, and maintain an entire Java-based application (even if just a small one), including how it interacted with the database.  I learned that she had come from an environment where she owned a single Java class and maintained it for years (it was pretty much her entire existence).  It was a piece of code based entirely on Java logic and had no database interaction at all; learning how to work with a database was not going to be a problem for her, but learning how to do it effectively most certainly was.

What is your experience with developers that come from the largest of enterprises?  I’m sure it has much to do with the specific organization, business area, application, team, and even direct manager, but my guess is that you are also finding technical people becoming more and more specialized (to the point of pigeon-holed) as technology becomes a larger “business” at every organization.