Staff Software EngineerLiftoff MobileRedwood City, CA06.2023Present
Led a team of 5 engineers, building an iOS library for scalable data collection
Worked closely with internal and external customers to ensure the library
met their needs while maintaining high performance and low impact on
app resource usage
Worked with peer leadership to coordinate with backend data collection and
Android teams to deliver a cross-platform solution
App running the library collected terabytes of data per day to feed into
ML training scenarios, BI and billing systems
Lead Software EngineerSnap, Inc.Seattle, WA08.201806.2023
Telemetry
Led a team maintaining a mobile logging library for iOS and worked with
peer leadership to develop Android, Javascript, and server-side Java clients
Built a C++ shared library for very low-impact performance telemetry
on both iOS and Android
Simplified and improved a code-generation library to share metrics
definitions between disparate client implementations.
Mobile Builds
Built a high-performance build system using Bazel and python to support
Snap's massive 1M+ LOC iOS app
Build a tool to measure app size, including per-file breakdowns for
size and team attribution
Built and monitored build metrics system to understand pain points
for developers using the build system
Lead Mobile EngineerComcast Technology SolutionsSeattle, WA03.201506.2018
Video delivery SDK:
Built an iOS Framework SDK to display streaming
video
Supported custom video definition language
Integrated with multiple advertisement delivery
systems using a plugin system
Cross-platform architecture:
Worked with iOS, Android and Web teams to deliver
a consistent SDK API across multiple implementation
languages
Worked with product management and customers to
write specifications for new features across all
platforms
Worked across platform teams to define development
stories, manage sprint planning and resolve
questions arising during implementation.
Worked with remote teams to coördinate
development of products related to the Video
SDK
Independent ContractorSeattle, WA06.201402.2015
Legal services site:
Built a REST/JSON backend with Python/Flask,
hosted in Heroku
Built a responsive SPA website with AngularJS
Sports media company:
Developed a declarative REST service framework
for C#
Implemented service methods in C#, accessing
a backend using ElasticSearch, SQLServer and
Redis.
Built a dynamic iOS application surfacing
sports media content. Features include:
Principal Mobile EngineerAgilysysBellevue, WA01.201304.2014
Led a five-person team in the development of
InfoGenesis Mobile,
a highly customizable mobile point-of-sale application for
use in the hospitality industry
Features included:
Data-driven customizable user interface supporting many different usage patterns
An extensible asynchronous architecture to support safe operation in areas of unstable or unavailable network access
Interface with enterprise-scale hospitality software services
My responsibilities included:
Project setup, including source control (git), code
reviews (Gerrit), test builds and artifact generation
(Jenkins)
High-level architecture of all major backend and
UI features
Implementation of core features such as:
remote message queuing, data modeling, and the
majority of the core order taking UI
Code review of all check-ins and responsibility for
project quality metrics
Mentoring of junior team members
Designed and prototyped an architecture for the
next generation of Agilysys' back office services
Senior Mobile EngineerZillowSeattle, WA11.201112.2012
Designed and implemented
Zillow Rentals
for Android. Primary developer for this application,
including development of all application logic, UI
implementation and test development
Redesigned and developed iOS app and backend services in
order to display home data with malformed addresses to users
Extracted re-usable code from the existing (non-modular)
Zillow App and created code libraries for future re-use
Developed various improvements to the Zillow Real Estate
app on both iOS and Android platforms
Developed management software to manage large
installations of headless voice-managed wearable
computers, using WebSphere, Informix and J2EE methodologies
Developed software to provide Vocollect's speech
recognition and workflow software on third-party
handheld devices using C++