This week’s interview is with Rohit Gupta, a Systems Architect within the Office of Strategic Initiatives (OSI) Web Services. Rohit joins Meg, Rich, and Barry in our series of Congress.gov interviews designed to highlight the people who have contributed to the new system.
I grew up in Bombay, India and moved to the United States in 1990 for graduate school. I have a Bachelors degree in Computer Engineering from the University of Bombay, and a Masters degree in Computer Science from the University of Connecticut.
I started my career at a software product company in Columbus, Ohio, developing an automated workflow management product. A few years later I became a consultant and worked at Federal Express, Capital One and AT&T. In 1999 I launched my own consulting company doing software and systems architecture projects. I was the Global Portal Architect for PricewaterhouseCoopers, then the largest professional services company in the world, for many years. In 2007, I was hired by the Library to be the systems architect for the “Library of Congress Experience,” and the myloc.gov personalized portal site. I was also the systems architect and media services developer for the National Jukebox website which features sound recordings from the early twentieth century. I most recently worked on, and continue to work on Congress.gov.
How would you describe your job to other people?
As the Systems Architect in OSI Web Services, I have worn many hats. In this capacity, I help translate business requirements into technical designs. I typically work with the senior developers on the project to help design the various components of the software product or application. As the technical architect, I have to ensure that we are optimizing the software that is written from a performance and scalability perspective using principles like caching and tuning, and ensuring that we define and follow best practices from a system reliability perspective using principles like redundancy and elimination of single points of failure.
As the development lead, I try to ensure that we have a good software development process. I also help in troubleshooting issues with other developers on the team. I occasionally do some limited software development on select components. If that sounds too dry and boring, believe me, it’s not. It is both challenging and fun.
What was your role in the development of Congress.gov?
I am currently the Systems Architect for Congress.gov which means I have been involved in the requirements definition, software design, database design, technical architecture, and also lead the software development team under Mike Nibeck, OSI Web Services Development Manager (who also worked on the Congressional Record app). I work with our able Subject Matter Experts from the Law Library of Congress and Congressional Research Service, as well as our Project Manager, Tammie and our Information Architect, Meg, on refining and defining the requirements, and ensuring that everything we were committed to building was technically feasible.
I worked with our project manager and data analyst to develop the database models (which encompasses over 75 database tables in our new relational database). I worked with the Library’s developers on three development tracks: the ETL that moved data from the legacy database to the new Congress.gov database; the search engine; and the web application. We used a best of breed open source approach for the various pieces. We followed agile development for the software development lifecycle with sprints every four to six weeks to ensure that we developed the software in manageable iterations.
My goal and our team’s goal was to build an extensible legislative software platform that can evolve over many years, and a system that is built using a foundation of solid software design principles to handle additional content and functionality over these years.
As the systems architect, one of the major tasks was also ensuring that we had no single points of failure anywhere in the infrastructure. The use of redundant and load-balanced virtualized servers at every tier of the infrastructure ensures that we meet that goal, and can also scale the web application horizontally, as needed.
What is your favorite feature of Congress.gov?
Most of what I love is the under-the-hood software development stuff. The use of web caching and application caching technologies to achieve scalability and performance is my favorite “feature”. There are many features from a usability perspective like faceted search and responsive web design that I love too.
What is the most interesting fact you’ve learned about the legislative process while working on Congress.gov?
I found the fact that at the beginning of each Congress the legislative rules can be changed just for that Congress to be both interesting and challenging from a data modeling perspective. For example, the 104th Congress allowed multiple House bill sponsors. I also found the fact that the first few bill numbers in every recent Congress are reserved for the Speaker or the Minority Leader in the House very interesting.
What’s something most of your co-workers do not know about you?
Another fact: I was the architect of an automated trading system for a software company in Dublin, Ireland over a decade ago which at one point had over $1 trillion of foreign exchange trades per year going through it - and as far as I know no trades were lost!