Experience
Lead UI Engineer Citadel August 2024 -
Present
Lead UI Engineer
Citadel - Building and maintaing software tools to power financial and trading software for the Global Fixed Income group.
Senior Software Engineer Netflix Aug 2018 -
Jun 2024
Senior Software Engineer
Netflix - Led development and creation of an internal IDE plugin marketplace, as well as various IDE plugins, used by thousands of Netflix engineers, supporting Microsoft's VSCode and the JetBrains IDEs .
- Led UI development of a brand new web application named Creative Review, using React , TypeScript , Redux , CSS-in-JS and a NodeJS server for the UI layer. Used Kotlin for the API layer, with MySQL and Redis for the data layers. Application is used for reviewing artworks before they can be used for promotional purposes. Built a reusable UI library, named Freeformer, for panning, zooming and annotating images, as well as a UI library named Conversation Pit for handling threaded conversations.
- Led UI development of another new web application, named Iris. This application is responsible for checking the status of all the artwork that flows into the Netflix streaming service, and ensures a title is not missing any artwork at any point in its lifecycle.
- Led a working group to align on Monorepo tooling, and created an easy-to-use command line tool to manage UI monorepos across Netflix. Tool is now open-sourced! Checkout Turbo Tools .
- Built a reusable, sensible-default introspection tool to automatically generate React data fetching hooks and TypeScript typings. The introspection tool leveraged GraphQL Code Generator .
- Maintained and improved Hawkins , the Netflix UI design system JavaScript and TypeScript libraries, used in hundreds of production applications across Netflix.
- Led the creation and development of the Hawkins Community, a repository with build, testing and publishing mechanisms to make it easy to contribute community components and libraries that are built on top of the Hawkins UI libraries. Hawkins Community has over 40 published libraries, in use across hundreds of applications, with over 2 million installs.
Software Engineer NASA Jet Propulsion Laboratory Feb 2016 -
Aug 2018
Software Engineer
NASA Jet Propulsion Laboratory - Created a platform-agnostic, real-time state synchronization service called Neuralyzer , running on Node.js , using the Web Socket protocol. Neuralyzer uses Redis to synchronize server "rooms" between multiple instances of the Neuralyzer server that may be executing. Uses Redis to store server state, as well as a pub / sub channel for sending private messages between server instances.
- Led web UI development of a hybrid 2D / 3D web application called OnSight , which enables scientists to explore a 3D reconstruction of the Martian terrain. Used a combination of web technologies ( React and Redux ) and the Unity Engine . Terrain visualization assist scientists in gaining spatial context for where the Rover has been at each of its drive locations. Users can join realtime, multiuser discussions to share POIs with each other and discuss various terrain features.
- Created a reusable web application "widget" library, built on the Web Components specification, with the intention of reducing duplicative efforts that result from having to constantly implement custom buttons, inputs, datepickers, and data visualizers. Using the library provides a consistent UI aesthetic across different applications.
- Rewrote Raven, a multi-mission data visualization tool, into a stateful, single-page-application used for sequencing and planning of missions. Tool supports restoring UI state from historicals persisted in a DB, as well as customizing data visualizations. Rewrote this application using React , Redux , and Stylus CSS , while using Webpack and custom NPM scripts for building.
Senior Software Engineer Pure Chat Jan 2014 -
Feb 2016
Senior Software Engineer
Pure Chat - Developed the majority of all front-end and UI features, using Marionette.js and Backbone.js as the MVC framework. Worked with Socket.io to build scaleable, real-time communications Node.js servers for live-chat, and C# and ASP.NET's WebAPI framework for the application server.
Software Engineer III U-Haul International Dec 2011 -
Jan 2014
Software Engineer III
U-Haul International - Developed a jQuery version of the Payment Control server control, which is responsible for collecting, removing, and modifying any payments applied within a sales or reservation transaction, and uses a WCF service via JSONP for any required server-side functionality.
- Worked on the THS (Terminal Host Service) Windows service, which handles all of the credit / debit card device interactions, as well as popping of cash drawers from within any web browser.
- Developed and maintained all internal jQuery plugins currently being used in the Point of Sale system.
- Worked within the ESL (Equipment Scheduling Log) and HSL (Hitch Scheduling Log), which are responsible for creating / modifying / deleting all equipment rental and hitch transactions made across all of U-Haul's locations.
- true