Engineering Manager, iCloud Client

Apple Inc. - Cupertino, CA (September 2021 to Present)

Managing people I've found to be extremely rewarding and educational. Today I lead a small team of software engineers. Everyone brings unique perspectives and talents which can elevate productivity when effectively supported. I find it my mission to bring out the best in my colleagues while supporting a culture that fosters trust and integrity.

My team's main responsibility is supporting the same asset routing solution I've spent over a decade working on. In addition to those responsibilities, my team owns shared networking and telemetry infrastructure. Furthermore, as with any software engineering team, we work on a variety of other short-term high-priority initiatives which reflect the agile nature of our work.

Software Engineer, iCloud Client

Apple Inc. - Cupertino, CA (December 2015 to September 2021)

Growth is the defining theme of this period of my career. I was extremely fortunate to work with Dan Zitter, an individual I considered a mentor during this period of my career. My involvement was primarily scoped to the same asset routing solution I worked on previously, but now supporting Client Side changes to deliver enhanced performance and capabilities to support the next generation of Apple services.

  • Backend client software engineer in C/Obj-C/Swift for existing asset routing solution.
  • Triage/Resolve customer escalations for existing asset routing solution.
  • Supported architecture and implementation of assets for Messages on iCloud to enable enhanced privacy, reduced cost, etc.
  • Supported various performance efforts to optimize client/server protocol for existing asset routing solution.
  • Unified network capabilities across CloudKit which greatly increase connection reuse, made triaging network issues more unified.
  • Developed internal tool to visualize and analyze system logs which enabled more efficient and accurate triage of bugs.
  • Contributed x-functionally across iOS to address system architecture issues with background networking.
  • Enhanced stability and deterministic bug reproducibility by evolving mock infrastructure.

Software Engineer, iCloud Server

Apple Inc. - Cupertino, CA (July 2013 to November 2015)

During my two years with the iCloud, I was able to contribute to two major releases of iOS and macOS through Server Side support of an asset routing solution. This asset routing solution is what powers uploads and downloads of user asset data (pictures, videos, raw files) for services such as iCloud Backup, iCloud Drive, iCloud Photo Library, iMessage, and others.

  • Server software engineer in Java for existing asset routing solution.
  • Triage/Resolve production escalations for existing asset routing solution.
  • Extensive exploration of ‘TCP Congestion Control’ on iOS.
  • Transcoded native (Objective-C) library to Java for document storage and retrieval on the web.
  • Migrated project from svn + ant to git + gradle.
  • Prototyped various services to improve existing asset routing performance.
  • Mocking toolkit for independent test-ware and better code-coverage through fault injection.
  • Various tooling to streamline build in git + gradle.