Will Sargent

Highlights

  • Twenty years in software industry, fifteen years in services and consulting.
  • Active interest in security as a development concern, involving TLS, high level crypto libraries, authorization and authentication.
  • Four years at Lightbend on Product and Services teams, released Play Framework 2.5 and 2.6.
  • Third largest contributor to Play Framework.
  • Multiple critical product releases at large multi-national corporations, including Intel Media, Apple, Anne Taylor, CBI.
  • Brought Topspin from first rollout to several hundred active artists and over $1 million revenue per year.
  • Revitalized MyBuys, reimplementing core functionality, hiring new engineering team and ensuring a series C round.

Experience

Terse Systems
Contracting for Sharethrough
January 2018 - June 2019
  • Proof of concept server using OpenRTB 2.5 endpoints autogenerated from schema
  • Continuous performance improvements to adserver, keeping number of instances stable even as traffic doubled to 1 billion requests a day.
  • Moved business event logging from Apache Flume to Kinesis Firehose, increasing stability and reducing costs by 95K a month.
  • Upgraded to logging in Logback to optimize business event logging from diagnostic logging, implement Honeycomb backend for observability.
  • Upgraded adserver codebase to Finagle 19.01 from Finagle 11.
  • Upgraded from AWS Java v1 library to AWS Java v2 library.
  • Canary instance rollouts and build / CI improvements.
  • Honeycomb instrumentation for tracing, adding Scala client with context bound implicits for "low profile" tracing.
  • Knowledge transfer and documentation for the team, frequent demos at Engineering Showcase Meetings.
Terse Systems
Contracting for Starbucks
June 2017 - January 2018
  • Metrics, Logging and Observability for Starbucks Unified Commerce Services (UCP)
  • Drop-in metrics integration library for Datadog / Codahale Metrics / Prometheus, using ByteBuddy agent.
  • Autoscaling library with Kubernetes 1.8 based off in-flight request metrics.
  • Graceful shutdown library for Akka, Akka-HTTP, Monix, HTTP4S, Kafka, GRPC
  • Healthcheck system using Akka Actors exposing downstream dependencies and internal state via JSON
  • Scala Logging library based on SLF4J with implicit context for correlation, backed by structured logging with Logback.
  • Opentracing library with integrations for Akka, Akka-HTTP, Monix, HTTP4S, Kafka, GRPC
  • Custom Java JCA provider for short-lived X.509 certificate renewal using Vault PKI
  • JMX support library for typeclass mapping based on MXBeans, JMX authorization with Jolokia
Lightbend (neé Typesafe)
Senior Software Engineer, Play Team
May 2015 - June 2017
  • Play 2.6 release, involving multiple security upgrades, default filters, logging, more global state refactoring.
  • Play 2.5 release, involving Akka Streams, crypto migration, Play WS
  • Substantial rewrite of Play documentation pages, including search, multi-language support
  • Wrote all the Play example projects and set up automatic upgrade library.
  • Token based Request Quota library with integration with Play/Akka
  • Webgoat security work with HPE Fortify and Scala team.
  • Security review with other Lightbend teams
Senior Software Engineer, Services
May 2013 - May 2015
  • Avro / Kafka / REST API integration and general Scala / Akka expertise for Intel Media
  • Akka and Akka Streams support work for Apple
  • Training and Consulting at multiple Typesafe clients
  • Play WS upgrades to use TLS configuration from config
  • SSL Configuration Library using JSSE
  • Typesafe Emoji library and Typesafe Emojr Enterprise Edition
Terse Systems
Contracting for decisionbranch.com
May 2012 - May 2013
  • Wrote a single page web application based around real-time collective decision making with multiple users.
  • Backend implemented using Scala 2.10, PostgreSQL, Squeryl, Akka and Play 2 with event streaming and broadcasting of user events.
  • Front end implemented in Dojo 1.8 using Server Sent Events. UI implemented with full Drag and Drop, complex layouts and dynamic UI updates.
Spark::Red
Senior Software Engineer
September 2011 - May 2012
  • Redesigned Collective Brand Inc. commerce framework to support multiple storefronts on the same app server.
  • Internationalization and localization work to codebase to enable multiple currencies and locales throughout the order framework.
Terse Systems
Contracting for Spark::Red
August 2010 - September 2011
  • Redesigned, refactored and reimplemented large retail site with severe configuration and design issues.
  • Implemented an extremely complex checkout process on a single AJAX based page for Ann Taylor. Hidden gift box line items, line item promotions, line item manipulation, complex shipping restrictions, specialized pricing methods with exceptions, multiple shipping and billing options, multiple storefronts.
Zozi
Senior Software Engineer
March 2010 - August 2010
  • Implemented and deployed first release of Zozi.com using Ruby on Rails.
  • Worked extensively on credit card and order processing logic.
  • Worked on scalability, using HAProxy and Chef for push-button provisioning of cloud instances.
  • Worked on SCM functionality, integrating CruiseControl.rb with functional web tests to Capybara for AJAX functionality.
  • Worked on Front end jQuery, HAML and SASS functionality for countdown and AJAX work.
  • Worked on File and image manipulation using Paperclip S3 and the Cloudfront CDN.
