Software engineers today learn the quickest way to look up a code snippet on Stack Overflow and then load a PNG in iOS with a cryptic language like objective-c and then scratch their heads and wonder why the alpha is baked into the color channels. Then they find themselves knee deep in a conversation on chat/irc/a forum somewhere debating the relative merits of file size vs. ease of use. After reaching a stalemate with coworkers, they end up doing everything twice to satisfy both camps and carry around the baggage of added complexity for all time. The code grows and grows as it’s made to work cross-platform and eventually breaks one day when someone unfamiliar with the reason for the complexity decides to axe it in favor of the One True Way, which breaks some other app he or she isn’t working on.
This is a story about one line in one file. But there are a hundred files, each containing a thousand lines, in a million apps. It doesn’t matter if you learn how to do it better next time. There are infinitely many problems, so if you think it ever gets any easier or that you will be spending any less of your time overcoming these types of obstacles, you are fooling yourself. It gets worse. And worse. And even worse.
Posted from Diigo. The rest of my favorite links are here.