MICHAEL D. DAUTERMANN

WEST COAST ADDRESSMIDWEST ADDRESS
890 Bush St., #40225462 Leestock
San Francisco, CA 94108Farmington Hills, MI 48336
(415) 637-0694
dautermann @ mac.com


OBJECTIVE:

Computer Scientist or Senior Engineer focusing in user-friendly application design & development on Apple or UNIX OS based machines. The ideal position would allow creating and learning new, emerging technologies while using my extensive experience in diverse environments to build useful tools, apps and code for use by developers and customers.

SKILLS:
  • 16+ years designing and coding applications and kernel extensions under Mac OS X, Linux & UNIX, and "classic" Mac OS (8 & 9).
  • Works primarily in Objective C (Cocoa) & C++ (Carbon); also in C, Java, JavaScript, Objective C++, Pascal, Python, SQL, Assembly.
  • Built code under Apple's XCode compiler, Metrowerks CodeWarrior, GNU G++ & GCC (4.0 & 3.3), 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).
  • Debugging skills: familiar with everything from RISC-assembly (PowerPC) to higher level debuggers such as the CodeWarrior Debugger and GDB.
  • Familiar and easily adaptable with procedures for writing and fully documenting code.
  • Forward thinking: backups regularly performed; code always archived via Subversion, CVS, Perforce, SourceSafe and other version control setups. Knowledge of many UNIX System Administration techniques.
  • 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:

Self Employed Consultant
Contract Principal Engineer, Macintosh
Palo Alto, Walnut Creek, & Concord, California; Philadelphia, Pennsylvania
January, 2003 to Present

