Dev Manager/Software Architect at Inspire Fitness
I love to build strong software development teams and help them grow. Empathy, accountability, pragmatism, focus, comradery, and support. It really is that simple.
Ask me about
May 2018 - Present
Inspire Fitness US
Dev Manager/Software Architect
In charge of all technology delivery at the company with growth from 0 to over 25K+ active subscribers. Managed 15 direct reports including QA, backend, frontend, and mobile developers. Responsible for the software architecture across services, broadcast system, and mobile apps. Architected and contributed to the software for an API driven autonomous film studio. Managed the software development budget for in-house and contract resources. Built a batch processing system in Clojure to automatically identify the music across thousands of videos. Worked closely with support to establish a multi-tier support structure. Part of the product team, helped to drive the product direction for the company.
Jan 2017 - Dec 2018
Cambium Technology Consulting
Co-founder of a small consultancy focused on Clojure(Script) development and financial technologies. Managed small teams of consultants across numerous projects. Successful pitch to investors to secure investment for a client. Wrote and reviewed code written in Clojure and ClojureScript. Provided high level architecture feedback and ensured proper product fit. Served as a mentor at the Turing School of Software Design. Presented on a technique for constructing fancy PDF reports at the Clojure Conj.
May 2015 - Apr 2017
Tuned the system to handle voter registration traffic from Facebook (over 12K concurrent users). Performance, availability, and scalability tuning of a 5 node 30 service distributed system. Member of the leadership team responsible for the budget and directing the nonprofit. Team lead for the TurboVote product through the 2016 Election. Worked closely with product to balance resources, delivery, and time. Built and maintained a React SPA written in ClojureScript, backed by services written in Clojure.
Jan 2013 - Dec 2014
Clojure developer on the Safe team, one of the oldest Clojure teams in the country. Contributor to a rather large Clojure codebase that manages over six petabytes of data in the cloud. Worked on the design and code behind Sonian's new distributed services architecture. Prototyped and demoed sentiment analysis of bulk emails using a Bayesian classifier. Successfully mentored an apprentice developer to the level of junior developer.
Jun 2012 - Jan 2013
Snugg Home, LLC
Head of Development
Developed automated utility scraping software in Clojure to reduce data collection from homeowners and improve the accuracy of our energy model. Worked with Ruby on Rails to improve the existing codebase and integrate with Salesforce. Worked on a pure AJAX client written in CoffeeScript that uses Backbone.js, Require.js, and jQuery. System administration for all services deployed on Amazon EC2. Worked directly with the founders to make sure the engineering team was lean and mean and delivery focused. In charge of all development related expenditures.
Feb 2011 - Jun 2012
Staff Engineer/Software Architect
Prototyped an elastic work break down system for the cloud that makes use of new processors and nodes as they become available Wrote code in Scala using the Akka library Wrote code to translate a Python representation of vCenter objects to a proprietary modeling language Implemented services on top of Sping that make requests to vCenter through the VI SDK and the Inventory Serivce Wrote services on top of Spring that wrap the ovaldi Open Vulrability Assessment Engine (OVAL) Lead reviews of the existing architecture based on the C#/C++ SQL Server stack Aided with reviewing the legacy system and new development for FIPS 140-2 compliance
Nov 2009 - Mar 2011
Principal Engineer/Software Architect
Software Architect for a tools and automation team under National Engineering and Technical Operations (NE&TO). Technical lead for both onshore and offshore operations (25+ developers). Worked with other members of the leadership team to evolve the team’s process. Heads down coding on numerous projects, mostly with Groovy, Grails and jQuery. Lead architect and developer on an enterprise wide asset, configuration, and reservation management system. Worked closely with key stakeholders to help codify the best practices of the lab ops organization and express their needs in code. Represented Comcast in a trip to Trivandrum, India meeting with our offshore partner Tata Elxsi. Internal presentations on code quality and REST services in both the US and in Trivandrum, India. Worked with lead developers to produce sample code for Java based Spring MVC applications.
Sep 2008 - Jan 2010
Sep 2007 - Sep 2008
The Franchise State Tax Board (Accuteam LLC)
Software Architect and Developer
* Developed numerous batch processes focused on processing large data sets efficiently * Constructed Web Service clients for integrating batch processes with external entities * Worked with the head architect and team lead to establish patterns focused around ease of maintenance * Assisted with providing AJAX services to JSF pages * Key contributor to a database migration from Adabase to DB2 * Enhanced a Swing GUI for managing the execution discrete functional areas * Mentored other developers in industry best practices including proper use of encapsulation, Factories and Mediators
Sep 2006 - Sep 2007
Software Developer, Team Lead
• Managed a team of five offshore Java resources in Bangalore, India. • Used Perforce to review and integrate offshore enhancements. • Implemented two major production components with the Google Web Toolkit (GWT). • Worked on numerous enhancements to an XML driven business logic tier running on JBoss 4.1. • Enhanced numerous Hibernate entities managed with a custom written Command Pattern implementation. • Modified business processes through Inversion of Control techniques. • Integrated the existing content management system with the EMC^2 Captiva document imaging system.
Apr 2005 - Sep 2006
River Knowledge, Inc.
Principal Software Architect
• Designed a workflow management system for a client’s wide array of digital assets. • Designed numerous tools in Perl, Java, and PHP. Problems included string parsing, lexing, and manipulation of large data sets stored in a MySql database. • Implemented the Nutch project, an open source search written in Java that is similar to Yahoo Search and Google. • Wrote a url lexer utility in Java that used rules to determine the approximate worth of the various urls.
Feb 2003 - May 2005
Director Of Serverside Development
• Led the design, architecture and development of all server side components for the Succeeding On assessment delivery and question cataloging system for McGraw-Hill. • Implemented the back end of a web based assessment delivery tool with Spring and Hibernate that communicated via OpenAMF with a pure Macromedia Flash front end. Developed a communication module in Flash using AS 2.0. Also configured the Spring Framework to allow for optimal object serialization of Value Objects between Flash and Java. The project was rolled out onto an Apache 2.x, Tomcat 4.1.28, and MySQL 4.1.7 running on a Debian Linux system. • Managed three to five developers at a time, interfacing with the client and writing a generous portion of the code. Management included developing prototypes, scheduling, and ensuring system wide standards. • Co-wrote and authored the technical documentation on nine proposals for new business.
2002 - 2003
Architected and implemented session wrapped Entity beans for a new ordering system spanning the entire girth of BellSouth and its affiliated companies including BellSouth Residential Services, BellSouth Business Services, Cingular and DSL. Used techniques like the Fat Key pattern and Domain Objects to get the necessary performance out of the Entity Beans and other J2EE components. Worked on a system that used CORBA, JNDI, and JMS to reference enterprise components like distributed EJBs, redundant databases and legacy mainframe applications. Worked on numerous Oracle database designs expressed in ERD diagrams. Wrote a ksh based file processing and distribution management system for a major mainframe replacement program. Used CCC/Harvest for versioning and source code management. Wrote a config file based unit testing framework similar to JUnit that allows for replaceable parameters within a config file. Worked on custom XML parsers and persisters. Used techniques from Extreme Programming like iterative development, paired programming, and unit tests with every build. Developed with JBuilder 7 on Windows and XEmacs on Solaris.
2000 - 2001
Worked end to end on a multi-tier benefits administration portal. Architected and implemented Entity Beans, Session Beans, Servlets, JSP pages and other J2EE components. Updated existing legacy components and helped to design the new multi-tier architecture. Worked on front components which used JSPs to connect to the business logic captured in Enterprise Java Beans. The EJBs gathered information from an Oracle database via JDBC and PL/SQL. Data migration scripts were written in Perl. Deployed onto a Apache, Weblogic, Oracle on Solaris system. Introduced the team to Extreme Programming and used it successfully on numerous projects. Worked on the database design in Erwin deployed on Oracle 8i.
1999 - 2000
Complete Business Solutions
Used Component Based Rapid Application Development for all projects. Received tutoring in object oriented modeling with UML. Wrote a component to allow a telephony browser to navigate a fund management system. Designed an XML protocol to link ASP pages to a Java based financial system. Worked with DOM and SAX parsers in both Java and Visual Basic. Mentored junior developers in Java, J2EE, UML and design patterns. Used PVCS for version control.
Sep 1997 - Apr 1998
Automated Test Engineer
• Lead automated tester for the company's banking software. • The software was used to process two thirds of the nation's checks. • Worked with developers advising in testability of code and proper diagnostics. • Worked closely with developers to debug the low level messaging layers of the check processing application. • Used Visual 4Test by Segue Software.