Kurt Revis

krevis@snoize.com | http://www.snoize.com

LinkedIn | GitHub | Stack Overflow | Twitter


Summary

Senior/lead level software engineer, with 15 years experience developing Mac and iOS applications.

I love solving hard problems, fixing impossible bugs, and learning whole new domains. I'm not happy unless my whole team is succeeding, so I find and remove obstacles, create coherent architecture and APIs, and answer a lot of questions.


Experience and History
Staff Software Engineer Twitter
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.
Senior Software Engineer Avatron Software
October 2011 — July 2012
Developed a new iOS / Mac remote access product, Air Login.
Senior Software Engineer Apple, Inc.
January 2003 — April 2010
In the iWork group at Apple, shipped several releases of Keynote, Pages, Numbers, 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.
Senior Software Engineer The Omni Group
April 1998 — July 2001
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).
Software Engineer Edmark
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.
Software Engineer 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.

Skills

Expert in:

  • iOS and Mac OS X app development
  • UIKit, Cocoa, AppKit, Quartz (Core Graphics), Core Animation, GCD, blocks, XPC, Core Text
  • Objective-C, Objective-C++, and C languages
  • Xcode
  • Mac OS X and iOS performance tuning
  • Object-oriented design and patterns

Proficient in:

  • Audio and MIDI programming on Mac OS X (CoreAudio)
  • Web technologies: HTML, CSS, JavaScript, XML
  • OpenGL
  • C++, AppleScript languages
  • UNIX programming and scripting
  • Source control with Git, Subversion, and CVS

Familiar with:

  • Web application development with Ruby on Rails
  • Web client implementation: Layout, rendering, network programming
  • Relational database design
  • Platform-independent coding
  • Java, Haskell, Perl, SQL, Python, Ruby, Smalltalk languages

Patents
Image mask interface, US Patent 8,209,632
A UI method for selecting a mask region for an image, used in iWork for iOS.

Education

Personal Projects
Two MIDI utility applications for Mac OS X. Useful for working with external MIDI devices (like synthesizers), troubleshooting, and testing apps and drivers. Released as Open Source.