To live a long, happy and fulfilling life with those that I love, doing what I love.
Languages: Scala, PHP, Haskell, Clojure, 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, JUnit, CPPUnit, NUnit, PHPUnit.
Operating Systems: Linux, Mac OSX, Windows.
Senior Software Engineer
Maxwell Health (Boston, Massachusetts)
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.
- Currently working on a new version of a tool to facilitate the creation and processing of open enrollments. The previous version of this tool was for internal use only and has had numerous problems causing the loss of many person-hours of manual intervention. The new tool will be mostly for customer use and automates most of the complex process. It has a backend component written in Scala and uses Akka and Cats libraries.
- Worked in a group that was creating a set of microservices to implement an insurance product library. Projects were mostly written in Typescript. I was moved out of this group to assist the group working on the new open enrollment tool since I had the needed Scala experience.
- I've given several presentations to engineering at Maxwell Health on such topics as "Domain-Driven Design" and "Abstract Data Types".
Senior Software Engineer
McGraw-Hill Education (Boston, Massachusetts)
November 2014-February 2017
- Currently working 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.
- Maintenance on several codebases in languages such as PHP, Scala and Haskell.
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.
Digital Forensics Engineer
Basis Technology (Digital Forensics Group) (Cambridge, Massachusetts)
May 2010-May 2013
is a text analytics company that has a small but growing digital forensics group of which I was a part.
- Developer of Autopsy, a module-based Netbeans GUI frontend to The Sleuth Kit
- Developed a Symbian phone OS application for a client
- Developed a Java application to translate FLASH memory dumps from Mediatek-based mobile phones into FAT12 file system.
- Main developer of the Memory Parsing Framework (MPF), a C++ application that leverages forensic functionality from The Sleuth Kit library to extract forensically-important data from a variety of mobile phones.
Raytheon Corporation (Woburn, Massachusetts)
February 2009-April 2010
is large defense contractor. I worked as a software engineer in three different groups while I was there.
- C++ Developer on CRUSHM, a simulator for the THAAD radar system.
- C++ Developer on MMAT (Multi-Mission Analysis Tool) project, a simulation environment for the Zumwalt project
- Java Developer on JFIRES project, a distributed space threat analysis simulation environment. Wrote Java library for propagation of Earth-orbiting satellites.
MIT Lincoln Laboratory (Lexington, Massachusetts)
October 2007-February 2009
Worked in Group 95 (formerly Group 903), Space Systems Analysis.
- Design and implement simulation framework in Java for a space system analysis tool. Knowledgeable in event-based and process-interaction based simulation.
- Developed radar and optical sensor models for simulation.
- Took five-day course titled "Simulation Modeling for System Design and Analysis" given by Averill Law, author of "Simulation Modeling and Analysis"
- Took course in multi-core programming at MIT given by Nir Shavit and Maurice Herlihy
Lockheed Martin Corp. (Lexington, Massachusetts)
April 2004-October 2007
Worked as a subcontractor at MIT Lincoln Laboratory.
- Worked in Group 95 from October 2006 to October 2007. Work done as MIT Lincoln Laboratory employee in Group 95 begun while employed by Lockheed Martin. See next most recent listing for work performed.
- Worked in Group 106 from January 2006 to September 2006. Test Geiger-mode Avalanche Photo-Diodes (APD), specifically, measure dark count rate, photo-detection efficiency and timing jitter. Support upgrade of board support package for Raptor and Manta SBC's from Curtis Wright Controls Embedded Computing used in Jigsaw project. Wrote Linux filesystem kernel module (in C) to interface Conduant Corp.'s StreamStor high-capacity data acquisition system with Linux operating system.
- Work in Group 99, Advanced Space Systems and Concepts, from April 2004 to December 2005. Part of Mars Laser Communication Demonstration Project. Test Geiger-mode Avalanche Photo-Diodes (APD), specifically, measure dark count rate and photo-detection efficiency. Gained experience in lasers and optics.Embedded system programming in C using RTOS (μC/OS) for closed-loop control of a fast-steering mirror for image stabilization.
Sensarray Infrared Corp. (Burlington, Massachusetts)
April 2003-April 2004
Sensarray specializes in the manufacture of arrays of chemically-deposited Lead salt infrared detectors, specifically PbS and PbSe.
- Worked with senior scientist growing Erbium-doped KPbCl crystals as a low-phonon energy IR laser host. Gained experience in crystal growth and purification.
- Designed, built and wrote software for a zone-refiner - a machine used to purify crystal material.
- Assisted in detector manufacturing and testing. Gained experience in photolithography, vacuum systems and probing stations.
BS in Physics, 1998-2002
University of Massachusetts (Lowell, MA)
Overall GPA: 3.67
Diploma in Automotive Technology, 1992
Shawsheen Valley Regional Vocational Technical High School (Billerica, MA)
|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've always enjoyed working with my hands and building things out of wood is one of many outlets I use to satisfy that need. I've been building up a collection of woodworking tools and equipment for years and I try to put them to good use whenever the opportunity presents itself.
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. I don't play the drums anymore but I still enjoy playing my acoustic guitar.