MICHAEL DAUTERMANN 890 Bush St., #402 San Francisco, CA 94108 +415 563 2763 (h) dautermann @ mac.com OBJECTIVE: Full time or contract Computer Scientist or Senior Engineer focusing in user-friendly application design & development on Apple or UNIX OS based machines. An ideal position would involve 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: * 15+ 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, Objective C++, JavaScript, Pascal, Java, Python, SQL, and 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. * 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: SELF EMPLOYED CONSULTANT Palo Alto, Walnut Creek & Concord, California; Philadelphia, Pennsylvania Contract Principal Engineer, Macintosh January, 2003 to Present Worked solo or as part of a team (usually as a lead doing additional management) on a number of diverse contract jobs for commercial & shrink-wrapped applications. * 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 WildPacket's EtherPeek for Macintosh, for example, 65 problems & feature requests reported on TestTrack were fixed. * Working on modifications to the Mozilla library to allow Thunderbird users to access IMAP, POP mail and SMTP & LDAP servers 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. * Resurrected and updated a number of PowerPlant applications linked in a PEF binary format under CodeWarrior, to running under Carbon in Mach-O format compiled under the XCode IDE; these projects included EtherPeek, MagicScroll teleprompting software, and the Order Assistant from ScienceKit & Boreal Laboratories. * Created a Voice over IP (VoIP) client in Cocoa using an underlying open source library (IAXC). * Carbonized a teleprompting application last worked on in 1999. Wrote Applescripts used in automating repetitive tasks at a S.F. based print shop. * 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 Detroit, Michigan Graduate Researcher December, 2000 to July, 2002 * An open-source, public-domain Mirror application was architected (to be easily implemented under multiple architechtures, such as Java or UNIX) and coded (under PowerPlant, to work on PowerPC and 68K Macintoshes). * The application is essentially a HTTP (web) & 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://www.cs.wayne.edu/~myke/research 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. * 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, 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, designing object oriented classes in C++ & PowerPlant; 20% was devoted to fixing issues. * Experience with Open Transport Internet networking code, PPP, Carbonization, bullet(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 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 is focused on the Mac versions; but most code was required to cross compile and run under Windows and UNIX architectures. * Created new UI (User Interface) code for dialogs, windows, menus, etc. * Added additional AppleScript support to the Viewer and plug-ins. * Designed code to make creating International (localized & translated) applications easy between architectures. * Recruited and mentored new engineers. * Designed & created new plug-in, Acrobat SendMail, which shipped with Acrobat 4.05. * 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. * Fixed dozens of problems found by QA testers introduced with the integration of new technology (OpenType, new PDF core libraries, etc.) into legacy code. Building Acrobat 5.0 for Carbon and MacOS X. * Worked closely with the 30 member engineering team through the two year product cycle of Acrobat 4.0 design to delivery (Acrobat 4.0 shipped April, 1999). Work on 5.0 is now well underway. APPLE COMPUTER, INC. Cupertino, California System Software (OS) Engineer November, 1995 to April, 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 Raleigh, North Carolina Manufacturing Quality Engineer & Programmer 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 coding intensive algorithms for calculating manufacturing performance and analysis of trends. 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. Two notable utilities created with MPW 3.2.2 include a disk/file server benchmarking application and a extended systems permission accessory. The group's focus is on the AFS distributed file system. Experience in MacTCP, Toolbox, extended AFP commands, and Kerberos authentication was extensively utilized. Knowledge covering other platforms running the Unix and MTS Operating Systems were also necessary. The emphasis of this work was in extending scripting tools to allow performance testing, as well as creating utilities to make migration to student/staff migration to our new technology less stressful. U-M DEPARTMENT OF ELECTRICAL ENGINEERING & COMPUTER SCIENCE Ann Arbor, Michigan Instructional Aide September, 1991 to April, 1993 Taught the Computer Science department's Introduction to Computer Systems course. Instruction included building Microsoft Excel spreadsheets, electronic mail and conferencing, word processing, and an introduction to Pascal programming. 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 8.0.1 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 3.1 & 3.2, DEC 3100 & 5000 running Ultrix 4.1.3, Sun 3 and 4's as well as Sparcstations, among others. To conserve space, a number of semi-relevant positions aren't mentioned here. I would be happy to provide more information, or a list of references, upon request. Last updated: March 22, 2007