that's because there is no engineering yet in software development. it is at the stage of middle ages production, a manufacture in its original sense.
client says 'i need a shoe' and developers start from scratch, everytime. it's as if you're tasked with buidling a house and first you design bricks, nails, ... (libraries, frameworks, languages).
the fact that shit like i18n to this day is not natively handled by the frameworks itself and does break software in 2014 is amazing. oh you entered a date with saudi locale and their business days do not match ours? oh shucks.
outside of large scale public infrastructure projects construction is entirely predictable and safe now.
it all starts with education and there is no software engineering one - engineering is all about known entities, process and safety margins. best practices, gathered for hundreds of years.
it also explains these massive successes with software right now - it is a very young industry, public utilities do neot exist yet. you can reap massive rewards by offering sewage removal in a better way (facebook).
"outside of large scale public infrastructure projects construction is entirely predictable and safe now."
My last three home remodels and the recent corporate construction we are in the process of finishing beg to differ with you. Heck, every house flipping/building show on HGTV disagree.
The same holds true for mass produced items, especially once they've been deployed. My last pick-up truck was occasionally a nightmare to get parts for since what was on the truck didn't match what the dealer/auto-parts store said should be on there. Figuring out what brake pads to get for the after-market brakes took myself and the old guy behind the counter at autozone an hour and a half of eye-balling and trying stuff.
Building anything is hard, and when it comes time to change/fix it it become worse, especially if you need to keep using the item in question during the period that you are "improving" it. You never know what you're going to find once you start poking holes in the walls or pulling parts off.
client says 'i need a shoe' and developers start from scratch, everytime. it's as if you're tasked with buidling a house and first you design bricks, nails, ... (libraries, frameworks, languages).
the fact that shit like i18n to this day is not natively handled by the frameworks itself and does break software in 2014 is amazing. oh you entered a date with saudi locale and their business days do not match ours? oh shucks.
outside of large scale public infrastructure projects construction is entirely predictable and safe now.
it all starts with education and there is no software engineering one - engineering is all about known entities, process and safety margins. best practices, gathered for hundreds of years.
it also explains these massive successes with software right now - it is a very young industry, public utilities do neot exist yet. you can reap massive rewards by offering sewage removal in a better way (facebook).