SUMMARY

Experienced software developer with significant strengths in back-end, web, and mobile development. Entrepreneur with experience setting up a company, shipping products, marketing to customers, and providing end-user support. Published developer on the iOS App Store.

Web/Back-End/API Development - An expert in Java and Rails environments. Comfortable with web development, including HTML, CSS, and JavaScript. Significant JavaScript experience, including client-side MV* with Backbone.js as well as back-end Javascript with Node.js. Have designed, built, and scaled APIs for many different application profiles, from large complex data models, event subscription architecture, high transaction volume (25K requests/second), to simple REST APIs.

Single-Page JavaScript App Development - Led development on multiple single-page JavaScript apps in both desktop and mobile environments. Significant JavaScript experience that includes building full applications from scratch using Backbone.js, Ember.js, and AngularJS.

Mobile Development - Have deployed multiple apps across iOS and Android platforms for phones and tablets. Experienced in both native (iOS, Android) and cross-platform HTML (Sencha Touch, JQuery Mobile) development.

PROFESSIONAL EXPERIENCE

Rassling Cats Software
Oakland, CA
Founder / CEO
Jan. 2011–Present

Rassling Cats Software is my freelance consulting and mobile games development shop.

Personally developed Flake Escape, a casual game for iOS available on the App Store. Wrote a full game engine in C++ that abstracted graphics, sounds, and physics away from game logic. Organized art development, sound design, testing, and deployment.

Hired and managed a team of five top-class engineers responsible for product development, technology research, and back-end engineering improvements. As an active developer on the team, adopted and improved a pre-existing codebase written in Grails and CCXML. Delivered features and reliability improvements that helped bring on many new customers.

Managed development and deployment of call center product, enabling significant ARPU growth. During a tight release schedule, oversaw complete rework of phone call engine to enable new features and bring future development time down significantly.

Developed Sencha Touch front-end and Grails back-end of an iPad app for healthcare data entry. Oversaw release and provided on-site support to health care employees who were the primary users.

Implemented agile software development and monitoring process using Github, Pivotal Tracker, JIRA, HipChat, Hubot, Jenkins, and Graphite. Improved developer onboarding process through documentation and tools like Vagrant, bringing setup time down from two days to a few hours.

As part of a four-person development team, created an industry-leading Display-Side Platform that was later acquired by Videology. Helped take an existing page contextualization service and integrate it into a real-time bidding system to maximize value for advertisers. Using Java, Tomcat, Spring, and Hibernate, built an admin web interface, ad-serving system, and advertiser analytics platform.

Personally built a cloud-based server-side cookie store responsible for retrieving advertising data for hundreds of millions of users. Performed technology selection and evaluation, learning about most popular NoSQL systems and becoming an expert on Redis. Implemented latency monitoring and tuned connection settings, as all requests had to return in less than ten milliseconds. The system ended up handling two billion requests per day at a peak rate of 25000 requests per second.

Implemented a Spring MVC web UI for administering campaigns that was used every day by the ad operations team, managing millions of dollars worth of advertising.

Managed numerous real-time bidding (RTB) integrations responsible for the majority of advertising spending. Dealt with connection and latency issues to fit into 50 millisecond response time constraints while operating in a flexible cloud environment.

Angel.com
McLean, VA
Principal Software Engineer
Jun. 2006–Aug. 2008

Developed and maintained a J2EE system for managing automated phone calls over the web. Evaluated products and managed vendor relations for two primary components. Software development process included SCRUM, test driven development, code coverage, and continuous integration.

Personally re-architected Virtual Call Center platform to make the code modular, unit-testable, and incorporate design patterns. The change significantly reduced development time of a major upgrade.

Assisted in migrating an in-house middleware to a J2EE architecture. Supported implementation of large-scale JMS infrastructure for communication of real-time air traffic data. Built prototype GUI applications to demonstrate use of the upgraded system.

Independently wrote two complex Java Swing GUI systems for data display and management, one of which was shown at a national air traffic management conference.