I enjoy programming software and managing computers, and I have been doing so since 2002. I am skilled with many of the technologies that power web applications: Linux systems, databases, web applications, and web user interfaces. In other words, I'm a full-stack engineer.

I thrive on solving complex problems, designing simple solutions, and working in a team. I believe that effective, timely, and respectful communication is a salient trait of every successful software team.

I'm an experienced technology leader with a track record of guiding difficult projects to successful completion.

I am a strong believer in Test-Driven Development. I am well versed in Agile Development practices, and I participate actively in the open source community.

Lastly, I think that having a sense of humor about stuff helps you not die.


Director of Software Engineering - Granicus, St. Paul, MN (November 2016 - present)

As the Director of Software Engineering for Granicus' Twin Cities office, I directly manage a team of about 25 engineers. My duties include people management, employee career development, technical triage, and strategic and tactical technology planning and execution.

Software Architect - GovDelivery, St. Paul, MN (April 2014 - November 2016)

As a Software Architect at GovDelivery, I was not only one of the people responsible for software architecture, but also made individual contributions in applications and served as a team lead on several Scrum teams (not all at once). I was also tasked with mentoring other engineers and promoting the greater team's values - TDD, collective ownership, etc.

Senior Software Engineer - GovDelivery, St. Paul, MN (January 2009 - March 2014)

As Senior Software Engineer, I was part of a small team that successfully rewrote GovDelivery's legacy system into a modern, test-driven application. I also helped to design and plan several new applications, including a transactional messaging service and a high-volume analytics application. I worked in a small team that established devops as an engineering team-wide practice while overcoming cultural resistance and establishing devops practices as normal workflows. Finally, I created a few open source projects in the company's name and made some major contributions to popular open source projects directly related to Granicus technology.

Senior Web Developer - Internet Broadcasting Systems, Minneapolis, MN (December, 2005 - December, 2008)

As a Senior Develoer at InternetBroadcasting, I primarily worked with JavaScript, ActionScript/Flex, Ruby, MySQL, and XSLT. I served as a development team lead during a crucial website relaunch for a high-profile, demanding customer. Later I worked as a developer on a cross-functional team to create a greenfield application related to local news.

Web Developer - Fisher Real Estate, L.L.L.P., Baltimore, MD (May 2002 - December 2005)

As a web developer, I designed, developed, and maintained the company website. Note: link goes to the Internet Archive version of this site; company no longer exists. I also developed an effective strategy for client attraction and lead retention using an opt-in email list and push notifications for new vacancies. I designed and developed a new system for collecting and tracking maintenance requests from tenants

Open Source

Garagio - A web application with custom hardware to open my garage door

Oci8Simple - A simple Ruby library for executing SQL against an Oracle database using Ruby OCI8

ActiveRecord OracleEnhanced Adapter - I have contributed several features to this ActiveRecord database adapter.

Infoblox - This is a Ruby gem that facilitates connecting and interacting with an Infoblox DNS cluster.

Jash - JavaScript Shell - A JavaScript command-line interface to a web page - that works in IE6! No longer maintained.

See more...


Master of Music with honors (2003) - Peabody Conservatory of the Johns Hopkins University

Bachelor of Fine Arts, cum laude, with honors in Music Composition (2001) - Tulane University

Professional Development

Graduate of Leadership Saint Paul, Class of 2014, Saint Paul Area Chamber of Commerce

Board member of the Academy of Information Technology, part of Saint Paul Public Schools' Career and Technical Education program


Test-Driven Development, Agile Development, Object-Oriented Programming, web accessibility (508 & RNIB), open source software, continuous integration, devops

Ruby, JavaScript, Java, Bash, SQL, Clojure, PHP, Actionscript, PL/SQL, C, Objective-C, XSLT, XPATH, HTML, XML, Akamai ESI, CSS, regular expressions, Git, Subversion, CVS, Rake, Ant, Capistrano

Ruby on Rails, Puppet, Sinatra, Node.js, Spring (Java), Prototype, jQuery, Mule ESB, iOS, Flex

Oracle, Kafka, MySQL, Redis, PostgreSQL, Sqlite, ActiveMQ, Riak, Zookeeper, Neo4j, memcached, Cassandra