Résumé

Matthew William Hickey

Software Engineer


Skills

  • Fast learner
  • Full stack, test driven, agile, object oriented, and functional programming
  • Javascript, Typescript, Clojure, Ruby, Python, PHP, Perl
  • React, REST, GraphQL, RabbitMQ, SQL, DynamoDB, Redis, XTDB, Git, CI/CD, Docker, Kubernetes, Terraform

Experience

Red Sky 2022 to 2023

Software Engineer - Berlin, DE
  • Agrifood logistics startup. Clojure/Clojurescript.
  • Novel architecture with a distributed immutable database and highly responsive websocket based client.
  • Created all internal testing and devops infrastructure.

Contentful 2019 to 2022

Senior Full Stack Engineer - Berlin, DE / Remote
  • Extended the public Contentful API, including the first major change to the core data model in many years.
  • Managed external contractors, mentored and on-boarded new engineers.
  • Worked at all levels of the stack, from Kubernetes to CSS, including work in JS, TS, Ruby, Go, SQL, DynamoDB, and many other technologies.

Assemble 2017 to 2019

Software Engineer - Seattle, WA / Remote
  • Extended and maintained a transit app for a large tech firm that has a private fleet of vehicles. The system used Node, Express, Postgres, Redis, with an Ember web client and an iOS app. The system was deployed to a custom in-house cloud.

Haiku Deck 2016 to 2017

Software Engineer - Seattle, WA / Remote
  • Created a system that allowed teachers to grant students temporary (and affordable) access to the paid product (React/Redux GUI, Express API, PostgresSQL and Redis backend)
  • Overhauled the Stripe based payment system to support teacher/student payment needs, international currency
  • Containerized the existing Rackspace deployment and migrated to a Kubernetes cluster running on the Google Container Engine. The new platform saved thousands in operational costs per month and gave us a more sophisticated developer workflow.
  • Created a Slack based customer support and administration system. This consists of a "chatbot" front end that responds to typed commands to handle routine tasks like closing accounts, upgrading users, and devops tasks like debugging system problems and restarting servers

Hermit Cove Boats 2014 to 2017

CEO, Software Engineer, Boat Designer, Field Researcher, Party Planner - Port Townsend, WA
  • Started Hermit Cove Boats because when I needed a certain kind of boat, I could not find it on the market
  • Developed a new construction technique for skin and frame rowboats. Generalized the technique for any given hull form (CAD, Rhino, Python)
  • Using the generalized technique, I auto-generated models for a wide range of boat sizes, allowing customers to choose a design that fits their needs

HelloSign, HelloFax 2012 to 2015

Software Engineer - San Francisco, CA / Remote
  • Created the digital signing REST API
  • Made UI improvements to the browser based document signing environment

CollegeNet 1999 to 2011

Software Engineer - Portland, OR
  • Created a mail client capable of replacing a school's in house mail handling system. It was optimized to allow many users to handle one high traffic address, such as admissions@school.edu. It also integrated with the application stream, allowing users to send large mailings, each customized to the recipient.
  • Created a customer relations management (CRM) system, allowing schools to track ongoing information about their applicants, donors, etc. Though integrated with the college application offering, this system could also source data from customer files. The mail client also interfaced with this system, allowing customized messaging to arbitrarily many people.
  • Created a system to allow customers to tie events in the lifecycle of a college application or a CRM record to customized automatic messages. For instance, an administrator could configure a message to be sent automatically to students who are accepted to the school, or conditionally send several messages based on the content of a student's application. These messages could be customized by the data in the record that created the event.
  • Created a message queue/asynchronous worker system. This backend service used an sql database to allow one set of agents to create jobs and another set of agents to handle jobs. The system included web based interfaces to monitor and repair issues. It could automatically increase the number of workers based on backlog, and each type of job could be customized in priority and frequency. Queues could be customized to allow first in, last in and random discovery of jobs. Because the message queue and customer data were in the same database, large jobs could be created very efficiently by creating jobs as the result of a query.
These systems have handled millions of a college applications, customer records, and messages, and continue to be an important part of CollegeNet's product.

Contact me for reference information.