Everything is Broken. Basically.
Recently I started a web development job. After two months, nothing is more relevant than this paragraph by Peter Welch:
Remember that stuff about crazy people and bad code? The internet is that except it's literally a billion times worse. Websites that are glorified shopping carts with maybe three dynamic pages are maintained by teams of people around the clock, because the truth is everything is breaking all the time, everywhere, for everyone. Right now someone who works for Facebook is getting tens of thousands of error messages and frantically trying to find the problem before the whole charade collapses. There's a team at a Google office that hasn't slept in three days. Somewhere there's a database programmer surrounded by empty Mountain Dew bottles whose husband thinks she's dead. And if these people stop, the world burns.
It's been a month full of taking an entire week to find out the cause of this bug, finding some previous idiots in-line, (inside a freaking HTML img tag) javascript that has been terribly implemented all for a hover image effect, and CSS.
It's a lot different from a blog or funny website when you’re deploying your code in the real world, but it sure is a learning experience. You never would’ve thought some random ‘mark’ class in bootstrap was going to interfere with a page handed to you with code from someone you’ve never met, but suddenly you’re trying to figure out a work around while still maintaining the same functionality and not upsetting people.
My favorite little method I’ve learned is the band-aid method of testing. When you’re maintaining a website for a separate group, sometimes the best thing you can do to fix it is tear it off, and see if someone screams1. 9/10 times, the weird feature was just by that old developer that no longer works there that you adore so, so much. And no one else will miss it when it’s gone.
1. Or emails you. Calls you. Calls someone else and blames them. Or hopefully just doesn’t notice.↩