Sean Fitzgerald
I'm Sean Fitzgerald (aka seanfitz), and I'm a software engineer. Over the last 15+ years, I've worked at startups, big tech companies, social networks, and now in fintech. I primarily work in the shadows (i.e. operations, backend, or infrastructure), but know enough to be gleefully hazardous on the front end. I believe that the best way to create products is to explore and experiment. I also believe that good infrastructure should be reliable to the point of transparency. If you are building a product, be tinkering. If you are building a platform or infrastructure, enable tinkering.
Work Experience
Principal Software Engineer
Database Scalability
Executing a new horizontal sharding scheme for user-data.
Staff Engineer - Payments
Technical Lead for v1 Payments (Payment Flows)
Supporting the development and operations of Stripe's v1 payments stack, leading teams focused on operability, cost, and latency.
Payments Performance Rollout Tech Lead
I support an end-to-end rewrite of Stripe's Payments stack. I ask important questions like "how do you know this works?" and "what if we tested this?"
Project Runway
Led a team across product and infrastructure to extend existing internal MongoDB ODM to support a new sharding scheme, doubling maximum write throughput per user.
Afterpay Payment Method
Led a team of 5 across the US and Singapore to onboard Afterpay as a Payment Method for distribution by Stripe via the PaymentIntents platform.
Software Engineer - Infrastructure
Observability
Technical lead and owner of Snap’s observability platform, including metrics reporting libraries, ingestion and aggregation, storage, visualization, and monitoring/alerting.
Infrastructure
Addressing performance and cost of Snapchat backend services. Responsible for changes that resulted in cost reductions of $100k per day.
Software Development Lead
Adapt Maintainer
A natural language parsing framework, incorporated into Mycroft.ai when I joined the project.
Software Development Lead
Greenfield development. Building platform level components, distributed architecture, and packaging and distribution of binaries.
Senior Software Engineer - Big Data Lead
Social Engagement
Built and refactored services for collecting social media interactions and associating them with TV ad airings. Focused on reliability, reproducibility, and horizontal scalability.
Audience Team Lead
Greenfield development. Ingests 30MM rows of data from Smart TV devices daily, cross references the data with iSpot's authoratative catalog of ad airings.
Senior Software Developer
Mozart
An intelligent caching proxy layer, orchestrating requests between all hulu clients and several backend services with a single, sane API.
Ecco/Terra
Ecco and Terra are build/deploy infrastructure-as-a-service (respectively) for server-deployed applications. It provides multi-package version management, hierarchical organization of hosts, deployment history, and configurable rolling deployments.
Software Development Engineer II
UGC
Services supporting User Generated Content for Halo 4, including ingestion, indexing, and search.
Software Developer
Bender
An automation framework for testing the hulu plus app on living room devices (ex: PS3), including automating app build/install/hardware provisioning.
Mozart
An intelligent caching proxy layer, orchestrating requests between all hulu clients and several backend services with a single, sane API.
hammer
CMS for hulu's internal editorial team, allowing for preview, drafts, and one-click publishing.
Software Development Engineer II
AWS - S3 Access Team
The S3 Access Team owns, maintains, and extends the S3 API, and owns several components of the durability workflow. Most notably, I designed, implemented, and deployed the S3 Website feature.
Fire Phone - 3D UX Prototyping
The Euclid team built initial prototypes proving out conceptual 3D user interfaces, including replacing key components of AOSP. My work focused on replacing InputDispatcher with a version that provided high-performance and direct access to input (prior to entering managed code).
Amazon Echo - Prototype Platform Lead
The Prototype Platform built Natural Language parsing, training, and data collection tools to support application developers while recently acqui-hired R&D teams ramped up. By defining robust interfaces and competent english-language systems, the platform allowed application and product developers to build fully functional systems, and allowed for a hot-swap replacement of alternative NLP implementations at a later date. As the founding member of this team, I wrote the initial parsing and intent determination algorithms, and later led a team of two other engineers.
Software Engineer
First Engineer
As the first engineering hire, I had the opportunity to work on the full Siri stack. Towards the end of my tenure, I owned the deployment and live data update pipelines.
Software Engineer
CALO Express
A productization of the CALO project, built as an Outlook plugin. I joined the project late, and focused on tracking down bugs around process management. I also performed on-site customer installs at government facilities.
CALO News
An RSS subscription and notification system that learned as users read/categorized documents. The knowledge learned from observation was then used to prioritize news items.
SourceMix
A collaborative, server-side javascript development environment and code execution engine.
Software Engineer
Legacy Systems Maintenance
I maintained and updated a legacy automated meter reading system for gas and electric power meters manufactured by Itron.
Projects
Adapt
The Adapt Intent Parser is a flexible and extensible intent definition and determination framework. It is intended to parse natural language text into a structured intent that can then be invoked programmatically. It is a component of the Mycroft Personal Assistant.
On GithubHeare.io
Heare is intended to be the smallest and simplest intelligent assistant platform. Capable of running STT, TTS, and all skills on a Raspberry Pi 4, the Heare Agent will keep your smart home in your home. The ultimate bikeshed, heare-config addresses the constant struggle of marrying command line, environment variables, and config files together seamlessly.
On Github