Kenneth J. Stauffer
12410 Alameda Trace Circle (Apt. 1732)
Austin, TX. 78727
ken@stauffercom.com
(512) 335-3799
Senior Software Engineer
I am a software developer with over twenty years of experience. I am seeking a new programming position with a company for whom my skills will be valuable.
My background includes the development of many complete C/C++ applications including, design, implementation and documentation. I have developed high performance back-end servers as well has rich graphic intensive applications. I have worked with many databases and have an in-depth understanding of the SQL language. I have experience using object oriented techniques such as inheritance, templates, and design by contract. One of my technical specialties is language design and compiler writing. I have written software for the Oil & Gas, Biotech and Education Administration industries.
WORK EXPERIENCE
WSFDB Consulting, Senior Software Engineer Feb. 2010 – Present
Austin, Texas
· Developing a C compiler for a new CPU architecture.
· Modifying a popular open source C compiler to target a new instruction set. (LCC, a retargetable compiler for ANSI C).
· Using Eclipse C/C++ development IDE on Windows and Linux.
· Developing algorithms for stack scheduling of temporaries and flow graph analysis.
XSPRADA Corp., Senior Software Engineer Feb. 2008 – Jan. 2010
Austin, Texas
· Developed a SQL translator using C/C++ and a third party parser generator called ProGrammar.
· Added extensions to the SQL language for temporal queries.
· Implemented algorithms to optimize SQL sub-query expressions into a series of flattened JOIN operations.
· Attended math classes on Set Theory and Abstract Algebra from XSPRADA's Principal Mathematician.
· Implemented a parser for a proprietary database control language. GNU Bison was used.
· Implemented math operations for Intel Decimal64 encoded values.
· Implemented finite state machines for parsing ASCII formatted values. This included parsing Dates, Times and Floating Point values. Required to detect all overflow/underflow conditions.
· Used the boost C++ libraries to implement Date/Time math operations.
· Interfaced product with a third-party license manager called Reprise License Manager.
· Modified the main product to run as a Windows service.
· Implemented a validation tool for finding data errors in large CSV (Comma Separated Values) files.
· Implemented a tool to automatically generate HTML documentation from a database containing a matrix of operations and data types. This tool was written using Perl and SQL Lite.
· Developed several scalable database operations designed to run on multi-core/multi-disk systems. These operations used threads extensively and were able to processes data sets greater than 1TB.
· Ran extensive benchmark tests using large data sets (up to 1TB). Did comparative tests with SQL SERVER and other database products. The TPC Benchmark (TPC-H) was one of the benchmarks used.
· Developed a regression test program for ensuring SQL translations matched the expected output.
· Worked closely with the documentation department to externalize and improve SQL error messages.
· Gained experience with Compuware profiling and bounds checking tools.
Relativity Technologies, Software Consultant Jan. 2004 – Dec. 2007
Austin, Texas
· Developed an OpenROAD plug-in for Relativity's Modernization Workbench product. This was used to analyze the call graph for OpenROAD programs and also calculate software metrics. (OpenROAD is a high-level programming language from Ingres).
· Developed a parser for IBM's RPG language. This became another plug-in for the Workbench product. It was written in C++ and Yacc using Windows Visual Studio.
Golden Helix Inc., Software Consultant Jul. 2004 – Oct. 2005
Austin, Texas
· Wrote a parser for the SMILES language (Simplified Molecular Input Line Entry Specification). This library was written in C++ and Yacc using Visual Studio.
BAE Systems, Software Consultant May 2001 – May 2002
Austin, Texas
· Developed a translator to convert a legacy programming language into Visual Basic. The GUI application allowed users to load projects in a tree view and activate/deactivate various translation options. It was written in object oriented Eiffel and Microsoft Foundation Classes.
Informatica Corp., Senior Software Developer Feb. 1999 – Feb. 2001
Palo Alto, California
· Developed module for interfacing main product with IBM's MQ Series.
· Developed module for interfacing the main product with SAP.
· Ported entire product to work with a new C++ compiler and platform (HPUX).
· Internationalized product using Unicode string libraries to replace STL strings. Externalized all error messages.
· Used STL container classes extensively.
· Was trained on how to use Informatica's Power Center product(s).
Hewlett Packard, Software Consultant Oct. 1997 – Feb. 1999
Mountain View, California
· Developed a C/C++ application for validating Hewlett Packard sales orders. Designed a business rule specification language and a byte-code compiler.
· Developed a translator for converting OpenROAD programs into Visual Basic. This tool reduced the time needed to port a large order entry system, by allowing all the legacy source code to be converted to the target language.
Nextron Communications Inc., Senior Software Developer Oct. 1996 – Oct. 1997
San Jose, California
· I was the primary developer for the "Easy Site Web Development Workbook" product. This product was a template-based website builder for online customers and Office Depot workbooks. Was implemented using a combination of C, Oracle, and Perl.
· I managed a three person team of developers.
MCI, Software Consultant Sep. 1995 – Oct. 1996
San Jose, California
· Involved with a large C++ project for MCI’s call processing. Was responsible for the customer taxation component.
Photon Systems Ltd., Senior Software Developer Nov. 1991 – Aug. 1995
Calgary, Alberta
· Developed a reusable library for parsing math expressions. Written in C.
· Designed and implemented a self describing file format for expressing scientific data efficiently in ASCII.
· Primary developer for the 'xsection' application, a highly graphical and interactive application for geologists to view cross sections. This application was written in C and used Microsoft Foundation Classes.
· Developed the 'mapplot' application. This was a 2D mapping program for navigating a large database of geological well data.
· Developed reusable library for converting between Latitude/Longitude coordinates and UTM coordinates.
· Developed a hypertext help system using Motif/X.
· Developed an electronic data delivery system for the exchange of large well data files between customers. Written using a combination of shell scripts and UUCP (Unix to Unix copy).
University of Calgary, System Administrator Aug. 1990 – Nov. 1991
Calgary, Alberta
· System Administrator for a large network of Unix workstations and VT100 terminals. Maintained Sun and Vax 11/780 servers.
· Developed a special Line Printer Daemon for handling the printing needs of the computer science department. (C, Unix).
· Ported a C++ compiler (Cfront) to work on the SGI platform.
EDUCATION
Computer Science, B.Sc, University of Calgary, 1990