DARRYL G. CHAMPAGNE

11 Whidden Lane

Litchfield NH 03052

(603) 424-0323

(603) 440-3621 (M)

dgc@acm.org

http://dchampagne.com

This resume is a superset of various resumes. Primary resume available at: http://dchampagne.com/website/Darryl_Champagne_Resume.htm

 

Key Experience

  • Extensive experience defining architecture, designing and developing C++ and Java software infrastructure and applications, data synchronization, Web Services, software developer toolkits, mobile device software, Computer Graphics, and real-time systems.
  • Team Lead, designed, developed and documented the Intellisync data synchronization Software Developer's Kit (SDK).
  • Extensive experience developing and implementing technical standards.
  • Designed and developed SyncML synchronization web servers and mobile device clients.
  • Vice-Chair, Co-Chair, Member, SyncML/OMA-DS standards committee.

Software Engineering Highlights

LANGUAGES:

Java, C++, HTML5, JavaScript, Qt, C, PHP, Perl, Assembly

OPERATING SYSTEMS:

Android, Windows, Symbian, UNIX/Linux/Solaris, embedded systems

SKILLS:

Software Architecture, Technical team leadership, data synchronization, SyncML, OMA-DS, OMA-DM, Web Services, Mobile Device Development, Standards Development, Object-oriented design, XML, XSLT, DocBook, SOAP, ID-FF, SAML, ID-WSF, WS-*, producing developer tools, Win32, AutoCAD (ARX/ObjectARX), Solid Modeling, computer graphics, OpenGL, X, Phigs


Education


Patent

  • United States Patent 6,925,477: Transferring records between two databases. Awarded Aug 2, 2005

Awards

  • Cadence Editors’ choice award 1995, for 3D-I Always.
  • Cadence Best of Show award, 1995 Autodesk University, for 3D-I Always.
  • CalComp 1989 Technical Excellence Award for Excellence in Engineering

 


Detailed Contracting Timeline

From January 2004 on, various contracting jobs were done, with various overlapping time periods. The following chart shows an approximate division of tasks through September 2010.

Chart of Contracting Time Breakdown


Type of System Breakdown / Timeline

At various points, work has been done in custom embedded systems (RTOS), device drivers, simple applications / clients, or large servers. The following chart shows an approximate division of types of tasks through April 2012.

Chart of System Level Working Environment

This totals up to:

7.4

Years with some time spent on Embedded Systems / RTOS experience

5.6

Years mostly spent on Embedded Systems / RTOS experience

22.1

Years with some time spent on simple applications or clients

17.6

Years mostly spent on simple applications or clients

7.0

Years with some time spent on Servers

6.1

Years mostly spent on Servers


 Programming Language Breakdown / Timeline

At various points, work has been done in a variety of programming languages, from various Assembler languages, to C/C++, to Java, XML related (such as XSL, Docbook), Shell scripts, Perl, PHP, Pascal, and so on. The following chart shows an approximate division through April 2012 of when particular languages were used.

Chart of Programming Language Time

This totals up to:

4.5

Years with some time spent working in Assembly Language

0.0

Years mostly spent working in Assembly Language

9.8

Years with some time spent working in C

7.7

Years mostly spent working in C

13.7

Years with some time spent working in C++

9.8

Years mostly spent working in C++

4.9

Years with some time spent working in Java

1.2

Years mostly spent working in Java

4.9

Years with some time spent working in various languages - XML related (such as XSL, Docbook), Shell scripts, Perl, PHP, Pascal, etc.

3.0

Years mostly spent working in various languages – XML related (such as XSL, Docbook), Shell scripts, Perl, PHP, Pascal, etc.

11.0

Years with some time spent working on design or documentation (beyond unit level)

3.0

Years mostly spent working on design or documentation (beyond unit level)

 


Professional Experience

Senior Software Engineer, Nokia, Burlington, MA, Boston, MA
September 2010 to Present

  • Developer in Nokia Pulse Mobile Clients – a location based social networking application.
  • Android/iOS clients in HTML5, JavaScript, and native Java/C++.
  • Symbian and Meego clients using QML, Qt, C++, and JavaScript.

Consulting Engineer, Samsung, Richardson, TX, Bridgewater, NJ
July 2009 to September 2010

  • Mobile software architecture.
  • Android (Java) software development.
  • Social networking services.

Technology Evangelist, Funambol ("The Mobile Open Source Software Company"), Remote
January 2007 to October 2008

  • Research technologies, develop prototypes, and analyze implementation alternatives.
  • Develop C++ and Java Prototypes related to IMAP, ActiveSync and Data Synchronization.
  • Enhance Wireshark/Ethereal Protocol analyzer WBXML support for ActiveSync and OMA-DS / SyncML 1.2, 2.0
  • Benchmark and detailed protocol analysis between Microsoft Exchange Server ActiveSync to various mobile devices versus SyncML / OMA-DS.
  • Present Technology at various technical meetings.
  • Continue all activities previously done as an independent contractor.

Contract Software Engineer, Funambol, Various others, Part-time, Remote
January 2004 to present

Specifically: January 2004 to Present, Various, Remote

September 2005 to January 2007, November 2008 to present, Funambol, Remote and on location

  • Provide technical expertise in OMA-DS / OMA-DM / SyncML, including client design, specification clarification, and testing assistance.
  • Represent company interests; assist in specification development with the Open Mobile Alliance (primarily of Data Synchronization group), IETF (vCard/vCardDAV, IMAP / SMTP / Lemonade), CalConnect, etc.

Vice-Chair OMA-DS, Open Mobile Alliance ("The Center of Mobile Application Standardization")
March 2007 to Present

  • Develop OMA-DS / SyncML 2.0.
  • Assist Chair in running group, tracking and achieving release schedules, coordinating with, and presenting to other technical committees.

