I tell people that I'm a software and web developer for the U.S. House of Representatives, and they often ask me: "They have software developers working for Congress?
Yes, we do! There are actually a lot of developers of all kinds working for the House, most of them working in the business offices of the Chief Administrative Officer, and others in the Congressional Budget Office, the Architect of the Capitol, the Capitol Police and the Committee on Homeland Security and other offices. We do everything from cryptology to number crunching, from enterprise application development to web development. I work at the CAO, in the Web Systems group, where a small team of designers, developers and support personnel create, deploy and host websites for Members of Congress. The sites are built with a House distribution of Drupal, and allow a certain amount of customization for each office. The sites are a no-cost benefit to House Representatives. If you've visited your Representative's site, the odds are it's one of ours. Some offices prefer to use outside contractors for their sites, either because they want to use a different platform than Drupal, such as WordPress or an ASP.NET CMS, or they want more customization than we have the time and personnel to do.
In addition to creating and deploying these sites, we host them and maintain the webservers and database servers behind them. We also help manage the deluge of email from constituents to Congressional offices, generated from forms on their sites. It's the kind of job that keeps us all hopping, from one operating system to another, from one programming language to another, from development to systems support, from technical support to customer support.
I work primarily at the back end of the web platform, writing web applications, API's and system management scripts, performing data migrations and transformations and similar tasks. In my work, I regularly use Python, Perl, Ruby, shell, C#, SQL and other languages, on three server operating systems (Linux, Solaris and Windows). It keeps things interesting.
We have especially busy “sprints” when a new Congress is seated. There is limited time between when we know the winners of each race and when they take their seat in Congress. During that time, we produce and deploy websites for each incoming Representative, and update various other sites. Following the elections in November of 2012, the 113th Congress came with a lot of changes: 40 retirements, 40 incumbents lost their seats, and 17 new seats were created. That meant we had 97 sites, not to mention updates to committee sites, caucus sites and others, to design, deploy and host before the new Members of Congress took their seats in January of 2013. It was an exciting time for our small team.
So, yes, there is software development going on at the U.S. House of Representatives. Our team helps Members of Congress communicate more effectively with their constituents, and that's the kind of public service that drew me to work for the federal government.