Breakpoints and Quality
Last summer the power supply on my old, first generation LCD TV started buzzing. This wasn't the first time it had done that. A few years ago, when it still belonged to my parents, it started buzzing at a frequency just high enough that no one except me could hear it. It was still under warranty, so after convincing my Dad that I wasn't going mad, we sent it in for repair. When I moved to New York in June 2011, my parents decided they were bored with television and told me to take it along. "It'll save you a few hundred inevitable dollars," Dad said. And so to Brooklyn it came, a 27 inch Polaroid television that seemed proportionally worthy of my 200 square foot apartment.
I should note that I hardly, if ever, watch television. My ADD has a hard time putting up with 20 minutes per hour of commercials for products I don't want and shouldn't buy. I do though enjoy an occasional movie courtesy of a friend's "borrowed" Netflix streaming account. My roommate, however, watches football. He did, I should say, until a certain Sunday last fall. I walked in the door that day and began to take off my shoes when my roommate asked, "What's up with the TV? I was watching the game and it just turned off. The standby light isn't even on." I walked over to look at it; the power supply was warmer than usual. I tried turning it on again. It obeyed for a few seconds and then promptly died again. "It's done." I said. "I think the transformer burned out."
I still have decent enough soldering skills that I could probably fix the transformer. I also thought about replacing the unit with something nicer. But then a more intriguing thought occurred to me, "What if this could be a breakpoint." Like, I suspect, most kids growing up in the States in the nineties, I can't remember not having access to a television. What an interesting experiment it would be to consciously decide to not have TV available. My goal, aside from curiosity and a desire to not spend a few hundred dollars, was to make other, more beneficial means of entertainment more appealing. I would start with reading more and follow with writing more. This experiment combined with my interests lead me to William Zinsser's phenomenal book, "On Writing Well."
I would highly recommend that anyone who ever plans to put at least three words into sequence should read this book. Not only is it relevant for long-form writing and essays but also public speaking and interoffice communication: two things I seem to do a lot of. What especially impacted me, though, was the final chapter. After just under 300 pages of discussing how to write well, he switches to a more philosophical subject. He begins to discuss why you should write well.
He had a passion for quality and had no patience with the second rate; he never went into a store looking for a bargain. He charged more for his product because he made it with the best ingredients, and his company prospered…
Only later did I realise that I took along on my journey another gift from my father: a bone-deep belief that quality is its own reward. I, too, have never gone into a store looking for a bargain. #
Ostensibly, those passages apply to writing. In reality, they apply to so much more. In reality, they represent a mitigation of so much of what's wrong with modern anti-culture. As much as I enjoyed working as a consulting web developer, the consistent disinterest in quality drove me from it. I love writing good software. I love working on teams with people who really care about building something the right way. The way that will last. The way that will make our inevitable successors understand and agree with the choices and tradeoffs we made. The way that, when you have a long view, makes sense. My current team is a great example of this: 7 other people who love doing things right.
Unfortunately this is not the prevailing trend. Not in the software industry or the automobile industry or the world. The prevailing attitude among so many people isn't, "I'd like to buy a really nice pair of shoes, take proper care of them, and wear them for the next 40 years." Instead people are raised to always want a new pair of shoes, a new house, a new car. Advertising indoctrinates them to believe that's ok. "You deserve a new pair of shoes", they hear, "and it's ok, they're mass produced and they're so cheap that everyone can afford them!" And so, instead of buying 2 pair of Allen Edmunds or Aldens, they buy 20 pairs of Nike and New Balance.
Not only is this wasteful and materialistic, but it robs one of the inherent joy that comes from good. Good is replaced by the cheap imitation that is new. Shiny. Gaudy. This isn't anymore sustainable in shoes than it is in software. As programmers and system architects, it's our job to emphasis this. Capitalism is capitalism. It will always prefer cheap to good and now to later. The only way to prevent that is to stop undercutting ourselves and stop minimising the costs that come with doing something wrong.
Sure, the application could be done in a month by an understaffed development team. It's going to be ugly, have a bad user experience, tarnish the company's name, and occasionally delete the user's entire home folder. Or…we could hire another developer, take 3 months to build it, and make record profits.
Some companies will never accept that. A bad application is good enough, they will say. Those companies will eventually fail. As a developer, though, it's still our job to try. "Several magazine editors have told me I'm the only writer they know who cares what happens to his piece after he gets paid for it…yet to defend what you've written is a sign that you are alive."# To defend quality is a sign that you're a good programmer. To defend quality is to have satisfaction is your work.