Goal: C++ Language and Toolchain Expert
passionate, dedicated individual committed to technical excellence
and advancement in software development. Enjoys a diverse
environment, challenging projects that expand exposure to new
technologies, and working with other skilled workers who also enjoy a
good challenge. Committed
to open standards, open processes, and open discussions. C++
standards committee member.
leadership experience with all aspects of software development
including development processes, architectural design, programming
languages, operating systems, processor architectures, debugging,
testing, SCM systems, build systems, defect tracking systems, and
documentation. Professional experience as project lead,
architectural lead and consultant for teams in the United States and
languages and tools:
C++, Java, JNI, Python, POSIX shell, Make, HTML, XML, SQL
systems and architectures:
on x86 and IBM z Systems, AIX on PowerPC, HP-UX on PA-RISC, HP-UX
on Itanium, Solaris on Sparc, Tru64 on Alpha, Windows on x86,
for various platforms, GNU gcc for various platforms, IBM Visual
Age for AIX, Sun Forte for Solaris, HP aCC for HP-UX PA-RISC and
Itanium, IBM C++ compiler for z/OS, HP C++ for Tru64,
VisualStudio, Oracle JDK
dbx, TotalView, VisualStudio, Heap debuggers (PageHeap, DUMA,
Subversion, ClearCase, CVS, RCS, SourceSafe
compiler engineer contributing to development and maintenance of
Coverity's language frontends and internal program representation.
the design and development of a Clang based frontend that performed
translation from Clang's internal AST to Coverity's internal AST for
the C, C++, and Objective-C languages.
the design and development of a CPython based frontend that
performed translation from CPython's internal AST to Coverity's
code for Windows used to ex post facto change the command line of a
running process in order to inject alternate behavior required by a
process tree monitoring utility. The code used Windows debugger
interfaces to perform remote process code injection with rudimentary
support for run-time relocation and linking, in order to invoke
Windows APIs in the target process.
Principal Software Engineer -
9/2007 – 6/2011
responsible for platform support, product stability, development
environments, build systems, programming language conformance, and
third party integrations.
and lead the Server Stability team to identify the root causes
leading to abnormal termination of PeopleTools software. Using
postmortem debugging techniques, this multinational team identified
hundreds of defects in PeopleTools, worked with code owners to
implement corrections, and reduced the number of crashes within our
test environments from thousands per week to just a few. I was
awarded one of ten divisional outstanding contributor awards from a
group of approximately 8000 employees for this work.
lead for the team porting the PeopleTools build system for UNIX to
Windows in preparation for porting PeopleTools to 64-bit Windows.
This resulted in a unified build system and a consistent developer
experience for all PeopleTools supported platforms.
of a distributed version tracking system for PeopleTools database
objects with options for name tracking, content addressable storage,
and automated merging for full version control. This feature was
designed to enable collaborative development and improve the
PeopleTools upgrade experience.
Software Developer -
3/2004 - 9/2007
for developers regarding platform features, compilers, SCM and
development tools, build systems, language specifications, language
conformance, and debugging. Team member developing a stateful
application server used to host the results of queries, optimization
solutions, and multidimensional analysis.
and reimplemented the diagnostic generation code for handling
abnormal termination of PeopleTools processes. All code written had
to perform correctly within the context of POSIX signal handlers,
Windows structured exception handlers, and had to cooperate with
third party products such as the JVM. This effort exposed numerous
defects in existing operating systems and lead to changes in the
a cross-platform abstraction library to deal with differences
between supported hardware, operating systems, compilers, and memory
models in C++. The library included abstractions for
multi-threading, shared libraries, processor exception handling, and
UNIX Porting Engineer II - 5/2000 – 3/2004
debugging, and support of the PeopleSoft application server on UNIX
environments. Assistance and training with regard to compiling and
debugging code on UNIX and Linux.
in the design, implementation and roll out of a new Iterative
Development Process focused on streamlining the development process
and reducing process overhead.
porting effort of PeopleTools to Red Hat Linux Advanced Server 2.1
and HP/UX 11.23 for Itanium processors.
and implemented a new build system for compiling PeopleTools on UNIX
systems based on GNU make. Improvements included parallel
compilation, 100% integrity checking, cross-platform design,
incremental build support, scalability, and ease of use.
to the design and implementation of ClearCase as the source
configuration management environment for PeopleTools's with a
particular focus on making sure it worked well for UNIX.
analyst - Network infrastructure team and Server team - 1/1996 -
was a multi-homed position, 70% network infrastructure team, 20% LAN
server team, and 10% UNIX server team. Duties included network
infrastructure design and implementation in a cooperative design
role, maintenance of network equipment and Novell NDS design and
implementation, backup of LAN server environments, custom software
development, and on-call
initial Linux usage evaluation study for feasibility in production
application roles and possible benefit to hospital environment.
Linux was later selected to run the hospital's DNS servers.
of Science - Computer Science -
an outstanding account support award from Synopsys in 2016
a divisional outstanding contributor award from Oracle in 2007
outstanding contributor award from PeopleSoft
an outstanding contributor award from PeopleSoft in 2003