Kurt Revis krevis@snoize.com http://www.snoize.com http://www.linkedin.com/in/krevis https://github.com/krevis ------------------------------------------------------------------------ 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 the whole team is succeeding; I contribute by finding and removing obstacles, creating coherent architecture and APIs, and answering a lot of questions. ------------------------------------------------------------------------ Experience and History Senior Software Engineer Avatron Software http://www.avatron.com October 2011 -- Developing a new iOS / Mac product. Senior Software Engineer Apple, Inc. http://www.apple.com 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! - 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. - Went through the whole product lifecycle, several times. Did estimates and scheduling, 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 http://www.omnigroup.com/ April 1998 -- July 2001 Worked on a variety of Mac OS X and WebObjects projects, for consulting clients and for Omni directly. Highlights: - 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 app development (iPad and iPhone), including Cocoa Touch (UIKit), Quartz, and Core Animation - Mac OS X app development, including Cocoa and WebKit - Mac OS X and iOS performance tuning - Objective-C, Objective-C++, and C languages - Object-oriented design and patterns - Xcode Proficient in: - Audio and MIDI programming on Mac OS X (CoreAudio) - Web technologies: HTML, CSS, JavaScript, XML, AJAX - 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: Rendering, JavaScript implementation, TCP/IP programming - Relational database design - Platform-independent coding - Java, Haskell, Perl, SQL, Python, Ruby, Smalltalk languages ------------------------------------------------------------------------ Education B.S., Engineering and Applied Science, concentration in Computer Science California Institute of Technology (Caltech) June 1995 ------------------------------------------------------------------------ Personal Projects MIDI Monitor and SysEx Librarian 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: http://github.com/krevis/MIDIApps