1. Keith Douglas Johnston
P.O. Box 158
Simonton, TX 77476
Suburb of Houston, Texas
kdjkdj@yahoo.com
LinkedIn: http://www.linkedin.com/in/keithdouglasjohnston
WHAT I AM
I have been a Senior Software Engineer highly experienced in software design, development and test (for
details see the Technical Experience Summary section in the Addendum). Today I design and restructure
software for performance, reliability, robustness and maintainability, Existing software has so often been
maintained and extended that it is inefficient and not maintainable. New software is written to impossible
schedules that forces poor coding just to make a deadline. Old or new code that is misshapen needs to
be refactored and blessed anew.
Design and implementation techniques such as Agile are insufficient and, if poorly used, can make things
worse. Prior attempts such as Dijkstra indicated with goto removal or structured programming were
insufficient. It requires the intelligent application of implementation techniques and includes many of the
older attempts techniques.
My experience has lead me to understand many of the problems and how to fix or even keep them from
occurring. My experience ranges from DSPs to super computers, business systems to scientific and
engineering systems, and a wide selection of computer languages.
RECOGNITION
Received a Recognizing Exceptional Performance award from Boeing, 2009.
Received a Certificate of Appreciation for the “Transformation of the International Space Station to Six-
Person Capabilities” from NASA 2009.
Received a Recognizing Exceptional Performance award from Boeing, 2010.
Received a Certificate of Appreciation for “In recognition of your dedication, commitment to excellence
and your achievements in support of the Space Shuttle Program” from NASA 2011.
EDUCATION
University of Colorado
MS, Computer Science
Concentrated on programming languages with an emphasis on compiler design and implementation.
Colorado State University
MS, Health Physics
Concentrated in radiation studies with an emphasis on radiation physics, also including radiation
chemistry and biology.
Pacific Union College
BS, Physics/Mathematics
2. Majored in Physics with a second major in Mathematics, including considerable work in computer
science.
3. EXPERIENCE
Hewlett-Packard/Personal System Group Houston, Texas
Factory Systems/Windows Download Tools Developer
Overall
• Tools developer and tester
• Design, development and implementation of factory software which downloads images to new
PCs.
• Includes Configure to Order, i.e., customer supplied configurations
• Visual Studio
• MFC
• C, C++
Boeing /Integrated Defense Systems/Space Exploration/Space Shuttle Houston, Texas
BFS Verification Tools Lead
Overall
• Lead BFS Independent Verification Tools
• Embedded Software Engineer BFS (Backup Flight Systems)
• Verification tools on IBM z/OS and MS Windows 2000/XP
• BFS Software Development process including development and test
• Requirement specifications, design documentation, user manuals and user guide
• CMMI certification.
• PL/1, C, IBM CLIST, IBM ISP Services, TSO and DHTML on MS Windows
ISS Consulting at Intel in Austin Texas
Houston, Texas
Consulting Software Engineer
Overall
• Client consultant
• Software Engineering
• Compiler technology.
• JIT compiler extension with additional instructions including IEEE floating point
• Java code generator extension
• C, C++, shell scripting
JIT (Just In Time) compilers
• Binary translation from X86 Pentium (32 bit) to extended Java intermediate and native
instructions.
• Binary translation of XSCALE (ARM) code to X86/X64.
BOPS
Austin, Texas
Parallelization of DSPs and packed data
Overall
4. • Automatic parallelization of code generated for the BOPS parallel architecture
• Distribution of loop operations across multiple processing elements
• Packed operations automated detection generating packed code operations with; no language
extensions required
• Prototyping
• Multiple performance releases
• Parallel test bed
• C, C++
5. Texas Instruments
Stafford, Texas
Compilation Systems Software Developer
Overall
• DSP (Digital Signal Processor) associated software
• MVP tools, ARM tools, and C6X DSP code generators.
• Emulator Based Testing of Software Tools and Applications
• C, C++, shell scripting
MVP Implementation
• Current code base completion
• Compilers and assemblers for the MP and PP component processors of the MVP
• Linker and disassembler
• Debugger, simulator and emulator support
• Completed architecture coverage
• C6200 Optimization
o delay slot filling
o Loop unrolling
o Software pipeline transformations
o Assembly optimizer
• Parallel linear assembly test environment utilizing verification tools with Perl and parallel
execution.
ARM Tool Development
• Optimization analysis
• Customer support including development and emergency releases
• Customer presentation
• Parallel test environment design and development with Perl and parallel execution.
ALGOR, INC.
Pittsburgh, Pennsylvania
Special Projects Software Engineer
Overall
• Special projects director for company owner/CEO
• Developer engineering glue language EAGLE (general programming language functionality,
graphics commands and database commands for engineering applications)
• Font development
• Database functionality utilizing the Code Base system from Sequitur
• C
6. Cray Research
Santa Fe, New Mexico
Technical Lead
Overall
• Lead Cray Ada vectorizing/scheduling Cray Ada 2.0, 3.0, and 3.1 compilers
• Supercomputer software development
• Project management
• Cray T3D and T3E assembly language development
• Lead Cray Ada 4.0 compiler
• 40,000+ lines of code
• Ada, C, shell scripting
Cray T3D and T3E Assemblers
• Rescue initial assembler
• New assembler
• Parallel and distributed application support
Cray Ada 4.0 Compiler
• Lead Cray Ada 4.0
• Verdix Ada and Cray Research optimization and code generation technologies
• Project compiler training.
• Ada 9.X design participant
Vectorizing/Scheduling Ada Compilers
• Lead vectorizing/scheduling portions of the Ada 2.0, 3.0, and 3.1
• 40,000+ lines of Ada, C, and assembler code
• Feature selection, design, and implementation for the Ada Compilers
NCR
San Diego, California
Systems Analyst / Programmer (Level 5 of 7)
Overall
• Project lead
• Business computer and associated software development
• System software
• Consultant
• High level assembler projects
• Command set design
• Compilers for NEAT/C, NEATVS, ISWL, NCRL, C
NCRL (NCR internal Pascal derived development language) Compiler Design
• Lead NCRL compiler
• 25,000+ lines of optimizer, intermediate code generator, machine code generator, and object
formatter
• Compiler Front-End.
7. Change control
• VLX operating system change control board
• Change control board for the NCRL language
• Department representative for additional change control boards throughout NCR
• NCR compilers' representative to operating systems.
Teaching
• Compiler development and general software engineering techniques.
• NCRL language
• NCRL course manual
Documentation
• Requirement specifications
• Project plans
• Functional specifications
• Test plans
• User guides.
8. Addendum
Major Languages:
C, C++, Ada, Perl, Pascal, NCRL, ISWL, Perl, NCR assembler, FORTRAN.
Other Languages:
JavaScript, CAL (Cray Assembly Language), CAM (Cray T3D and T3E assemblers), NCR assemblers
(NEAT/3 and NEATVS), Intel Pentium assembler, ARM assembler., PL/1, IBM CLIST, DHTML (HTML
and Jscript/JavaScript), BASIC, SNOBOL4, Algol 60, CDC Assembler, HP assemble, Algor’s EAGLE.
Systems:
MS Windows (2.1, 3.1, 3.11, 95, 98, 2000, XP, 7 and 8), UNIX (SUN Microsystems, Cray UNICOS, IBM
AIX, HP-UX, and SGI IRIS, NCR Tower System V), MS DOS, MS NT, IBM z/OS, IBM MVS, NCR (B-
Series, VRX, and IRX), CDC (Scope, Kronos, and NOS).
Special Test Environment:
Parallel test execution and analysis.
Clearances: None
Citizenship: US
Languages: Portuguese (beginner)
US Residence:
California, Colorado, Iowa, Missouri, New Mexico, Pennsylvania, Texas
International Residence:
Brazil
Technical Experience Summary
I am a Senior Software Engineer highly experienced in software design, development and test providing:
• Multiple simultaneous projects in lead role
• Software tools for Unix, Windows and IBM Mainframes
• Extensive internal and external test including compilers, verification tools and development
environments
• Language design
• Documentation including requirements, project plans, functional specifications, implementation
design, test plans, user guides and user manuals
• Visual Studio
• C (20+ years)
• C++ (7+ years)
• Ada (5+ years)
• MS Windows (10+ years)
• Unix (10+ years) with both standard and GNU tools as used in Linux
• IBM Mainframe z/OS (5+ years)
• Language/compiler design
9. o Binary translation from X86 Pentium (32 bit) to extended Java intermediate, binary
translation of XSCALE (ARM) code
o Massively parallel T3D and T3E assemblers with process and data distribution model
support
o Code generation including BOPS Parallel C compiler, Texas Instruments MVP and C6X
DSP compilers, Cray Ada vectorizing compiler
• Specialized and scripting languages including JavaScript
• Test and implementation concentrating on advanced techniques and architectures
• Technology management
• Standards development
• Change control processes
• Configuration and change management
• Application optimization
• Command set design
My experience ranges from DSPs to super computers, business systems to scientific and engineering
systems, and a wide selection of computer languages.
10. o Binary translation from X86 Pentium (32 bit) to extended Java intermediate, binary
translation of XSCALE (ARM) code
o Massively parallel T3D and T3E assemblers with process and data distribution model
support
o Code generation including BOPS Parallel C compiler, Texas Instruments MVP and C6X
DSP compilers, Cray Ada vectorizing compiler
• Specialized and scripting languages including JavaScript
• Test and implementation concentrating on advanced techniques and architectures
• Technology management
• Standards development
• Change control processes
• Configuration and change management
• Application optimization
• Command set design
My experience ranges from DSPs to super computers, business systems to scientific and engineering
systems, and a wide selection of computer languages.