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.
Lastly, I think that having a sense of humor about stuff helps you not die.
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 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
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.
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
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 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