CV
For the traditionalists, please download the MS Word or PDF version.
Objective
To work with great developers building great software and have fun doing it.
Community
- Creator and lead maintainer of concurrent-ruby, a Ruby gem implementing modern concurrency abstractions including futures, promises, actors, and channels.
- Created and leads the ruby-concurrency open source team comprising four Ruby gems and nine developers from six countries.
- Lead organizer of the Akron Code Club software development meetup group with nearly 200 registered members and regular attendance of 20-30.
- Speaker at several conferences including RubyConf Brazil 2016 (keynote) RailsConf 2016, RubyConf 2015, RubyConf 2013, CodeMash (2016 & 2014), Cascadia Ruby, and Stir Trek 2014.
Employment
Oct 2016-Present Software Engineer
Riot Games, Los Angeles CA
- Member of the Always Available Friends (AAF) team, which extend Riot’s ecosystem into player’s lives by creating always-on, in-client, in-game, mobile-enhanced experiences.
Jun 2015-Oct 2016 Software Developer
Test Double, Columbus OH
- A software development consulting agency which builds rich web and mobile applications for a variety of clients. We also speak at conferences and participate in open source development.
Oct 2012-Jun 2015 Principal Software Developer
Virtual Hold Technology (VHT), Akron OH
- Architect and lead developer for the team that built Navigator, VHT’s newest product and next-generation contact center solution.
- Designed Navigator with full fault tolerance and unlimited scalability, using Ruby and Erlang, by leveraging microservices, RabbitMQ, Elasticsearch, and Erlang-inspired supervision/process management.
- As team lead, implemented many new development tools and related practices including Pivotal Tracker, complexity-based story pointing, GitHub, pull requests, HipChat, and cross-tool integrations.
- While developing Navigator introduced modern DevOps practices and on-demand virtualization using Ansible, Vagrant, and Rackspace.
- Participated on the team that created new software developer positions, position descriptions, a new Team Lead role, and a corresponding review process.
Aug 2011-Oct 2012 Software Engineer
Within3, Cleveland OH
- Lead engineer for Within3’s flagship product, Advisory Board, which provides secure, private, moderated communities of consulting physicians for many of the world’s leading pharmaceutical companies. All development is done using Ruby on Rails, MySQL, and Linux/Apache (Rackspace).
- Designed and implemented a restricted document viewing system with automated, offline PDF and SWF conversion that supports over 180 file types. This was one of two key features that secured the company’s biggest contract to date.
- Integrated real-time web conferencing using a private Adobe Connect infrastructure, writing a Ruby gem wrapper for the Connect API, and working closely with the Community Integration team to develop the new business requirements. This was one of two key features that secured the company’s biggest contract to date.
- Lead the development a platform-wide community versioning system that allowed individual communities to be upgraded in-place without service disruption.
- Designed and implemented a Ruby DSL and framework for creating in-application and email-based triggered notifications to users.
Jan 2011-Aug 2011 Dir. of Software Development
The Civic Commons, Cleveland OH
- Lead software engineer (short-term contract) for http://www.theciviccommons.com, an open source civic engagement project funded by the John S. and James L. Knight Foundation. All development was done using Ruby on Rails, MySQL, and Linux/Nginx (EngineYard). Source code available at github.com/CivicCommons/CivicCommons.
- Took over the project when it was failing to meet funder expectations and directed a complete turn-around in less than three months. Funder expectations have since been continuously met or exceeded.
- Managed a $50,000/mo. development budget and a remote, cross-functional team of software engineers, web designers, user experience designers, and quality assurance testers.
- Orchestrated the removal of a third-party membership system and replacement with new code without taking the site offline or disrupting service.
- Established new guidelines and practices for software development, project management, automated testing, quality assurance, and defect management that transitioned the team from no regular release schedule and a high volume of defects to consistently releasing every two weeks with nearly zero defects.
2007-2010 Dir. of Web Technology
WVIZ/PBS & 90.3 WCPN ideastream, Cleveland OH
- Technical software and infrastructure lead (non-manager) for www.ideastream.org, www.wcpn.org and, www.wviz.org, all built using ExpressionEngine.
- Designed, programmed, and deployed an online bidding system, written in PHP using the CodeIgniter MVC framework, for the annual WVIZ televised auction. This application processes over $450,000 in revenue during the four days of the auction.
- Designed, programmed, and deployed an online pledge acceptance system, written in PHP using the CodeIgniter MVC framework, for accepting nearly $400,000 in donations annually and processing those pledges through Sage Payment Solutions and Blackbaud Team Approach.
- Designed, programmed, and deployed a Ruby on Rails application for managing several ideastream operations. The application exposed a RESTful API with WSSE authentication and JSON data interchange.
- Developed the project plan for migrating ideastream’s multiple Web sites from static pages to content management (ExpressionEngine on Ubuntu Linux) and then managed all phases of the project.
- Developed a server consolidation and virtualization strategy then managed the migration of over a dozen production systems to new VMware virtual servers.
- Designed and built a fully-redundant Web, streaming media, and database architecture using UltraMonkey load balancer, Apache HTTP Server, MySQL cluster server, Flash Media Server, and Icecast streaming audio server.
2002-2007 Software Engineer
FutureSoft, Inc., Hudson OH
- Designed, programed, tested, and maintained real-time (Visual C++) software for controlling automated teller machines (ATM) and point-of-sale terminals (POS) used by banks and credit unions in over one dozen countries.
- Designed, implemented, and maintained a .NET (C#) Web application and MVC framework that interfaced with our real-time transaction processing system using TCP socket communications to provide complete command and control through a Web browser.
- Worked with firm’s largest customer and a third-party vendor to design and implement a new Internet banking product (C# .NET and C++) that interfaced the bank’s Web presence with our transaction processing system to provide real-time online banking.
- Reengineered the company’s main transaction processing application (Visual C++) from an MFC GUI application to a set of distributed ATL Windows services that were more secure, performed measurably faster, and were capable of being deployed on multiple servers in a distributed environment.
- Lead the complete redesign of the company’s software development processes, from requirements analysis to delivery and maintenance. The new tools-driven, agile process resulted in a dramatic reduction in time-to-market, a decrease in significant bugs, complete integration of all customer-specific code into a consolidated codebase, and a dramatic increase in customer satisfaction.
1998-2002 Webmaster
WestNet Learning, Arvada CO
- Managed a ten-person, collaborative, cross-functional development team. Team skills and activities included programming, multimedia development, HTML authoring, database administration, Web server management, and graphic design.
- Directed and participated in the implementations of all of the organization’s servers, Web and desktop applications, desktop systems, and networking components as it grew from two employees to 25 employees and 50+ consultants and $5 million annual revenue.
University Faculty Positions
- Regis University, Adjunct Faculty (online) for Master of Science in Software Engineering (MSSE), Denver CO, 2001-2012.
- University of Phoenix, Affiliate Faculty for Master of Business Administration (MBA), Bachelor of Science in Business, and Bachelor of Science in Information Technology, Cleveland OH, 2004-2010.
- ITT Technical Institute, Part-time Faculty for Associate of Science in Software Applications and Programming, Strongsville OH, 2002-2004.
Education
- Master of Business Administration, University of Phoenix, 2007.
- Master of Computer Information Systems, University of Denver, 2001.
- Bachelor of Science in Computer Networking, Regis University, 1998.
- Associate of Science, Community College of Aurora, 1996
Civic Engagemant
- Cleveland Bridge Builders (CBB) graduate, Cleveland Leadership Center, 2012.
- Cincinnati StartupBus, Participant, Cincinnati OH, 2012
- Cleveland Startup Weekend, Lead Organizer, Cleveland OH, 2009