Contract Coordinating Editor, Liberty Alliance Project ("Building open standard-based specifications for federated identity and identity-based Web services ") via IEEE-ISTO, Remote
Full-time January 2004 to December 2006, Part-time January 2007 to September 2007

  • Coordinate editors of Liberty Alliance Project technical specifications, including schema validation, consistency revisions, and generation of official release documents.
  • Assist in development of technical specifications, and updating for Web Services (e.g. WS-Addressing).
  • Develop tools for DocBook and other support tasks, assist in website development.

Principal Software Engineer, Openwave Systems Inc. ("software applications and infrastructure for mobile and broadband operators"), Burlington MA, March 2002 to December 2003

  • Continued development of a multi-threaded web server for high performance Web Services implementations. Server included modules supporting SOAP access. Refactored to achieve 40 percent performance increase. Integrated SSL support.
  • Continued SyncML activities, including co-chairing Datasync committee.
  • Developed a SyncML compliant web-based data synchronization engine.

Software Architect, Pumatech/Intellisync (PIM Data Synchronization), Nashua NH
July 1997 to March 2002

  • Representative to SyncML Committee. Editor and Reviewer of several specifications.
  • Developed a SyncML compliant interface to a web-based data synchronization engine, including vCard / vCal / iCal parsers.
  • Enhanced Palm/Windows SyncML run-time toolkit.
  • One of only 8 people retained after company closed East Coast facility.
  • Provided initial technical support for SyncML.org technical questions.
  • Designed, developed, documented, and provided initial support for a software developer’s kit (SDK) to allow access to a desktop data synchronization engine (See SDK Brochures). Led team through several successful updates.
  • Redesigned synchronization engine to use Microsoft COM based interfaces.
  • Implemented Intellisync connector for Eudora Planner.

Software Group Leader, Spacetec IMC Corp. (Six Degree of Freedom Devices and Software), Lowell MA
December 1993 to July 1997

  • Project lead for multi media projects, such as 3D Studio plug-ins.
  • Designed, developed, and led team creating an AutoCAD / AutoCAD Mechanical Desktop add-in product, 3D-I Always, allowing for fully interactive motion of AutoCAD drawings with six simultaneous degrees of freedom. Included ACIS solid modeling support. Updated for ObjectARX support.
  • Developed 3D Display list to allow for rapid display.
  • Implemented versions supported both MS-DOS (C) and Windows (C++), using a mixture of MFC, GDI, OpenGL, and ACIS solid modeling.
  • Developed PC TSR for serial port interface to custom input hardware.

Senior Software Engineer, Lockheed-Sanders, Nashua NH
February 1992 to December 1993

  • Led team on research project on moving maps.
  • Integrated moving map prototype into full size cockpit mockups for an F22 cockpit proposal.
  • Ported X Server to custom graphics hardware, involving extensive UNIX and embedded processor C programming.
  • Developed PC-based C130 cockpit mockup, integrating 5 systems into a cohesive full cockpit mockup.
  • Developed custom hardware multiplex module to support full cockpit controls.
  • Team member on PC Based test platform, responsible for all hardware interfacing.

Software Engineer II / Senior Software Engineer, CalComp, Hudson NH

February 1988 to February 1992

  • Team lead for Bit Slice Hardware Simulator, using C, X, and Motif on RS/6000.
  • Designed communications interface between Ethernet and custom protocol.
  • Led team implementing AutoDesk video driver in C and 80x86 Assembly code (real and protected mode).
  • Implemented 2D display list with compression, windowing system, custom graphics hardware support.
  • Designed and developed a high resolution graphic display driver for the AutoDesk Device Interface (ADI) levels 3.1 and 4.0, on custom graphics hardware for IBM AT compatibles. This supported AutoShade, AutoSketch, AutoCAD Release 9 and 10. Implemented in C and Intel 80286 Assembler.
  • Developed code overlay routines to reduce driver resident size from 200 KB to approximately 40 KB, with no measurable performance degradation.
  • Implemented Windows Display Driver
  • Implemented MacIntosh Video ROM
  • Implemented IBM-PC Video BIOS

Research Assistant, Rensselaer, Troy NY

January 1987 to May 1987, August 1987 to December 1987

  • Joined team working on a PHIGS implementation on custom graphics hardware. Worked on display list memory and traversal management.

Software Engineer I, CalComp, Hudson NH

May 1986 to August 1986, May 1987 to August 1987

  • Joined development group working on an IBM RT graphics subsystem. Duties included design, code and debug of CGA emulation, and other low level graphic orders.
  • Designed and developed performance measurement tools, and assisted in performance enhancement and testing of other graphics products.

Teaching Assistant, Rensselaer, Troy NY

September 1986 to January 1987

  • Teaching assistant for senior level computer graphics. Duties included teaching, grading, and project support.

Teaching Assistant, Rensselaer, Troy NY

January 1984 to May 1984, January 1985 to May 1986

  • Teaching assistant for Computing Fundamentals for Engineers II, self paced. Duties included grading, and project support.

Pre-Professional Software Engineer, IBM, Kingston NY

May 1985 to August 1985, September 1985 to May 1986 (part-time)

  • Worked on the 5080 graphics system. Involved 68000 and 80286 Assembler, C, and PC-AT interrupt handlers.

Co-op Software Engineer, Pitney Bowes, Norwalk CT

May 1984 to December 1984

  • Completed DCL and Pascal graphical interfacing project.
  • Joined an ongoing Fortran Optical Character Recognition project.

This information available at: http://dchampagne.com/website/Darryl_Champagne_Background.htm

Last Update 2005-09-29