Experience
Lyft, Inc.
Senior Staff Engineer |
March 2020 – Present |
Tech lead for the Mobile Infrastructure team (15-20 engineers) and
the broader Mobile organization (150 engineers).
- Created a multi-year vision for the iOS architecture and codebase
for better scalability of team and codebase without sacrificing
developer productivity and code or product quality
- Designed and implemented a sophisticated iOS module structure, with
standardized practices for dependencies, testing, and APIs to optimize
build times, code reusability, and testability
- Defined code ownership rules for iOS and Android to ensure all
modules have clear ownership and maintainers, and created tools to track
and enforce these rules
- Started and led a group of Mobile Tech Leads to define and drive the
direction of the Mobile organization, including engineering best
practices, talent development, and championing Mobile across the
company
- Continuously promoted Mobile code quality and overall codebase
health through developer education, documentation, and building a web
portal to track major codebase migrations and tech debt per team
- Established a strong testing culture by improving testing
infrastructure like code coverage tracking and rolling out more testable
architectural patterns and tooling to nudge people to write higher
quality tests. This resulted in an increase in code coverage from 10% to
60+% in the iOS codebase.
- Evaluated the integration, adoption, and usage of new high-level
technologies like Server-Driven UI and snapshot testing on both iOS and
Android
- Mentored senior and staff engineers across the company and regularly
participated in hiring panels and annual company-wide promotion reviews
and rating calibrations
Staff iOS Engineer |
March 2018 – March 2020 |
Tech lead of the iOS architecture team which built and maintained
proprietary architectural frameworks, libraries, and tools for the iOS
codebase.
- Designed and built an RxSwift-centric architecture focused on
scalability and testability, and rewrote critical pieces of Lyft’s iOS
apps to use this new architecture
- Distributed the iOS codebase into dozens of modules initially, and
then socialized the build time and code reusability benefits to the
broader iOS team to scale the codebase to hundreds of modules
- Built up teams and engineers through recruiting/interviewing,
extensive code reviews, and mentorships
Senior iOS Engineer |
June 2014 – March 2018 |
- Contributed in rewriting the legacy Objective-C codebase to 20k
lines of Swift code initially, and then scale the codebase to 300k lines
of code and the team from 5 to 40+ iOS engineers
- Split the unified Lyft app in a separate Passenger and Driver app
with a shared core for improved organizational and technical
productivity
- Implemented core features like multi-passenger pickup, scheduled
rides, and PayPal integration
QMotion, Inc.
iOS Developer |
May 2012 – June 2014 |
- Designed and developed the company’s iPhone and iPad apps to let
users control their window shades from their iOS devices
Skills
- Languages & Frameworks: Swift, Objective-C,
SwiftUI, UIKit
- Design & Architecture: The Composable
Architecture, RxSwift, MVVM, modularization, dependency injection
- Developer Tools: Xcode, XCTest, XCUITest, Git &
GitHub, CLI, SwiftPM, SwiftLint
- Deployment & QA: TestFlight, App Store Connect,
performance profiling, crash reporting
Education
University of West Florida |
2010 – 2013 |
Bachelor of Science, Information Technology