Staff Software Engineer
July 2012 —
In the iOS Twitter client, implemented a new version of Cards
, a generalized way to display dynamic content without hardcoding specific behavior into the app.
Developed a new iOS / Mac remote access product, Air Login
Senior Software Engineer
January 2003 — April 2010
In the iWork
group at Apple, shipped several releases of Keynote
, and iWeb
, on both Mac and iPad.
- For iWork for iPad, designed and implemented a new, Core Animation-based graphics and interaction framework, which was essential to all 3 apps. We built a revolutionary touch-based UI, pushing the limits of an untried OS and hardware, and shipped on schedule with the first iPad!
- Lead engineer for the graphics system used by all the Mac apps, built on OpenGL, Quartz, and Cocoa.
- Designed and implemented new features, from high-level UI to low-level details, across the whole suite. Was involved with text, document storage, import/export, performance, HTML widgets, and essentially anything that appeared on the screen.
- Lived the whole product lifecycle, several times. Estimated schedules, decided on feature sets for releases, presented proposals, wrote prototypes and documentation, and filed for patents.
- Led a team of two other engineers. Ran daily scrum meetings.
- Coordinated with the whole team: design, engineering, QA, product management, and marketing. Answered questions for scores of other engineers, both local and remote.
- Wrote, triaged, analyzed, and fixed thousands of bug reports.
Worked on a variety of Mac OS X and WebObjects projects, for consulting clients and for Omni directly.
- Led development of a vertical-market store management application for Mac OS X, Salon Transcripts. Worked with the client and end users on the specification, and managed two other engineers.
- Wrote proposals and estimates for potential consulting work.
- Added features to, and fixed bugs in, the web browser OmniWeb (winner of two Apple Design Awards in 2001).
- Performed upgrades, developed bug fixes, and cleaned up the architecture of the online store of a major software company.
- Wrote Mac OS X, Windows, and WebObjects applications that worked with relational databases (Oracle, FrontBase, DB2, and Sybase).
January 1996 — April 1998
Developed original multimedia education titles for Macintosh and PC, including 3 shipping CD-ROMs, using C++ and in-house cross-platform libraries. Collaborated with teams of programmers, artists, sound designers, and educators. Also developed a prototype implementation of a "kid safe" web browser for the Mac, using custom code on top of Internet Explorer.
SPRY/CompuServe Internet Division
June 1995 — January 1996
Developed a user-friendly account creation and network configuration application for Internet in a Box
for the Macintosh, using C++ and PowerPlant. Also developed Windows 95-specific enhancements for the web browser SPRY Mosaic, using Visual C++ and MFC.