Alexandru Bolboaca rejects the notion that software hasn’t become a proper, professional engineering discipline because it’s too young:
It recently dawned on me how often I say or hear the words “our industry is young”. There’s truth in these words. . . .
And then he goes on to explain the many reasons why “too young” is a lame excuse for a lack of professionalism in software.
But I think he misses the real issue why software is mostly written by people who lack the discipline he’d like to see: It’s because software is so easy.
It’s really hard to make a bridge that won’t fall down. It’s much harder yet to make one that not only won’t fall down but is also affordable.
Relatively speaking, software is trivially easy and very cheap. Anybody can start making small programs, just like anybody can stack one rock on top of another. But scaling up from small programs to medium-sized ones is something that actually works—anybody can do it. Scaling up from stacking one rock on top of another to building a stone bridge is another thing altogether, because relatively speaking software is so easy.
I suspect that we’re about to get a test of this notion. Pretty soon now I suspect that materials science will give us some new structural materials that are cheap, extremely strong and very easy to work with. I don’t know what it’ll be—carbon fiber, nano-assembled sapphire, resin—but it’ll be cheap enough and strong enough that any yahoo will be able to put up a structure that’s as easy to build as a lean-to but as sturdy as a house.
My prediction: Once that happens, we’ll see a partial collapse of architecture as an engineering discipline. There’ll still be real architects (because the education programs are so well established), but very quickly only large or public buildings will be designed by real architects. If you can throw up a sturdy building in a few hours for a few dollars, people will totally do that, just like they’ll currently write little programs that do something they need done, even if the programs are otherwise crappy in many ways.