A cook in the US Army

(No members of our armed services were harmed in the writing of this analogy)

So think about a cook in the US Army. Food Service Specialist (92G) as the army calls it. Cooking and feeding is something the US Army needs to do. There's no question about it. There can be serious consequences if we don't do it right. However, how often do we give out medals for excellence in cooking?

I think most companies treat their programmers and IT people the same way that we think the US Army treats its cooks. We often don't get the resources and feedback they need. Today, every company is a technology company whether you like it or not. There is no escaping it.

In an agile environment, we need cross-functional teams. Does that mean that programming will die as a profession? No. I think what should happen is we need to broaden the field so we have more subject matter specialists or people with knowledge in their domain take a more hands on role in the process of software development. I think this is the logical next step in agile software development. People already wear different (often multiple) hats.

We just need to figure out how this fits with an organization's hierarchical structure.