Skip to main content

An open letter to government CIOs

3 min read

Summary: Government CIOs don’t need bigger budgets or more staff. They need to build lean, iterate quickly, decentralize decisions, and embrace open source as a way of working.

Table of contents

Hey there government CIOs. I’ve noticed you’ve been getting a bit of a bad rap recently. And I have to say, with all the stories of multi-million dollar sites going around, I’m not sure that I can fault your critics. But don’t get down on yourself, at least not yet. You’re still in great shape. You’ve got ample resources; you’ve got smart, well-intentioned people working for you; and you’ve got more low-hanging fruit than most private-sector CIOs can ever dream of.

The problem’s not budgetary, legal, or policy constraints, although I’m sure those don’t help much. The problem’s more a matter of taste, really. It’s a matter of style. A matter of lacking a particular finesse in execution. It’s a matter of doing things right from day one. And we’re here to assure you that it’s really not that hard if you put your mind to it. Come to think of it, it’s actually a matter of doing less, not more. You should be thinking smaller, not bigger, setting your sights lower, not higher, and away from organization-wide change in favor of quick, tangible wins that we can all share.

But hey, the good news is that you’re not in it alone. We (the internet) are here to help. We’ve been here before, and we’re still here to tell the story. Just follow this simple Style Guide for building new systems going forward, and you’ll be shipping quality code in no time:

Lean

If there’s a less heavyweight solution, and you’re not using it, you’ve overengineered things. Look to existing tools (think open source), services (think APIs), and practices (think shared standards). Simpler applications are easier to scale, easier to maintain, and have fewer components that can break. Prefer JSON to XML, REST to SOAP, and static to dynamic. Fear complexity.

Iterative

If you are not embarrassed by the first version of your product, you’ve launched too late. It doesn’t need to be perfect or complete. Publicly ship 0.1, not 1.0. Start small and ramp up to where you want things to be. Watch how customers receive things and adapt accordingly. Be transparent, manage expectations. Let your vision evolve.

Decentralized

Avoid single points of failure, both in systems and in people. Foster communities. Push decisions to the edge. Put your faith in the crowd. Don’t bake in locks. Avoid blockers. Automate wherever possible. Eliminate all humans.

Open

Barriers to the free-flow of information just add friction and more often than not, you just end up shooting yourself in the foot. Make open the default. Open standards, open formats, open systems. Expose process. Prefer social and cultural norms to technical constraints. Don’t lock it down unless you absolutely have to. Trust people.

And that’s about it. You’ll instantly be on the path to building apps like the cool kids in the private sector. Lean, iterative, decentralized, open. Hey, the technology’s the easy part. It’s the culture you have to worry about.

Sincerely yours,
- The people who build the internet

Keep reading

Ben Balter

I'm Ben Balter, and I write here about developer platforms, product and engineering leadership, open source, and showing your work. I spent a decade building developer platforms at GitHub: five years as a product manager for trust and safety, shipping 500+ features and the API endpoints behind them to 50M+ developers, plus a bottom-up rewrite of GitHub Pages and the open source library behind GitHub's license detection. My open source projects have hundreds of millions of downloads. I wrote Open and Async, the playbook for remote and distributed teams, and shipped an MCP server alongside it so agents can query it directly. At GitHub I was also Director of Hubber (Employee) Enablement, owning the internal platform 4,000+ GitHubbers use to get their work done, Chief of Staff for Security, and the company's first Government Evangelist. Before GitHub: attorney, Presidential Innovation Fellow, and member of the White House's first agile development team. More about the author

Follow along: Bluesky LinkedIn

Originally published June 12, 2013 View revision history

This page is open source Help improve this article on GitHub

Keyboard shortcuts

Search

  • / or ⌘ K Open search
  • ↓ or j ↑ or k Move through results
  • Enter Open the selected result
  • Esc Close search

Go to

  • g then h Home
  • g then p All posts

This page

  • y Copy link to this page
  • ? Show this list