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.
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.