
Software Engineer at large
Raleigh-Durham, North Carolina Area

Software Engineer at large
Raleigh-Durham, North Carolina Area
Software Engineer with extensive experience designing, implementing, deploying and maintaining software. Seeking role as technical leader or contributor in full-lifecycle development of software systems having stringent reliability and performance requirements and operating in geographically distributed, real-time, embedded, low-power, or nanoscale environments.
Programming languages, compilers, operating systems, network protocols, build automation, performance measurement and improvement, code refactoring.
(Computer Software industry)
2001 — Present (9 years )
* For Data Domain, Inc.:
Wrote architecture specification for adding encryption to de-duplication process.
Maintained Data Domain's plug-in implementing the OpenStorage API for Symantec's NetBackup product.
* For IBM Corp. (Computer Task Group):
Made BIOS xFlash utility on System x3950 M2 multinode capable, including support for Hurricane memory and I/O controller.
Enabled automatic insertion of arbitrary data values into BMC system under test as though these were actual sensor readings, to simulate error conditions.
Automated production of documentation in PDF, HTML and XHTML formats from single DocBook XML source, using custom XSL stylesheets, XSLT processors, XSL-FO formatters.
* For start-up Mobile Reach Technologies, analyzed Splitware Pocket PC middleware for memory leaks, developed build automation.
* For start-up Overture Networks (SDE, Inc.), cross-developed test automation for Overture’s ISG 5000 edge router.
(Computer Software industry)
June 1997 — May 2001 (4 years )
For Chariot, a commercially successful product measuring network performance by driving actual traffic between endpoint pairs, ported multi-threaded endpoint software to Irix, Solaris x86, FreeBSD, and SCO UnixWare. Maintained and enhanced Windows, Linux, Solaris SPARC, HP-UX, AIX, and NetWare implementations. Wrote endpoint software in portable subset of ANSI C using Berkeley sockets.
(Public Company; 10,001 or more employees; IBM; Information Technology and Services industry)
December 1989 — June 1997 (7 years 7 months)
Designed, implemented, and maintained major components of three shipped products: Networking Services/DOS, Networking Services for Windows, and Personal Communications 4.1 for Windows (for which I headed the product integration team), each providing APPC and CPI-C communications stacks. Wrote Windows virtual device drivers, DLLs, and applications in C/C++ and Intel assembly language.
Developed definitive set of flows and a reference implementation for full-duplex CPI-C protocol over half-duplex APPC channels. Represented IBM’s NS/DOS and NS/Windows products to the CPI-C Implementers Group. Developed run-time and debugger support for the Format and Protocol Language (FAPL) compiler.
(Telecommunications industry)
1989 — 1989 (less than a year)
As U.S. representative to an international task force, specified requirements for a company-wide CASE toolset to support object-oriented design and development in France, Germany, Belgium, and the United States.
(Computer Software industry)
1987 — 1989 (2 years )
For startup Tangram, wrote device drivers in Intel assembly language, designed declarative language for prescribing components of their Arbiter product installation, implemented a translator for that language, in which we wrote our installers.
(Computer Software industry)
1986 — 1987 (1 year )
Integrated third-party Verdix compiler with Apollo AEGIS and Unix operating systems and the Domain Software Engineering Environment (DSEE, precursor to the ClearCase product of Atria/Rational/IBM).
(Privately Held; 51-200 employees; Computer Software industry)
1982 — 1986 (4 years )
For SofTech's Ada86 cross-compilers, wrote interrupt manager, task dispatcher, low level I/O support, dynamic storage allocator, calendar and delay support, in assembly language and Ada 83.
Directly programmed Intel's Programmable Interval Timer, Programmable Interrupt Controller, Programmable Communications Interface, which resided on single-board computers within an in-circuit emulator.
Improved size, execution speed, and reconfigurability of the firmware run-time system. Optimized Ada interrupt entry implementation to reduce interrupt latency, presented this work at 1982 SIGAda conference.
Developed high-level design for partitioning a single Ada program over a geographically distributed network.
Retargeted and rehosted the Ada Subset Translator, which compiled the bootstrap compiler.
Wrote tasking and fixed-point arithmetic tests for the Ada Compiler Validation Capability suite, which is used to validate Ada compilers to this day.
(E-Learning industry)
September 1978 — October 1982 (4 years 2 months)
For a mostly-civilian group of educational psychologists, maintained PLATO -inspired CAI system for delivering technical training to Air Force recruits fresh from basic training.
Wrote interactive database system using ISAM file API for Precision Measurement Equipment school to maintain a 10,000-item inventory and generate reports.
Computer Science 1988 — 1993
Coursework towards a Ph.D. in computer science. Took indefinite leave of absence for family reasons.
Computer Science 1979 — 1982
Took Masters-level computer science courses.
1LT , Military , 1978 — 1978
Became a "90-day wonder."
Math 1977 — 1978
B.A. , Psychology , 1970 — 1976
English 1968 — 1968
My first programming experience, on a GE 645.
ACM, SigAda, GNAT-OSX-DEV