John Sullivan


I am an experienced Software Engineer with a demonstrated history of working in the information technology and services industry. My professional skills are in Middleware, Storage Area Network (SAN), Internet Protocol Suite (TCP/IP), Python, Go, C/C++, and Debugging.

I am a member of the Association for Computing Machinery and Eta Kappa Nu (the Electrical Engineering Honor Society), and a proud alumni of Worcester Polytechnic Institute (WPI)


Principal Software Engineer

  • Engage in cross functional communication with Sustaining Engineering, QA, and Support teams
  • Analyze customer escalations, identify and implement solutions
  • Triage bugs during the development cycle and prioritize with feature development
  • Design and implement flexible and scalable solution for complex upgrades, minimizing downtime and reducing failure risk
  • Improve disaster recovery reliability of storage appliances with coordinated interactions
  • Create feature development plans and time lines for implementation
  • Own development plans to completion within a given release
  • June 2019 - Present

    Software Storage Developer

  • Develop, maintain, and debug issues with next-generation storage control plane and data path
  • Closely work with operations team to triage and address issues in production environments
  • Act as team lead for the storage team for both development and maintenance role
  • Develop next-generation control plane based on Kubernetes
  • October 2016 - June 2019

    Lead Software Engineer

  • Develop, maintain, and debug issues with Consul clusters across the world, including contributing changes to the Consul application
  • Develop and maintain tools to automate software engineering tasks for the database team
  • Develop access-based API authentication support software and help educate engineers in the process of transitioning from ID-based authentication to access-based authentication
  • August 2015 - October 2016

    Principal Software Dev. Engineer; Platform Storage

  • Develop & support platform-level Thrift-based management of cloud storage stack using C++
  • Develop Python-based tools to test interfaces and process log files to facilitate debug & triage
  • Develop and support storage-related user API into Java-based cloud orchestration layer
  • March 2014 - August 2015

    Sr. Software Dev. Engineer; I/O Driver Team

  • Develop and support the lower-layer I/O drivers that communicate with SATA and SAS drives
  • Add drive failure prediction functionality to the I/O stack in the Dell EqualLogic firmware
  • Debug issues with new drives being qualified for use in new and existing Dell EqualLogic arrays
  • Ocotber 2012 - March 2014

    Personal Projects

    Coding & Professional Skills






    Storage Area Network (SAN)




    Expert knowledge of Red Hat Enterprise Linux (RHEL) and Fedora Linux on x86_64 architecture. Experience with Docker, Ubuntu, Windows 7/10/2008, NetBSD, and MS-DOS.


    Experience with LVM, BTRFS, ZFS, mdraid on RHEL, CentOS, Ubuntu, and Fedora Linux.


    Expert knowledge of configuration and management of Ethernet hardware in previously mentioned environments.


    Expert knowledge of the Git version control systems, experience with software packaging using RPM and Yum, experience with Linux KVM-QEMU virtualization


    Jan 2014 - Present

    GitHub is (to paraphrase its company profile) a web-based hosting service for version control using Git. It is the basis for a community of developers to collaborate on projects written in a variety of languages and under a variety of open-source-friendly licenses.

    Hashicorp Memberlist

    memberlist is a Go library that manages cluster membership and member failure detection using a gossip based protocol. memberlist is eventually consistent but converges quickly on average. The speed at which it converges can be heavily tuned via various knobs on the protocol. Node failures are detected and network partitions are partially tolerated by attempting to communicate to potentially dead nodes through multiple routes.

    Golang Argparse

    The goal of this project is to bring the ease of use and flexibilty of Python's argparse module to Go.

    Location, Location, Location

    The location of new opportunities is important to me, and my daily commute will influence my decision. I am not interested in making a daily commute to the Cambridge/Boston area, however if the position has the flexibility to work from home 3-4 days a week that would be of interest.

    Commuting Range

    The geographic region that interests me is an interesting polygon that is bisected by 495:

    • To the south, does not reach 128
    • To the north, extends to southern Nashua, NH
    • To the east, roughly follows 93 and 495
    • To the west, roughly follows 3 but extends down 495
    This map is not a definitive, but provides a rough idea where I could expect to be able to commute.