To live a long, happy and fulfilling life with those that I love, doing what I love.
Senior Haskell Developer
Ontellus (Houston, Texas)
Ontellus is a records retrieval and processing company that handles document processing for the insurance and legal industries.
- Maintain and develop approximately 20 separate applications and libraries that implement the document processing pipeline. These applications are written in the Haskell, Clojure and Purescript programming languages.
- Deploy applications to staging and production servers using Docker.
Contract/Freelance Software Engineer
(South Portland, Maine)
February 2018-November 2019
Currently working as a freelance/contract software engineer helping clients to grow their small businesses.
- Contracted with a local financial services company to maintain a Python web application based on the Django framework.
- Helping a local client to optimize his flower-selling businesses (48longstems.com, recitalflowers.org, flowersforfundraising.com) by upgrading an order service application. (PHP, Codeignitor)
- Fixed several bugs in an application that scrapes a website for arrest records. Added a simple web application front-end to it. (Python, Django, AWS)
- Helped a client to filter elements from large XML files. (Python, Big Data)
- Documenting an existing web API using the OpenAPI standard (Swagger).
Senior Software Engineer
Maxwell Health (Boston, Massachusetts)
February 2017-December 2017
provides small to mid-size companies with an HR and benefits solution through its suite of web applications. There are solutions for insurance brokers, employers and employees alike.
- I helped Maxwell Health bring a new "Open Enrollment" service to market using the Scala programming language to create a microservice together with a front-end written in ReactJS. I utilized my expertise in functional programming techniques and leveraged the Cats Scala library to write very robust code.
- I worked in a group that was creating a set of microservices to implement an insurance product library. Projects were mostly written in Typescript.
- I've given several presentations to engineering at Maxwell Health on such topics as "Domain-Driven Design", "Abstract Data Types" and "Pattern Matching in OOP".
Senior Software Engineer
McGraw-Hill Education (Boston, Massachusetts)
November 2014-February 2017
- Worked to migrate a large legacy code base, written in a proprietary functional programming language, to a microservices architecture by building new services and incrementally hooking them in to the legacy system. New microservices being written in PHP, Scala and Haskell.
- Built an LTI service to support various integration efforts for both internal and external clients.
- Created a functional programming library in PHP that is used in production environments to support integration efforts.
- Helped maintain and enhance a Haskell codebase used to parse a proprietary binary file format.
Lambda Prime (Boston, Massachusetts)
May 2014-November 2014
is a privately held technology development fund with offices and research lab facilities in New York, Boston, and Pittsfield (MA).
- Create and maintain web crawlers in Clojure using clj-http (http client), enlive (templating library) among other libraries. Each crawler is gen-classed and packaged as an OSGi bundle to be consumed by a UI.
- Create a Leiningen plugin to facilitate the creation of OSGi bundle from an uberjar.
Corista, LLC (Concord, Massachusetts)
June 2013-March 2014
is a software company whose flagship product is a digital pathology web application platform that assists pathologists in remote diagnoses.
- Created a Java library to parse pathology image data from large TIFF files.
- Maintain and update a C# codebase used to generate an image pyramid from pathology slide images.
- Parallelized pyramid generating code to take advantage of multicore processing.
- Maintenance on a Java Servlets codebase.
- Maintenance on a Ruby on Rails codebase.
Languages: Haskell, Purescript, Clojure, Scala, PHP, Java, C#, Python, C/C++.
IDEs: Emacs, IntelliJ, Eclipse, Netbeans, Visual Studio.
Version Control: Git, Subversion.
Build Systems: SBT, Cabal, Stack, Maven, Ant, Make, Leiningen.
Testing: ScalaTest, QuickCheck, HUnit, JUnit, CPPUnit, NUnit, PHPUnit.
Operating Systems: Linux, Mac OSX, Windows.
Infrastructure: Docker, Amazon Web Services (AWS), Azure Devops.
BS in Physics, 1998-2002
University of Massachusetts (Lowell, MA)
Overall GPA: 3.67
|Intro to SWI-Prolog (edu.swi-prolog.org, 2019)||
|Docker Mastery (udemy.com, 2018)||
|Paradigms of Computer Programing (edx.org, spring 2014)||
|Programming Languages (coursera.org, fall 2014)||
|Compilers (coursera.org, spring 2013)||
|Circuits and Electronic, 6.002x (edx.org, fall 2012)||
|Machine Learning (coursera.org, fall 2012)||
|Automata (coursera.org, fall 2012)||
|Functional Programing Principles in Scala (coursera.org, spring 2014)||
Much of my spare time is dedicated to learning new things in the field of software engineering. I'm almost always coding some pet project, taking an online course or reading a book on software. I'm particularly interested in functional programming.
I started playing the drums when I was a teenager and played in bands with friends occasionally for years. I also learned to play the guitar in those days and a bit of piano. I don't play the drums anymore but I still enjoy playing my guitar and piano.
I have contributed to many open source software projects over the course of my career.
I am the founder of the Portland Functional Programming Meetup, based in Portland, Maine.