I took a sabbatical attending a 12 week batch at the Recurse Center—a retreat for programmers—where I worked on my own software. I spent time improving Gooey (my own frontend JavaScript framework designed around a dependency graph), prototyping a visual frontend development environment, and building a WebRTC peer-to-peer chat/file/media sharing browser application. It was a joy and a privilege to be able to spend this time working on my own software along with other people in such an open, collaborative, and friendly environment.
As a staff engineer on Data Observability—a new business line—I was responsible for the creation and successful launch of two new products: Data Streams Monitoring and Data Jobs Monitoring, guiding both from proof-of-concept to general availability.
I met with customers to identify their needs; partnered with product, design, and marketing to align these needs with the capabilities of our data model; and led the technical direction to allow the team to rapidly iterate. By showing customers our progress early and often, we were able to win these partner customer accounts and grow this new business line rapidly (from nothing to >$1MM ARR).
Data Streams Monitoring. I led the effort to turn a proof-of-concept into a fully featured observability tool for streaming data platforms (Kafka, Kinesis, RabbitMQ, SQS, SNS, or custom). Using Datadog's instrumentation tooling, customers' services' reads and writes to/from queues were collected to form a directed graph of their data pipeline clusters over time. Customers could use a map-like visualization to show the flow of data through these services revealing end-to-end latency and throughput. Customers could measure, set alerts on, and diagnose errors encountered along these pathways in their distributed systems.
Data Jobs Monitoring. I led the effort to turn the Data Jobs Monitoring proof-of-concept into a launched product for observing batch data jobs (Spark and Databricks). Using Datadog's instrumentation tooling, Spark and Databricks job run metrics and configurations were collected, allowing users to search for sets of job runs, measure & set alerts on their performance and cost, and compare changes between two sets of job runs.
Data Visualization. I designed and built a flexible, well-tested directed graph layout engine meant to support Data Streams Monitoring's complex graphs. The engine supported configurable densities, improved horizontal/vertical visual alignment, and incremental changes to the layout. I worked with the Dataviz team to integrate this engine into the data visualization suite and advised them on a redesign design of the rendering engine to be more flexible, performant, and regression tested. The improved visualization has a modern look & feel and supports fully customizable, interactive, and animated graph elements.
Organizational Ownership. I started and lead a continued effort to identify, triage, assign ownership, and resolve stale, incomplete, and partially-rolled out feature flags across the frontend codebase.
As a frontend staff engineer in product engineering, I was responsible for both the technical success of my team's product area as well as the broader success of the frontend organization, cultivating the practices, documentation, education, tooling, and development culture. I partnered with product and design to guide new feature development and to balance the demands of new features against existing maintenance needs.
Product. Led frontend teams to design, build, and improve several core features within Slack, including: Channel Sections, People & Channel Search, and Slack Connect Invitation Management.
Channel Sections was particularly challenging to launch. In addition to leading the engineers, I guided the product design and built the necessary consensus among product leadership to allow for this feature to launch. (U.S. Patent No. 11,194,447. Delanghe, Rhazi, Nguyen, et al. (2021))
Infrastructure & Tooling. While primarily leading product teams, I've also aimed to improve the frontend development foundation.
Organizational. I worked to improve the practices and overall quality of the engineering organization through its growth.
As a senior engineer at Blink, I was responsible for laying the technical foundation of new product areas in a rapidly changing startup.
EMR integration. I led the team to build a HIPAA compliant integration with an Electronic Medical Records system. I partnered with our lawyers and the security team, to design the system to be robust to failure and incomplete data, observable at clearly defined levels of specificity, and compliant/auditable while practicing continuous delivery.
Direct mail marketing tool. I reworked a legacy internal mass mail system to support both small-batch and mass campaigns, accurately measure conversion rate, and support running experiments on marketing collateral & provider targeting. I partnered with our internal marketing team and external printers/mailers to develop a simplified workflow with failsafes to aid the detection of manual data entry errors and trained the staff on how to use the new tool.
I managed two teams (Web Platform and Design Systems) with had total of 8 reports. I strove to provide an environment where all my reports had a clear aim, understood the team's goals, recognized their value to the team, and had enough mental space to learn and adapt. I hired 3 engineers, took 2 internal transfers, and promoted 2 engineers.
I led the Frontend Infrastructure team, responsible for the technical success of the supporting systems needed for building Etsy's web frontend.
I proposed, advocated for, designed, led, and implemented projects and frameworks used broadly by the engineering organization.
HTTP API framework. Designed and implemented an API framework standardizing authentication, authorization, input & output validation, and increased code reuse across the codebase.
Frontend JavaScript core library and UI framework Built a set of tools, core libraries, dependency injection framework, and test frameworks for application development targeting IE8+, FF, Chrome, (mobile) Safari, and node.js. The framework was designed to integrate well with our back-end "REST" framework and real-time messaging server for refreshing arbitrary resources as they were changed by other actors.
As one of the 2-4 engineers during my time there, I was responsible for all aspects of the development and deployment of the front-end and back-end software for our anti-spam appliance. I was responsible for feature development, second-level support, and being on-call to diagnose and resolve customer issues.