MICHAEL DAUTERMANN
San Francisco, CA  94108
+415 637 0694 
dautermann  @  mac.com

PROFESSIONAL SUMMARY:

Software engineer with 20+ years of industry experience focusing on delivering
user-friendly application & component design & development on Apple macOS (Macintosh), 
iOS (aka iPhone, iPad), watchOS, tvOS and UNIX OS based machines.

I would be a best fit for a contract or full time Lead or Senior Engineer role
where I can greatly contribute at the individual level, but also 
provide people management and/or architectural design.  

SKILLS:

* Full stack programmer who works primarily in Objective C & Swift (Cocoa), SwiftUI, C++ 
  (CoreFoundation); also in C, Java, JavaScript, Objective C++, Ruby, Python, Assembly.
* Built code under Apple's Xcode compilers, LLVM, GNU G++ & GCC, JBuilder and 
  Oracle among others.
* Authored and coded with many Object Oriented function classes which cross-compile and
  work in up to three architectures (Macintosh, Microsoft Windows and UNIX & Linux operating systems),
  or projects that build both iOS and MacOS targets.
* Takes advantage of (when possible) and contributes back (when practical) to the Open Source
  community, including Cocoapods, Boost, public GitHub repos & forks (AFNetworking) 
* Debugging skills: familiar with performance tools such as those that ship in Xcode 
  Instruments, to source level tools, and even assembly with LLDB or GDB.
* Familiar and easily adaptable with procedures & tools (such as Agile Scrum, Jenkins, Xcode Bots, TestFlight, 
  Fabric & Crashlytics, HockeyApp, Code Collaborator, etc.) for writing, reviewing, delivering & fully documenting code.
* Forward thinking: backups regularly performed; code always archived via GitHub, 
  BitBucket, Stash, Subversion (svn), CVS and other version control setups. 
* Knowledge of many UNIX System Administration techniques.
* Exceptionally friendly and personable: not hesitant to deal with 
  customers, enjoy taking on leadership roles.  
* Flexible: very comfortable working on own, as part of a large effort 
  or group, but especially in smaller (4-5) person close-knit teams.

EXPERIENCE:

CONTRACT & INDEPENDENT APPLE CONSULTANT
Palo Alto & Orange County, California; Vancouver, Philadelphia, New York City & Fort Lauderdale
Contract Lead or Senior Engineer, macOS (Macintosh) and iOS (iPhone & iPad)
January, 2003 to Present

I started doing independent consulting work after finishing my Masters and have had a good run 
so far (while at the same time, optimistically looking for the stability of a permanent full time role).

For all of my consulting & contractor work, I worked solo or as part of a team on a number 
of diverse roles for commercial & shrink-wrapped applications:

* I've shipped over two dozen original iOS applications to the Apple App Store over the past eight years.
  All commissioned works, all done for different companies, Fortune 500 corporations, small businesses & entrepreneurs.
* I've also added new features, updated and fixed bugs in a number of extremely popular iOS apps 
  (such as Dominos Pizza, StubHub, Weight Watchers, Bleacher Report, etc.)
* Most programming work is done in Swift or Objective-C via Cocoa. Some low level code 
  (such as helper apps or kexts) is typically done in C++.
* Worked intimately with WebKit, IOKit, iAd & AdMob integration, Analytics (such as Parse & MixPanel), 
  pthreads, Core Animation, XML, JSON, Core Location, MapKit, GoogleMaps SDK, Auto Layout, SSL Encryption and the 
  OpenSSL libraries (SASL authentication via GSSAPI), Kerberos Authentication & KX509 Certificates, 
  Core Data, Quartz Composer, Core Graphics (Quartz 2D), QTKit, AVFoundation and DiscRecording 
  frameworks, Core Foundation objects, shell & Perl scripts, APNS push notifications, 
  Dashboard widgets authored via Dashcode, Xcode and Interface Builder.
* I try to make immediate impacts at my contract assignments: while working on Adobe's core Flash Player
  team, for example, over 150 bugs, enhancement requests & new features were addressed and resolved.
