July 22nd, 2010 §
In my previous post “Why Software Developers Shouldn’t Run for Congress” I poked fun at the idea, proposed by a pie-in-the-sky, government-would-work-well-if-only-it-were-run-by-my-kind-of-people type, that an influx of software developers would noticeably improve the quality of our laws.
During a subsequent Facebook discussion, I came up with an additional “reason” why developers might enjoy Congress: developers hate testing their code, and Congress never tests before shipping. Of course I was being flip, but the idea has since gotten stuck in my head.
In software, when you want to make changes to code, you test them. You change small pieces and use unit tests to make sure they don’t break existing functionality. You develop a spec outlining what the code is supposed to do, and then you check that it does those things before you ship it. You have code reviews so that other coders can inspect your code looking for possible unintended consequences. You let normal users try to break the code before it ships. You try using the code yourself for a while before you inflict it on your customers. When you know that people will try to “game” your final product, you model their behavior and try to account for it in your design.
In particular, if you want to stay in business you don’t show up the night before release with thousands of pages of unreviewed, untested, hodge-podge code written by the very people hoping to hack your systems, full of hidden side effects, functionality that wasn’t in the spec, backdoors, and billion-dollar bugs. Unless you’re Congress, of course, in which case you stay in business no matter how sloppy your “coding” habits are.
So while I still don’t think Congress would be particularly improved by the addition of software developers, it sure as hell could benefit from some testers.
July 19th, 2010 Comments Off
Over on his blog, Clay Johnson gives five reasons why software developers ought to run for Congress:
1. They’re underrepresented. (Similarly, so are people without college degrees, so perhaps they ought to run too.)
2. Congress could use their expertise. For example, think about the more-than-1000-page Stimulus Bill. Not only does it monkey in an unintended-consequences kind of way with multi-billion-dollar swaths of the economy, it also contains a poorly written website spec for recovery.gov! If we had more developers in Congress, perhaps the bill would only do the former.
3. Software developers like solving problems, and will make the Congress more efficient at doing what it does. Like, maybe instead of just posting self-serving press releases on their websites, they can add them their Twitter feeds as well. Rather than ignoring their constituents’ letters and phone calls, they can ignore their emails and tweets. Rather than arbitrarily deciding where to allocate waste-of-taxpayer-money pork funds, they’ll write software programs that use “algorithms” to decide where to waste our money. The possibilities are endless.
4. They’d probably staff their offices with other software developers, who would not only Rails-ify House Subcommittee websites that no one cares about, they’d also be much less likely to sue the taxpayers for sexual harassment. Everyone wins.
5. Software developers are great communicators! Sure, they use too many acronyms, and they tend to stare at their shoes instead of making eye contact, and they’re afraid of girls, and they prefer instant messaging to actual conversation. But they’re also much better at foursquare (“Congressman Jones is now Mayor of D.C. Madam“) and they’d probably update their blogs a lot more frequently.
–
The blog post doesn’t mention it, but there are also some good reasons why software developers shouldn’t run for Congress.
1. Congressmen spend most of their time raising money, which will bring back all those bad memories of your last failed startup.
2. Not only does Congress not provide free sodas, they’re always trying to tax them!
3. (# of foosball tables in Capitol) + (# of XBOX 360s in Capitol) + (# of ball pits in Capitol) = 0
4. Terrible iPhone reception in Congressional office buildings.
5. Software developers hate bullshit; Congress non-stop bullshit.
November 8th, 2009 Comments Off
Inspired, perhaps, by Quentin Tarantino’s multi-part epic Kill Bill, auteur Larry Lessig has begun work on the not-dissimilar Change Congress Chronicles.
Volume 1, “Congressman Campbell is a Friend of the Auto Industry,” chronicles Congressman John Campbell, who is a friend of the auto industry.
The film quickly establishes the character of Campbell, who spent 25 of his pre-politics years working in the automotive industry. In the next scene, Campbell landlords for a bunch of used-car lots, earning somewhere between $600k and $6m a year. And a flashback reveals that Campbell has pocketed $170k in campaign contributions from the auto industry over the years.
At which point the film shifts gears to focus on the “Consumer Financial Protection Agency Act of 2008,” which (according to Lessig’s voice-over) is designed to protect consumers from the “shenanigans” of the “money-lending industry” (which everyone knows is a thinly-veiled euphemism for “Jews”).
The film does not delve into the bill’s merits or specifics, relying on astute viewers to infer that it represents an unalloyed good, based on both its opposition to “shenanigans” and its titular references to “consumers” and “protection.”
In an easy-to-guess plot twist, Campbell guts the bill by introducing an amendment that would exempt used-car dealers from its provisions, allowing them to continue their “shenanigans.” The film does not delve into the amendment’s merits either, relying on astute viewers to infer that it represents an unalloyed bad, based on both its opposition to opposition to “shenanigans” and its benefits to the used-car industry, which everyone knows consists primarily of dishonest, wicked people.
The movie ends with a three-fold call to action.
First, viewers are encouraged to “tweet” the Congressman, flooding his twitbox and letting him know that we’re onto him and his anti-anti-shenanigan agenda.
Second, viewers are encouraged to contact Congress, telling them to reject “this special interest legislation.” Presumably this refers to the Campbell amendment, which counts as “special interest legislation” on account of pertaining only to the interests of the “special” used-car industry, and not the original CFPAA, which pertains to the interests of the “unspecial” money-lending industry.
Finally, viewers are encouraged to demand public funding of elections. You see, if there were public funding of elections, then Campbell likely never would have spent 25 years working in the auto industry. And he certainly never would have gotten into the landlord-for-used-car-lots business. So he’d totally have no reason to take a particular interest in how proposed legislation affected the auto industry.
The film ends on a cliffhanger, as it deliberately avoids answering the obvious-to-the-viewer question “as long as Congress has the power to write laws favoring one special interest group at the expense of another, won’t these interest groups use any means they can (which obviously includes a lot more than campaign contributions) to get the laws to favor them and disfavor others?”
I’m excited to see how Lessig resolves this in his next film.