Clay Johnson has an interesting post suggesting programmers would make excellent Senators. I like the spirit of his argument, but have trouble with some details.
I agree in some cases they certainly couldn’t be worse, but I know many programmers. All the ones I can think of who might be good Senators would find the process of becoming elected, and the day to day tasks so abhorrent, that they’d recuse themselves from consideration. There is a general trap in politics: the people best suited to have the job are the people least likely to want to run.
It’s not a surprise Clay is a programmer himself, and the article largely explains why programmers are super cool. I’m not saying he’s wrong – some programmers are super-cool. But he falls into the class of people he’s applauding,which encouraged me to take a spin through his list.
Lets take his points one at at time:
1. They’re under-represented as a profession.
Indeed, they are, and he offers facts. There are 1.3 million programmers to ~740,000 lawyers, yet lawyers are 40% of Congress. It’s a good point. But there are also 6.2 million teachers in the U.S. And one could make an argument teachers, who can explain things well and think about the future, should be better represented too. In fact I bet there are tons of professions that should be “better represented”. This is a good point, but it’s not specific to programmers.
2. Government’s problems are becoming increasingly technical… check out the first piece of legislation this Congress passed: The American Recovery and Reinvestment Act of 2009 isn’t just a 1000+ page bill that’s now a law, it’s also a technical specification for recovery.gov written by people who don’t know how to write specifications.
There are two skills bundled up together in here. In rough terms first Congress figures out policy and then figures out how to implement the policy. I agree, programmers might be better at writing specifications, but they have no real qualifications for either figuring out policy, nor for collaborating with other congressmen on both policy and implementation. Congress is insanely collaborative, almost painfully so, and collaboration, over slow timelines, with lots of meetings and committees, isn’t a kind of collaboration mamy many programmers would say they are good at, much less, can tolerate.
3. Third, great developers are systems fixers and systems hackers. There is no system more ripe for elegant process hacks than the United States House of Representatives… They’ll build systems to make it so they can hear from their constituents better. Just as Ted Kennedy had his staff make the first Congressional website, a developer in Congress will seek to use new technology to make their job easier. That’s what hackers do.
I’ve always thought policy is a kind of design – systems design. There are many professions that think in terms of systems: architects, interaction designers, plumbers – seriously. They think about goals, constraints, alternatives, etc. and it’s design thinking that seems most lacking in policy.
But assuming I concede programmers are best suited to design systems – any senator who pushed for change would need to manage the side-effects. Old systems do not like change, and defenders of old systems really hate leaders who push for change. How would the rest of Congress react to being ‘hacked’? Unless the person doing the hacking is smooth, charismatic and political enough to make their hacks seem like concessions, or to build coalitions around their changes, they’re unlikely to get far, as they’ll be seen as threats rather than progressions.
Any ability to fix the system, or to hack a system, has to be done in a way that is palatable to allies, and this is a set of skills separate from coding skills.
4. Web-native developers hire other developers. A developer who is elected a member of Congress that’s a true developer will likely be smart and hire a developer or two as staff. . a few of them working inside Congress — with a Member of Congress who is also a developer — can start bridging the gap between citizens and their government in new ways.
This is where things get shaky – wouldn’t it be better to simply have a young Senator who is tech savvy and gets the value of technology (arguably most under 40 getsthe transformative power of technology and its powers much better than those over 60), who hires an amazing set of developers to work for him? Then you get a politician who can do politics, and who take advantage of all the attributes he describes without the liabilities of trying to make the politician and the technologist the same person?
5. Developers are great digital communicators. They’re great at using the medium to connect directly with people in ways that others cannot. They can build their own tools to connect with people, too. With a Developer who understands the guts of the web in a leadership spot inside Congress, Congress can start communicating more effectively online. And as this developer becomes more successful, the rest of Congress may very well follow suit.
Some developers are great digital communicators, but many developers are entirely awful. They pick fights, they troll, and they are passive-aggressive. And besides, most of what senators do is not online. There are meetings, committees, not to mention the entire election process, the details of which most programmers would find abhorrent (including wearing lots of suits and ties).
6. Paul Graham comes to mind as the ideal archetype. He’d be a great member of Congress. He’s generally interested in performance, able to make tough decisions, and has a rational mind that’s been conditioned (through reading thousands of investment applications at ycombinator) able to see through a lot of nonsense — even the kind that Washington produces. But Graham is just one of 1.3 million people I’d consider qualified for the job.
I think Clay made a mistake here. I’ve met Paul and I like him. I like his writing too. But he’s demonstrated a clear and respectable skill in speaking his mind, well aware he’s likely to offend people (See his essays, including this entirely relevant one on why nerds aren’t popular). This is intellectually noble, but certain to ruffle feathers and make him difficult for the established ranks to rally for his support. I’d say the same for many smart people whose writing I respect.
The archetype would have to been someone who has managed their perceptions and politics as well as their code. Tim O’Reilly should always get first mention here, and Stewart Brand also comes to mind – but it’d be interesting to ask them, or other would-be candidates why they haven’t done this already. Their answers would be the place to start for this entire line of thinking.