* Built network kernel extensions (NKE's or drivers) for encrypting TCP/IP traffic within a LAN, 
  and a separate driver - now shipping as an agent - to make USB devices appear as Ethernet interfaces.
* Created e-commerce and infrastructure enterprise applications that utilized third party 
  hardware, such as a bar code scanner & credit card swiper attached to iPhones.
* Used WebServices, SOAP & REST-ful API's within an iPhone app and also Macintosh launch daemons, 
  the latter is used to watch a network folder for incoming credit card transaction files to process. 
* Created Macintosh version of exam software used by many prestigious law schools and bar exams.
* Two separate projects for two separate companies used in-depth Apple Events to communicate 
  between various browsers (Safari, Firefox, etc.) and a Cocoa-based applications for 
  cobranded and affinity marketing, points and cash back bonuses for customers. Two other
  apps used Core Location to report back GPS coordinates to from iOS devices to central servers.

SERVADOR, INC./WEBPRINT, INC.   
New York City, New York
Principal Engineer, Macintosh   
August, 2001 to June, 2002

* Created & customized Macintosh driver software that enables printing 
  files to local copy shops & print franchises.
* Customized functionality of installers to personalize and lock preferences 
  for customers based on selections made on a UNIX web server.
* Assisted with Java and JavaScript elements (both authoring and 
  QA'ing) on production web servers.

1STUP.COM, INC.
San Francisco, California
Macintosh Engineer
March, 2000 to November, 2000

* Working with one partner within a larger team of 20 engineers, 
  this position involved bringing free Internet access technology to the 
  Macintosh market.
* 80% of the work was new code (e.g. TCP/IP via PPP), designing O.O. 
  classes in C++ & PowerPlant; 20% was devoted to fixing issues.
  Carbonization, bullet(hack)-proofing the application and protocols. 
* Coded support for multiple languages (e.g. Brazilian Portuguese 
  & Spanish); new languages such as Kanji could easily be added.
* Designed numerous new features included in multiple releases
  of the product.
* Created tools to assist in creation of user interfaces
  and rapid deployment of dozens of partner applications.
* Assisted the Marketing group in introducing the product to 
  Macintosh users.

ADOBE SYSTEMS, INC.     
San Jose, California
Acrobat (Application) Engineer     
March, 1997 to March, 2000

* Designed and coded features introduced in Adobe Acrobat 
  4.0, 4.05 and 5.0 and its associated plug-ins.
* Most new function classes and multi-layered code is
  written in C++, the remainder in C.
* Majority of my engineering effort was focused on the Mac 
  versions; but most code was required to cross compile and run 
  under Windows and UNIX architectures.
* Added additional AppleScript support to the Viewer and plug-ins.
* Designed code to make creating International (localized 
  & translated) applications easy between architectures.
* Designed & created new plug-in, Acrobat SendMail.
* Solo resurrection & updating of an Adobe product 
  (Acrobat Catalog) not successfully built in over two years.
* Fixed, enhanced and shipped a second orphaned package 
  (Adobe Registration Utility), adding code and UI for it to 
  display and register customers speaking 14 languages.
* Resolved dozens of problems found by QA testers introduced 
  with the integration of new technology (OpenType, new PDF 
  core libraries, etc.) into legacy code.  
* Recruited and mentored new engineers.
* Worked closely with the 30 member engineering team through 
  the two year product cycle of Acrobat 4.0 design to delivery 
  in April, 1999. Arrived at Adobe during development of Acrobat 3.0 
  and left (for a startup opportunity) while 5.0 was well underway.

APPLE COMPUTER, INC.     
Cupertino, California
System Software (OS) Engineer     
November, 1995 to April, 1997

* Moved into full time position on OS Update team after 
  graduate internship in middle of System Software (7.5.3) 
  development project, worked through four development cycles 
  (up to Mac OS 7.6.1).
* Primary responsibility was coding and integrating 
  releases and fixes from teams across Apple into System 
  Software releases each month.
* Isolated, debugged and fixed hundreds of "issues" (i.e. 
  bugs) reported by QA, beta testers and customers; some bugs 
  were very involved, others required working closely across 
  software and hardware teams
* Designed and coded new features and API's into public and
  private libraries, as well as ROM.  Coding was done in 
  C++, C; also Pascal and 68K Assembly.
* Corresponded and dealt directly with customers and 
  participants on mailing lists and newsgroups to evangelize 
  Apple and find concerns for the OS Update team to look at in 
  the future.

U-M ITD CENTER FOR INFORMATION TECHNOLOGY INTEGRATION      
Ann Arbor, Michigan
Programmer II, Performance and Testing Group     
March, 1991 to July, 1993 

Created tools and utilities for U-M's Workstation Group, 
where the focus was on the AFS distributed file system.  
Two notable utilities created with MPW include a disk/file 
server benchmarking application and a extended systems 
permission accessory. Experience in MacTCP, Toolbox, 
extended AFP commands, and Kerberos authentication was 
extensively utilized. Knowledge covering other platforms 
running Unix and MTS Operating Systems were also 
necessary.

EDUCATION:

STANFORD UNIVERSITY     
Palo Alto, California
September, 1997 to December, 1999

Continued work for Masters in Computer Science by finishing 
graduate courses and seminars including Advanced Operating 
Systems, Compilers, Distributed Systems, Computer Graphics, 
and Fundamentals of Programming Languages.

WAYNE STATE UNIVERSITY     
Detroit, Michigan
June, 1994 to May, 2002

Major:  Computer Science
Graduated:  Master of Arts; May, 2002
  
Courses taken include Design & Analysis of Algorithms, 
Advanced Software Engineering, Database Management Systems
(making use of Oracle tools), Networks and Software 
Environments.

UNIVERSITY OF MICHIGAN     
Ann Arbor, Michigan
May, 1988 to July, 1993

Major:  Chemistry/Computer Science
Graduated:  Bachelor of Science; May, 1993

Most Computer Science classes include rigorous programming 
exercises and labs.  Thorough knowledge of C, C++, Pascal, 
FORTRAN and the UNIX Operating System was imperative.  UNIX 
machines worked with include IBM RTs and RS6000's running AIX,
DEC 3100 & 5000 running Ultrix, Sun 3 and 4's as well as
Sparcstations, among others.

ADDITIONAL PUBLIC SOURCES:
http://github.com/dautermann
http://stackoverflow.com/users/981049/michael-dautermann

Last updated:  November 21, 2021