Successfully completed many contracts and am currently finishing up on-site & off-site work on a couple others.
  • Worked intimately with WebKit, IOKit, pthreads, Cocoa Foundation, XML, Kerberos Authentication, SSL Encryption and the OpenSSL libraries (SASL authentication via GSSAPI), Kerberos and KX509 Certificates, Core Graphics (Quartz 2D), Core Foundation objects, DiscRecording framework, shell & Perl scripts, XCode and Interface Builder.
  • Made immediate impacts at all of the contract assignments: within four months of working on EtherPeek, for example, 65 problems & feature requests reported in TestTrack were fixed.
  • Created network kernel extensions (NKE's) for encrypting TCP / IP traffic within a LAN.
  • Resurrected and updated a number of PowerPlant applications building in PEF format under CodeWarrior, to running under Carbon in Mach-O format building under the XCode IDE; these projects included WildPacket's EtherPeek for Macintosh, MagicScroll teleprompting software, and the Order Assistant from ScienceKit & Boreal Laboratories.
  • Worked on modifications to the Mozilla library to allow Thunderbird users to access IMAP and POP mail using Kerberos authentication via SASL & GSSAPI.
  • Wrote an image browser making extensive use of programatically created NSViews, primarily designed to work with a with a USB / Bluetooth electronic pen which ships with a mixed Carbon/Cocoa app suite.
  • Built network kernel extensions (NKE's, a.k.a. drivers) for encrypting TCP/IP traffic within a LAN.
  • Wrote a 'vdig' (video digitizing) component and began work on an audio hardware (HAL) plugin to retrieve streams from an external USB device.
  • Created a Voice over IP (VoIP) client in Cocoa using an underlying open source library (IAXC).
  • Used WebServices and SOAP within a startup daemon (i.e. always running) to watch a network folder for incoming credit card transaction files to process.
  • Two separate projects for two separate companies used in-depth Apple Events to communicate between various browsers (Safari, Firefox, etc.) and a Cocoa-based application for cobranded and affinity marketing, points and cash back bonuses for customers.

Wayne State University
Graduate Researcher
Detroit, Michigan
December, 2000 to July, 2002

While finishing up the last semesters of a Master's degree:
  • An open-source, public-domain Mirror application was architected (to be easily implemented under multiple architectures, such as Java or UNIX) and coded (under PowerPlant, to work on PowerPC and 68K Macintoshes).
  • This app is essentially a HTTP (web) and FTP server, using special algorithms for performing research.
  • Embedded HTML forms and CGI-BIN server applets which use browser cookies were created in C and C++.
  • A paper was published and presented at the MacHack technical conference in June, 2001. Research code and papers can be found at http://homepage.mac.com/dautermann/research

Servador, Inc./Webprint, Inc.
Principal Macintosh Engineer
San Bruno, California
August, 2001 to June, 2002

  • Created & customized Macintosh driver software that enables printing files to local copy shops and print franchises.
  • Extended functionality ('Xcod' code resources) of InstallerVISE 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
Lead Macintosh Engineer
San Francisco, California
March, 2000 to November, 2000

  • Working with one partner within a larger team of 20 engineers, this position involves bringing free Internet access technology to the Macintosh market.
  • 80% of the work is new code, designing object oriented classes in C++ and PowerPlant; 20% is devoted to fixing issues (bugs).
  • Experience with Open Transport networking, PPP,Carbonization, hack-proofing the application and protocols.
  • Coded support for multiple languages (e.g. Brazillian Portugese & Spanish); new languages such as Kanji could easily be added.
  • Designed numerous features included in the product.
  • Created tools to assist in creation of user interfaces and rapid deployment of dozens of partner applications.
  • Assisted the Marketing group in finding and introducing the product to Macintosh users.

Adobe Systems, Inc.
Acrobat Engineer
San Jose, California
March, 1997 to March, 2000

  • Designed and coded features introduced in Adobe Acrobat 4.0, 4.0.5 and 5.0.
  • New function classes and multi-layered code was written primarily in C++.
  • Majority of the engineering effort was focused on the Mac platform, but most code was required to cross compile into Windows and UNIX architectures.
  • Created new UI (User Interface) code for dialogs, windows, menus, etc. 'Locale' files hold translated resources used in international versions of Acrobat software.
  • Added additional AppleScript support to the Viewer and plug-ins.
  • Recruited and mentored new engineers.
  • Solo resurrection & updating of an Adobe product (Acrobat Catalog) not successfully built in over two years.
  • Took a second orphaned package (Adobe Registration Utility) and added code and UI for it to display and register customers speaking 14 languages.
  • Fixed hundreds of bugs found by QA testers introduced with the integration of new technology (OpenType, new PDF libraries, etc.) into legacy code.
  • Worked closely with the 30 member engineering team through the two year product cycle of Acrobat 4.0 design (birth) to delivery (Acrobat 4.0 arrived on store shelves April, 1999).

Apple Computer, Inc.
System Software Engineer
Cupertino, California
June, 1995 to March, 1997

  • Promoted into full time position on OS Update team from 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 InterfaceLib and PrivateInterfaceLib, as well as the MacOS Toolbox and 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.

Northern Telecom
Quality Engineer
Research Triangle Park, North Carolina
July, 1993 to May, 1994

Developed applications for Macintosh (using tools such as Think C 6.0) and UNIX (in C under an SQL/Oracle environment) for the creation of a Quality Control database. Other projects included porting and coding of intensive algorithms for calculating manufacturing performance and analysis of trends. Also provided computer support to group of about 40 engineers.

U-M ITD Center for Info. Technology Integration
Programmer II
Ann Arbor, Michigan
March, 1991 to July, 1993

Created tools and utilities for U-M's Workstation Group. Applications and extensions for the Macintosh were written in MPW 3.2.2 primarily for use in the internal group and also for use by students and staff across the U-M campus. The group's focus was on the AFS distributed file system. Knowledge covering other platforms running UNIX and MTS was also necessary. Another emphasis of my work was in creating/extending scripting tools to allow performance testing. Additional tools were also authored to make using U-M's new file system easier for new users.

EDUCATION:

Stanford University
Computer Science
Stanford, CA
September, 1997 to December, 1999

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

Wayne State University
Computer Science, M.A.
Detroit, MI
June, 1994 to May, 2002

Began and completed research work towards a Masters in Computer Science degree. Courses taken include: Design & Analysis of Algorithms, Advanced Software Engineering, Advanced Operating Systems, Networks and Software Environments.

University of Michigan
Computer Science & Chemistry, B.S.
Ann Arbor, MI
May, 1988 to July, 1993

  • Algebraic Foundations of Computer Engineering
  • Introduction to Computer Organization/Logic Design
  • Data Structures and Algorithms
  • 680x0 Assembly Language
  • Operating Systems Theory & Implementation
  • Theory of Computation
  • Networks (TCP/IP, Ethernet, FDDI, X.25, etc.)
  • Database Management Systems
  • numerous courses in upper level Chemistry
  • fourth semester German proficiency
  • Probability Theory, Matrix Algebra I, Calculus I, II & III
All courses listed above were taken while in pursuit of a double degree in both Chemistry & Computer Science. Certain Computer Science classes include rigorous programming exercises and labs. Thorough knowledge of C, C++, Pascal, Fortran and the UNIX OS was imperative. UNIX machines worked with include IBM RTs and RS6000's running AIX 3.1 & 3.2, DEC 3100 & 5000 running Ultrix 4.1.3, Sun 3 and 4's as well as Sparcstations, among others.

REFERENCES

Lengthy list available on request