Two (2) months after buying our first house, a giant hailstorm rolled through South Minneapolis, and damaged practically everyone’s roof. This is what homeowner’s insurance is for, so we filed, like everyone within like 2 miles of us. This was the week that the roofers arrived to tear off the old shingles and replace them.
When they got here, they discovered this:
That’s our porch roof. With the shingles and paper removed, you can see that it’s made of boards with wide spacing between them. That is Not To Code by Minneapolis standards.
I’ve written at least two talks that have references to how amazing and awesome building codes are, but let me say it again. Building codes, as irksome as they seem in the moment, are how we keep each other safe. Because the contractors can’t just shingle over something out of code, the insurance company has to pay for new decking/substrate. They don’t fight much about this, because having a roof that won’t immediately vent fire into the asphalt shingles or leak directly through to the inside is in their overall best interests. It’s in the city’s interest to keep the building stock safe and habitable (and tax-generating), and having solid roofs helps a lot with that. It’s in the environment’s interest to make existing houses safer and upgrade them, instead of tearing them down and building new.
We all win when we can incrementally improve something existing that has a known problem, instead of building something entirely new to replace it and having surprising new problems. That’s not to say we don’t need to build new things – of course we do. But we also need to bring old things up to modern standards, one double-glazed window and documented API at a time.