Building software with an engineering approach is a real thing. Not everyone subscribes to it, but doesn't mean it isn't a real thing.
For the record, I do a lot of gardening too, and building software has fuck all to do with that.
I also don't get how everyone who argues against software-as-engineering talk like buildings and bridges never fall over. They do.
2. It is quite dumb to assume we build software in the same way that bridge is built. That's essentially what Water Fall method would do. You build the blueprint precisely, build a prototype and then build the actual bridge. I don't see why the author would assume we think we were classical engineer. I never assumed we would be using the same technique all the time.
It's a very important thing to understand and explain that software development is _not_ an engineering discipline -- at least not yet. We strive to make it another branch of engineering, that's why we have design patters, methodologies, etc. Engineering is usually boring, but predictable, and that's a very important property software lacks at the moment.