Topspin Media
Senior Software Engineer
January 2008 - November 2009
  • Brought Topspin from first rollout to several hundred active artists and over $1 million revenue per year.
  • Responsible for feature set that differentiates Topspin as "most powerful direct-to-fan e-ecommerce platform."
  • Designed and implemented order processing framework including Paypal integration and shipping rate calculations.
  • Refactored catalog domain model to contain SKUs, shipping addresses, multiple payment options, using extensive Rails ActiveRecord customization.
  • Designed and implemented loosely coupled asset management and transcoding job services, which has scaled through order of magnitudes.
  • Implemented campaign (email, web page, widget, sharing) features.
  • Designed and implemented testing framework.
  • Set up continuous integration servers (CruiseControlRB, then Hudson) and daily build and nightly build practices.
  • Massive internal database refactorings for scaling, efficiency, conceptual integrity.
MyBuys
Principal Software Engineer
April 2006 - August 2007
  • Added large amounts of business functionality, including Explicit On Sale, Price Reduction (with client specific thresholds), SKU Events, subscription and alert selector management tools, and integrations with NextAction, BlueHornet and Google Checkout.
  • Wrote a business-critical importer framework for importing product catalog, inventory and cross-sell data from XML files to database, using SAX and Spring JDBC with 1.5 concurrency utilities, orders of magnitude faster than the one it replaced and has comprehensive transaction handling, validation and error reporting, providing professional services with "hassle-free rollout" of clients.
  • Encapsulated Alert Generation business logic into a rules based system using actions and conditions configurable through Spring. Vastly increased throughput of alert generation matching of categories and keywords by using Lucene indexes instead of dynamic Oracle queries.
Terse Systems
Contracting for DirecTV
October 2005 - April 2006
  • Technical Lead for Entertainment Central portion of DirecTV website.
  • Designed and implemented Service Oriented Architecture for Flash and Web Services, with authentication and authorization with existing security systems.
Contracting for Restoration Hardware
June 2005 - August 2005
  • Wrote "Design Your Own Lamp" tool in Macromedia Flex, chosen as Site of the Day.
  • Integrated DYOL tool with ATG components and repository on backend using Cairngorm framework.
  • Used FAST Echo actionscript in browser to enable merchant debugging of missing or corrupt photos.
Contracting for Restoration Hardware
January 2005 - May 2005
  • Wrote most of the Restoration Hardware commerce backend.
  • Wrote gift registry administration web application for in-store representatives.
  • Rewrote internal product configurator web application.
Contracting for eLuxury.com
June 2004 - October 2004
  • Wrote a high capacity multi-threaded client-server inventory management system (IMS) with redundant failover.
  • Wrote backorder and order reservations into IMS to filter ordered items from available stock.
  • Integrated shopping cart into IMS so that items in shopping cart are reserved and removed from available stock.
  • Worked on cascade filter to remove categories and products that had no available stock from the catalog.
  • Integrations to Retek (Purchase Order) and Uniteq (Warehouse Management) systems.
  • Fulfillment Pipeline integration for Inventory Adjustments, Ship Confirms and Purchase Order updates.
Contracting for AT&T Wireless
July 2003 - January 2004
  • Design and implementation of B2B Commerce site.
  • Redesign of commerce framework on ATG Commerce.
  • Extended Commerce framework for "line of service" relationships and groups in Order.
  • Custom DSS Scenario Actions, Conditions and Events to support new groups.
  • Continuous Integration Build Environment using Ant, Checkstyle, PMD.
  • Integration of existing commerce site to Ariba, using cXML.
  • General consultant for Java, JHTML, database, XML, J2EE and strange bugs.
Contracting for AT&T Wireless
January 2003 - June 2003
  • Code review and refactoring of existing codebase.
  • ATG Dynamo knowledge transfer to in-house staff.
  • Build, Process and Architecture recommendations.
  • Presentations on Dynamo Best Practices.
Art Technology Group
Senior Engineer, Professional Services
February 2001 - November 2002
  • Framework, code design and review for classmates.com.
  • Design and implementation of ATG Services internal portal.
  • Wrote Siteminder authentication and LDAP authorization solution for PG&E.
  • Wrote XML parsing and customization for Sun.
Senior Engineer, Product
September 2000 - February 2001
  • Wrote several of the baseline gears in first release of Portal product, including XML persistence layer.
Software Engineer, Professional Services
September 1999 - September 2000
  • Tech Lead for transcoding for Vodafone.
  • Tech Lead for dynamic workflow experience for Hewlett Packard.
  • Technical integration of DCS 4.5 events to Insight for Accrue.
  • Mentoring, best practices documents and code review for other engineers.
Confluent
Software Engineer
April 1998 - April 1999
  • Wrote a Web Calendar, abrio.com, focusing on the persistence layer and event hierarchy.
  • Wrote a Java Swing personal organizer using RMI and Swing events for conflict resolution.
  • Wrote Windows Metafile Format (on Unix) of Visual Thought, a software diagramming tool written in C++.