No software code is free of bugs, and no marriage is free of hitches. Fortunately, in both cases, those issues can be addressed—using techniques that are surprisingly similar, writes David Auerbach at Slate. He should know: He's a software engineer, and so is his wife. A few of his tips:
- Beta-test your marriage: Make sure you've given the relationship plenty of time before you walk up the aisle. "We waited 10 years to get married, to rack up enough evidence that the code was now robust enough to keep the product running smoothly."
- Bugs "hibernate," but they don't go away by themselves. "If you haven’t actually fixed anything, it’s a dead certainty the enigmatic bug will return." Same with that niggling issue in your marriage—the friend you can't stand, for example. Take the time to "talk it out."
- Most code is simply support structure for the task the program is actually supposed to do. Likewise, a marriage can't just be about love; that would be "about as stable as Windows 3.0." You must work on the infrastructure, "the little piddly things around scheduling and finances and chores."
- Bugs might hide for a very, very long time before you notice them. Programs can crash years after they're written, and "a good programmer knows that she never knows everything about a program," Auerbach notes. "Likewise, even after 18 years together, I know that my picture of my wife is still only an approximation of a very complex person, and thinking it complete and accurate will inevitably lead to error upon error."
Click for the rest of Auerbach's tips