You hit the nail on the head! Great job putting this into words. But here’s an interesting question: why can’t I imagine Zaha Hadid or Rem Koolhaas (architects, as in designers of buildings) laying the bricks for their own buildings? Working the cranes? Putting together a marketing website? Usually they don’t even choose the kind of tiles that go into their buildings’ bathrooms.
Yet we accept — and like (?)— that in our industry someone can be a jack-of-all-trades, covering everything from the big idea, architecture, technology choice, interface design, down to every single line of code, and also write specifications and capture user feedback. Heck, if you’re in a startup you might even put marketing materials together and participate in sales calls.
Even though there are lots of arguments for this, I also understand why especially in larger companies, this isn’t sustainable. Just like in the construction industry, this is a matter of accountability, not responsibility.
If you don’t like a building, the way it looks, or the materials used, would you blame the construction worker? No, he isn’t held accountable for that at all. There are very strict definitions for accountability in the construction sector, and that’s probably a good thing. It’s the reason why buildings tend to outlast humans, and the reason why their industry needs architects, structural engineers, mechanical & electrical engineers, interior designers, etc. etc., and, yes, bricklayers.
I guess the strange thing about the software (or IT) industry is that we have a lot of smart people who want to be responsible for different things, whereas in other industries that’s not true (I don’t think Mr. Hadid would really want to take on a construction job for a whole building). This is great, but when it comes to running a business, having a clear and consistent separation of accountability is really useful… It’s tough to convince a (internal) client that they won’t have any issues with your product later if you’re seemingly not holding your people accountable for a specific part of the process that they have mastered and can be fully held accountable for. We may accept this now, but that will likely go away.
So, I guess it’s a natural aspect of a maturing industry: perhaps there will be a time when most of the low-level problem solving is done, ‘architects’ all agree on terminology and purpose, UI design is like interior design, and, yes, coders will have become the bricklayers of software…?