i build things

I help technology organizations improve their software development practices and operational maturity, using modern software architecture, DevOps tools, and cloud computing.

I enjoy growing and developing happy and productive engineering teams, providing mentorship and facilitating an environment where team members have opportunities for technical and professional development.

Jump to: Technology

Experience

Principal Software Architect at Incisent Labs Group (Chicago, USA)

December 2011 - Present

Employee #1 and principal software architect at start-up founded within Incisent Labs Group.

Responsible for all the technical aspects of the organization’s software projects and hiring within the engineering organization.

Design, develop and operate a service-oriented architecture using the actor model to process big-data within the automotive space. As of 2015 the system has 2TB of data at rest (in both relational and document data stores) and sustains a processing rate over 22K messages per minute.

Made use of cloud computing (AWS) to scale projects efficiently while maximizing performance and minimizing costs. Ongoing learning through attendance of the AWS re:invent conference (2013 and 2014).

Established use of DevOps tools and best practices to standardize environments and provide release and deployment automation.

Enterprise Software Architect at FirstLook Systems (Chicago, USA)

July 2008 - November 2011

Enterprise architect, engineering team lead and line manager of a talented group of engineers focused on the design and development of the new product features of the company’s automotive inventory management system.

Responsible for interviewing new engineering hires and providing ongoing mentoring and technical / professional development. Helped the VP of Engineering establish an software engineering office in Austin, TX.

Liaison between the Engineering and IT/Operations teams. Provided expertise and training for new operations staff as the company scaled its infrastructure. Led effort to develop repeatable software environments using VMware and Chef.

Work closely with product and business teams starting in ideation and requirements gathering phases to help estimate and plan delivery efforts.

Technical lead and resident expert during the company’s adoption of C# and ASP.NET.

Notable projects include:

  • a pricing tool that helps car dealers price competitively against their online competition
  • a mobile web application providing vehicle valuation guides
  • a reporting suite and KPI dashboard that supports data-driven decision making within dealer groups
  • a data integration system that synchronized inventory and sales information between a dealers accounting system and our inventory management system.
Senior Software Engineer at FirstLook Systems (Chicago, USA)

July 2006 - July 2008

Responsible for the design, development and maintenance of various new product features within the company’s industry leading automotive inventory management system.

Software engineering lead on various projects including:

  • search integration with online and physical auctions
  • next generation inventory planning system
  • trade-in appraisal analytics, reporting and notification
  • a dashboard-style home page.

Performed analysis of, and developed solutions to resolve, the performance problems that arose in the product suite resulting from the company’s high customer growth.

Undertook efforts to iteratively identify, document and resolve poor software development practices that led to poor customer experiences with the company’s product suite. Worked with engineering team to improve logging and monitoring of our product and iteratively reduced unhandled exceptions by an order of magnitude.

Worked to establish a close collaboration with the product and business teams from product ideation through to product delivery and maintenance. Provided insight into the trade-offs involved in delivering different variations of a feature set.

Software Engineer at AWD MoneyeXtra (London, UK)

August 2002 - December 2005

Responsible for the design and development of consumer software products in the online personal finance space, with significant contributions to the software architecture of the company’s suite of personal finance tools operated on behalf of MSN Money UK. Lead engineer on project efforts to ensure solution scalability, clustering and fail-over functionality to meet contractual high availability requirements.

Architect and lead engineer responsible for the design and development of a bespoke CMS for the editorial staff that powered both the consumer website and content syndication to third parties. The CMS was subsequently extended to power the company intranet.

Software engineer responsible for refactoring the company’s Employee Voluntary Benefits product reducing new installation delivery time through simplified configuration management.

Trained and mentored three junior developers, providing a role model, encouraging best practices and aiding their professional and technical development.

Software Engineer at BAE Systems (Bristol, UK)

June 2000 - August 2001

Responsible for the design and development of application tooling, user-interface data-visualization software at the Advanced Research Center as a member of the electromagnetic modeling department.

Notable projects include development of:

  • a cross platform user interface library based on Motif / Athena and OpenGL in C/C++ that simplified development of new features and helped reduce code duplication
  • visualization post-processors for the electromagnetic solvers converting the raw output data into images (BMP) and video (AVI, BMP)
  • validation pre-processors for the electromagnetic solvers using a combination of Fortran 77 and C.

Maintained software build system targeting the major Unix variants as well as Windows NT.

Technology

Language 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Ada 95 · ·
Bash
C ⦿ ⦿ ⦿
C++ ⦿ ⦿
C# ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
CSS
Fortran 77 ⦿ ⦿
Go
Haskell · ·
Perl ⦿ ⦿ ⦿ ⦿ ⦿
Powershell
Prolog · ·
Python
Java ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
Javascript ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
Ruby ⦿ ⦿ ⦿
Scheme · ·
SQL ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
Storage Engine 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
MySQL ⦿
Oracle 8i / 9i ⦿ ⦿ ⦿
SQL Server (2000, 2005, 2012) ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
Lucene ⦿ ⦿
Solr ⦿ ⦿
Elasticsearch ⦿
PostreSQL
Application Container 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Apache (httpd) ⦿ ⦿ ⦿ ⦿
Apache Tomcat ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
JBoss ⦿ ⦿ ⦿
IIS ⦿ ⦿ ⦿ ⦿ ⦿
Node.js ⦿ ⦿
Web Framework 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Angular JS
ASP.NET ⦿ ⦿ ⦿
Django
Ruby on Rails ⦿ ⦿
Sammy.js / Mustache
Struts, JSP et al ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿
Virtualization 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
AWS ⦿ ⦿ ⦿
VMware ESX ⦿ ⦿
Virtualbox / Vagrant / veewee ⦿ ⦿ ⦿ ⦿