Software application developer who has been writing software since 1979 and MS
Windows software in particular since 1986.
An innovative, meticulous software engineer who specializes in the Win32 API (Windows 95/98/ME, and NT/2000/XP), MFC and ATL/WTL under Visual C++, COM/OLE/ActiveX, and multithreading; who has developed with the Windows CE toolkit and wxWindows/wxWidgets; who occasionally works with the Windows multimedia interface, C#, Java, and JavaScript; and who has ported Macintosh software to Windows in the distant past.
Velocity 11 / Agilent Automation Solutions – November 2006 to
present
Software Engineer: On Windows XP and Vista, developed and maintained a complex dynamic scheduling application for robotic drug-discovery systems under Visual C++ 8.0 and 9.0 on Visual Studio .Net 2005 and 2008. Also used the .NET Forms library in C# to build an editor which allowed end users to create their own dialog-like forms that interacted with the scheduler using JavaScript.
Microsoft (Mountain View offices) – July 2006 to September 2006
Contractor: On Windows XP, maintained a multi-process ATL-based IE toolbar utility under Visual C++ 8.0 on Visual Studio .Net 2005 which parsed HTML in a user-configurable manner.
Sony – June 2005 to June 2006
Contractor: On Windows 2000 and XP, used WTL and a proprietary JavaScript-like language under Visual C++ 7.1 on Visual Studio .Net 2003 and 2005 to develop a skinnable multimedia player designed to interface with proprietary portable audio devices and a proprietary virtual storefront.
Contractor: On Windows 2000 and XP, used wxWindows [an object-oriented application framework similar to the Microsoft Foundation Class (MFC) libraries, but more portable; currently called wxWidgets] and GDI+ under Visual C++ 6.0 and 7.1 to enhance and maintain multithreaded software that sent HTML-based e-mail, displayed mail on Mozilla's XPCOM-based browser, and acted as a Simple MAPI server; this product shipped as AOL Communicator and at one point was being used by tens of thousands of users. Also developed a complex product that used DirectShow and MCI.
Senior Software Engineer: On Windows 2000 and Linux, used wxWindows under Visual C++ 6.0 and gnu C++ to develop and maintain the software for a complex music viewer which ran on both a PC and a dedicated tablet device.
Contractor: On Windows 2000 and Windows CE 2.11 and 3.0, used the Microsoft Foundation Class libraries (MFC) and the Win32 API under Visual C++ 6.0 and embedded Visual C++ 3.0 to port a proprietary user interface for Bluetooth (a network protocol for short-range wireless networking) to the Handheld PC Pro/2000. Also modifed a 3rd party's OBEX (Object Exchange) networking package so that it would use Socket Communications' proprietary Bluetooth protocol implementation.
Software Engineer: On Windows NT, Windows 2000, Windows 98, and Windows ME, used the Active Template Library (ATL, an object-oriented framework for COM development) under Visual C++ 6.0 to develop and maintain ActiveX Controls that communicated with proprietary hardware. I used ATL and the Microsoft Foundation Class libraries to develop and maintain the container applications that displayed those ActiveX Controls, but the ActiveX Controls were designed to be flexible enough to function in an MS Internet Explorer webpage as well.
Contractor: On Windows NT and Windows CE 2.11, used the Microsoft Foundation Class libraries under Visual C++ 5.0 and 6.0 to develop and maintain the entire user-interface of a unique hand-held Windows CE device. The data manipulated by the user interface were classes in an object-oriented persistent database.
Contractor: On Windows NT, Windows 95, and Windows 98, used the Microsoft Foundation Class libraries under Visual C++ 5.0 and 6.0 to develop and maintain a large ActiveX container application which provided multiple-spreadsheet-oriented sales management capabilities to TV stations.
Contractor: On Citrix Winframe (Windows NT with multiuser features added), used the Microsoft Foundation Class libraries under Visual C++ 4.2 and 5.0 to develop a Windows-terminal configuration and administration tool. Also ported a WinSock-using MFC app to a non-MFC non-Intel Network Computer (WinTerm thin client) which required new serial-interface programming.
Contractor: On Windows NT 4.0 and Windows 95, used the Microsoft Foundation Class libraries under Visual C++ 4.2 to design and develop a multithreaded split-window server-recovery tool which used the new Windows 95-style "Win32 common controls" and popup context menus. The tool uses TAPI to communicate with specialized hardware inside a downed server.
Part-time contractor: Developed a compact, powerful, easy-to-maintain hypertext/graphic authoring environment portable between the Mac OS, Windows 3.1, and Win32, which used c-tree™ as a database back-end. Used this to port the Macintosh version of Origami - The Secret Life of Paper (a high-quality multimedia title) to Windows. Published by Casady & Greene.
Contractor: Using the Microsoft Foundation Class libraries version 2.5 under Visual C++, and the Raima data manager, developed modeless dialog forms with spreadsheet controls which generated commands for telephone switch configuration.
Contractor: Using the Microsoft Foundation Class libraries (version 2.5) under Visual C++, developed tabbed dialogs with spreadsheet controls which generated commands for network router configuration.
Contractor: Using the Microsoft Foundation Class libraries (versions 2.0 and 2.5) under Visual C++, designed and developed a time-line based multimedia authoring tool similar to Adobe Premiere. Ours was the only piece of the package to be ready on time.
Applications Programmer II: Designed and developed complex visual components, QuickTime interface, and decision engine in a proprietary cross-platform (Mac and Windows) C++ class library for those users with some of the toughest user interface requirements of all: young math students. Time constraints and attention to detail were crucial.
Software Engineer: Developed and assisted in the design of a c-tree™ based resource manager, C++ framework, and class library for visual application creation in an otherwise primitive environment. This was a complete final-product hypermedia authoring engine that cut product shell development time down to 1/3 of what was previously required.
Member of the Technical Staff: Rapid-prototyped, designed, developed, and tested software for a massively parallel relational database machine marketed to Fortune 100 companies.
University of California at Santa Cruz Extension
Course in OLE programming under MFC, January 1996.
California State University at Northridge
M.S. Computer Science, December 1991
Student member of the ACM and Computer Science Association.
Courses included: Object-oriented programming, simulation languages, programming window-based software (concentrated on the X window system), operating systems design, current issues in computer architecture, software engineering, artificial intelligence, expert systems, combinatorics.
B.A. Music Composition, Cum Laude, June 1987
Courses included: Chemistry, physics, differential equations, MIDI synthesizers, and a host of music theory material.
Go back to Roger M. Wilcox's home page.