Hello! I'm Mike, a software engineer with over 6 years of experience specializing in building data-driven products for platform companies.
With a background in economics and analytics, I'm just as comfortable analyzing data in Python with a Jupyter Notebook as I am building a real time analytics service in Java. I enjoy solving problems on small, independent, and focused teams.
I have over four years of experience performing Improv Comedy, and I bring the active listening and open-mindedness skills it requires to the workplace!
I'm currently working on creating a first-class experience for developers building on top of HubSpot's platform. Focused on Webhooks, API Metrics, and Rate Limiting at scale.
Where I've Worked
Senior Software Engineer @ HubSpot
August 2017 - Present
Developer Experience Backend Team (October 2018 - Present)
- Improved Webhook Subscription daily delivery rate from <75% to over 98%, mainly through improving our retry algorithm, and better identifying when a customer's downstream service is impaired.
- Built an External API Call Metrics pipeline to provide critical business insights into how external developers use HubSpot's APIs. Parses multiple TB of logs daily to identify external calls. Utilizes Kafka and Amazon Athena.
Salesforce Integration Team (August 2017 - October 2018)
- Overhauled cron based polling infrastructure that detects changes in Salesforce objects to be a much more scalable distributed and threaded polling implementation. Greatly reduced average time to detect changes in almost 1 Billion objects daily!
- Built out Multiple Pipeline sync, which enabled Salesforce customers to seamlessly map their complex Business Processes 1:1 to HubSpot's Pipelines while still successfully syncing Salesforce Opportunities to HubSpot Deals.
- Greatly improved API rate limiting performance on calls to Salesforce by utilizing a rolling window bucketing algorithm backed by MySQL.
- Java 8, Dropwizard, MySQL, Kafka, Amazon SQS, Amazon Athena, Memcached, Amazon S3.
My Skills & Interests
- Java 8+
Get In Touch
Although I'm not currently looking for any new employment opportunities, I do set aside a limited amount of time to provide consulting services. If your team needs expertise in ingesting large amounts of data, building an analytics pipeline, designing a database schema, or optimizing slow SQL indices/queries, please feel free to email me! I would appreciate that recruitment queries go through my LinkedIn.