Matthew Boston

Continuous improvement of software and people

( matthew@matthewboston.com | GitHub | Twitter | LinkedIn | Website )

Summary

I am passionate about delivering quality software at ludicrous speed. I believe in collaborative thinking in an open community based on trust, teamwork, and transparency. Business leaders reach out to me because I am focused on providing leadership to software teams looking to move toward a more agile and responsive way of building software solutions. Not only do I transform the software, I am also committed to maintaining an equally significant impact on the people.

Experience

Staff Software Engineer, CircleCI

October 2017 — Present

Our continuous integration and delivery platform helps teams release quality code, faster.

Technologies: Clojure, gRPC, PostgreSQL, Rabbitmq, Docker, Kubernetes (k8s)

VP of Engineering, Flye

March 2017 — October 2017

As the VP of Engineering, I acted as the principal engineer and architect; designing, building, and maintaining a suite of microservices to ensure the products remain agile, autonomous, and adaptive. I also worked to nurture an engineering culture of continuous improvement of software and people.

  • Designed and maintained a RESTful API for both web and mobile clients. Written in Clojure using Immutant and liberator.
  • Built a real-time event stream microservice to send server-sent events to web clients. Written in Node.js consuming messages from Redis.
  • Used React and Redux to build a single-page app (SPA) with real-time updates and authentication.
  • Maintained several legacy Node.js services; making fixes and replacing with more suitable solutions when applicable.

Technologies: Clojure, Node.js, React, Redux, RabbitMQ, Redis, PostgreSQL, AWS

Senior Software Engineer, CircleCI

August 2016 — March 2017

Building a continuous integration and delivery platform in Clojure and ClojureScript.

  • As a member of the Growth Team, my focus was to discover and implement features to improve user experience and increase user engagement in the CircleCI product.
  • I worked with product owners, data scientists, and other engineers to make data-driven decisions. A/B testing, feature flags, incremental feature rollouts, behavior analytics, and other processes to ensure new features were reliable, stable, and valuable to users.
  • As a senior engineer on the team, I worked with and provided mentorship to others on the team; helping others new to Clojure and ClojureScript. This involved using code reviews, pair programming, and instituting “function of the week” to improve everyone on the team.

Technologies: Clojure, ClojureScript, Om, MongoDB, Docker

Software Developer, Test Double

July 2013 — August 2016

A focus on building well-crafted applications in Clojure, ClojureScript, JavaScript, and Ruby on Rails. I have also worked on applications using Groovy on Grails and Java. I am passionate about understanding users’ needs and solving problems simply and elegantly.

  • Worked with accounting professionals to build a full-featured ledger system and track loan amortization schedules. This required very precise mathematical equations to ensure accuracy to the penny. Clojure, ClojureScript, and Datomic were used.
  • Enhanced a JavaScript widget to allow non-profit organizations to share news stories and track donation progress. Built with vanilla JavaScript.
  • Added features, tests, and stability to a Backbone.js application which dealt with 3D modeling and dimensional price estimates of pool liners.
  • Encouraged and advised a team of Java developers to write more JavaScript; showing the benefits of client-side development. I also introduced CoffeeScript and behavior-driven development (BDD).

Technologies: Clojure, ClojureScript, Datomic, Java, JavaScript, CoffeeScript, Backbone.js, Ruby, Rails

Client Principal, Neo Innovation formerly EdgeCase

May 2012 — June 2013

EdgeCase is now part of Neo, doing the same great work with a growing global team.

As a Client Principal, I worked with clients from the introductory call, through product inception and into development. I also provided project management and high-level technical guidance.

I worked with clients ranging from an entrepreneur with an idea for a startup to those who work for larger companies looking to solve a particular business problem. In both scenarios, I assist the client in defining a vision and scoping an appropriate first release and from then on out I am the primary point of contact for the client.

Software Artisan, EdgeCase

October 2011 — May 2012
  • Developed a Ruby on Rails application which allows users to create their own paid websites. Credit card payments, social networking integration with Facebook and Twitter, and custom site theming are some of the major features.
  • Created an application utilizing Clojure for back-end web services and the Ember.js JavaScript framework for a very responsive and dynamic UX.
  • Implemented an ETL system in Ruby. This application read in thousands of records from a pre-existing datasource, performed transformations, logic, and analytics before posting to a pre-determined endpoint. The application was written using multi-threaded workers using the Thread Pool pattern.

Technologies: Ruby, Rails, JavaScript, Clojure, Ember.js

Software Craftsman, Pillar Technology

July 2010 — October 2011

Provide development and coaching to all levels of clients’ developers in agile development techniques including TDD, continuous integration, source control, clean code, refactoring techniques and legacy rescue.

  • Successfully integrated Groovy and Grails into an existing J2EE application in order to meet the client’s needs for drastic workflow changes. Also coached the client’s existing developers unfamiliar with Groovy and Grails in proper agile development with the new tools.
  • Enhanced a largely non-tested legacy Java application by first wrapping with tests to ensure current functionality was maintained. This allowed the development team to safely modify and extend the application with confidence.
  • Worked on a legacy Perl project introducing agile development techniques. Developed and published a BDD test framework in Perl to ease in the testing of the application. This allowed the developers to write much cleaner code and expressive tests which revealed the intent of the working code.

Technologies: Java, Groovy, Grails, Perl, Ruby, Rails

Software Developer, Click4Care

April 2008 — July 2010

Building medical management software for payers, providers, and patients. Our flagship product ThinkHealth, which automates utilization case, disease, and population health management workflows.

  • Implemented an integration test-framework written in Python to synchronize testing of multiple cooperative systems. This application accesses common datapools in XML and JSON, transforms with XSLT using Jython, and performs tests written in JUnit and IBM’s Rational Functional Tester (RFT**.
  • Built fully automated functional tests to interact with multiple systems and provide feedback regarding the synchronization of interactions.
  • Designed test plans and develop JUnit 4.x tests to consume exposed web-services adhering to a WSDL contract and sending data using SOAP/REST.
  • Worked in both large and small teams in an agile environment to implement new J2EE functionality by applying core technologies such as EJB 3, Spring Framework and Hibernate.
  • Engaged in industry standard best practices using SVN, Maven, Hudson CI, and Bugzilla issue tracking.
  • Installation and configuration of Oracle 10g databases and WebLogic servers on both Linux and Windows.

Technologies: Java, Python, Oracle Database 10g

Analyst/Intern, BearingPoint

June 2005 — December 2007
  • Sole creator from inception to implementation of a VB Application used to automate the creation and analysis of large financial spreadsheets. This was used to accurately and efficiently analyze revenue and expense amounts accumulated by client engagements.
  • Created an application to parse timesheet data from generated HTML files to send to other applications for analysis; this saves the user 8 labor-intensive hours per week while eliminating countless errors.
  • Applied advanced mathematical and analytical abilities to greatly improve functions and automate the reconciliation process of many large, relational spreadsheets.
  • Worked with managing directors nationwide to gather requirements, enhancements and revisions to the software.
  • Coordinated meetings to present project updates and train team members on functionality enhancements.

Technologies: Excel VBA

Education

The Ohio State University, 2002 — 2008

B.S. Computer Science & Engineering

  • East Asian Minor in Japanese
  • Business Minor

Activities: Theta Tau Professional Engineering Fraternity