It seems I’m always running into a message warning of upcoming downtime or specific hours of operation on government websites, which just boggles my mind. Nowhere in business would planned downtime be acceptable by any measure, barring some extreme circumstances. I’ve never seen a bank or social network say they’re going to be offline for an extended period of time – and if that happened, hundreds of thousands of angry customers or users would let them know how they feel, and they would lose revenue. Government serves everyone though, and yet downtime is acceptable there?

Today the Minnesota Office of the Revisor of Statutes had a bright yellow message warning of an upcoming 18 hours of downtime:

minnesota-revisor-website-downtime

This is the website that tracks everything that the Minnesota Legislature does, and serves as the official home for Minnesota’s laws, and it should be considered critical infrastructure and never go down. Given that many police officers lookup statutes on this very website when writing citations (I’ve seen it happen), I certainly hope nobody breaks the law in those 18 hours. I hope nobody is doing legal research before going to court tomorrow morning. I hope some single parent out there didn’t take tonight off from their two jobs to look up laws to help them get out of an abusive landlord situation. I hope some student without a computer didn’t plan to spend some time in the next 18 hours at the library, only to find the site is down.

Maybe I’m stretching a bit here, but 90% of being a good web engineer is having empathy for your users, and that means thinking about people who aren’t necessarily in the same professional, educational, family, and housing situations as you.

Perhaps worse, some government websites have hours of operation:

irs-ein-website-hours-of-operation

minnesota-courts-mncis-hours

Screen Shot 2015-06-19 at 07.03.19

Downtime is usually avoidable, and scheduled downtime is unnecessary.

All good web development workflows involve version control of code, staging environments, manual quality assurance testing, and automated testing. Through major advancements in database scaling and replication consistency in recent years, the idea that a website has to be taken down to run processing jobs is absurd.

Moreover, every critical website should have as much redundancy as practically feasible – in web servers, databases, systems, networks, and geography, so that if one link in the chain goes down, the site can continue running.

I think there’s a lot of promise in the federal government’s efforts to bring in tech startup mentality through 18F, the Presidential Innovation Fellows program, and the U.S. Digital Service. I hope that state and local government agencies take notice and bring in new faces to work on problems and areas of opportunity in tech.