Daniel Ortmann


Daniel Ortmann
612.518.3147 cell
Minneapolis MN


Challenging work, either on-site, fixed bid or remote, involving at least one of the following roles or subjects:
Embedded Programming, Firmware Programming, Software Engineering, System Engineering, System Administration, Application Engineering, Research - Development - Prototyping, Standards Development, Software Quality Assurance, Release Engineering, Process Automation, Signal Integrity Analysis, CAD/CAM Tool Development, Custom Simulations, Data Mining, Forensics, Catastrophic System Recovery, Virtualization, Circuit Analysis, ASIC and FPGA Automation, Electrical Engineering, Hardware Lab.

Good fits often involve: Unusual inter-disciplinary roles which are hard to fit.  Software process and testing automation.  Hardware automation controls.  Multi-disciplinary Tools Teams.  Combination roles involving research, development and prototyping.  Extremely rapid ramp-up to productivity where a permanent employee is desired but hard to find.  Specialized, complex or inter-disciplinary vocabulary.  Accelerating or automating the work of a Senior Engineer or Researcher.


Internet Technologies (in progress): TurboGears, Zope, Django, Zenoss

Programming and Automation Languages: C/C++, Python, Perl, assembly, Groovy, Java, TCL, shell, Doors DXL, CORBA.

Databases: Oracle, MS SQL Server, SQLite, Objectivity.

Operating Systems: Linux, FreeBSD, AIX, HPUX, Solaris, Windows.

Industries: Aerospace and Defense (Government and Commercial), Semiconductors, Medical Devices, Accounting Software.

Version Control Software: Subversion, CVS, ClearCase / ClearQuest, DesignSync, RCS.

Miscellaneous: Custom Kernels, Truecrypt, AES, GPG, LVM, RAID, DRBD.


Rockwell Collins	Cedar Rapids IA	Java Groovy Eclipse SQL WSDL Prototype AADL/AAXL	Aug 2008	–	Jan 2009
Rockwell Collins	Cedar Rapids IA	FCS Systems Engineering Requirements Design Docs	Jul 2007	–	Jul 2008
GetConnected	Boston MA	RelEng Subversion Cfengine Infrastructure 	May 2007	–	Jun 2007
LSI Logic	Minneapolis MN	Perl Python ClearCase DesignSync Support	Jan 2006	–	Dec 2006
Medtronic	Minneapolis MN	Python C SQL Oracle CVS HTML QA Audit	Nov 2004	–	Jan 2006
LSI Logic	Rochester MN	Python PCIX Hspice Simulations CAD IT	Oct 2001	–	Nov 2004
IBM	Rochester MN	Perl PCI Spice Simulations CAD IT	Jun 1996	–	Aug 2001
Great Plains Software	Fargo ND	Perl SQL SQA VisualBasic	Jun 1993	–	Jun 1996
NDSU	Fargo ND	HPUX Design Lab System Administrator	May 1993	–	Aug 1993
NDSU	Fargo ND	Graduate TA 68HC11 Modula-2	Sep 1991	–	May 1993


Rockwell Collins1, Cedar Rapids IA		Jul 2007	–	Jan 2009
Software Engineer (Python/Groovy) / Contract (Jul 2007 - Jul 2008)

Developed data consistency checker prototype for aeronautical systems engineering data using SQLite, Objectivity OOP database, Eclipse, Groovy, Java and WSDL / Web Services.
Needs and Requirements analysis for data consistency checker.
Automation of Objectivity OOP database XML translator, including development, maintenance and re-architecting for AADL to AAXL generation for DRE (Distributed Realtime Embedded Systems).
Systems Engineer / Contract RSE (Aug 2008 - Present)

Software Requirements Specification (SRS) for the conduction cooled Integrated Computer System (ICS) for Army Manned Ground Vehicles (MGV).
Systems Engineer for an advanced computer enclosure to process TS/SCI data (Top Secret / Sensitive Compartmentalized Information).
Computer system requirements: signal counts, types, speeds and protocols, Line Replaceable Module (LRM) types and counts, Chemical, Biological, Radiological and Nuclear requirements (CBRN), security enclave and information separation requirements, special attention to computer rack hardware requirements.
Computer system design documents.
Reviews for Design Documents and CI Specifications (Configuration Item Specifications).
Telelogic DOORS 7.1 and automated requirements linking using Python, DOORS DXL and spreadsheets.
ClearQuest problem reports.

GetConnected,2 Boston MA		May 2007	–	Jun 2007
Senior Release Engineer / Contract

Release Engineering, Cfengine, Subversion, Ant and Perl support and development.
Misc tools used by the group, not necessarily personally used: Agile, Lisa, CruiseControl, Nagios, Cacti, Eclipse, Subclipse, Sonic, Solr, Java EE, Tomcat, Sun AppServer, JBoss.

LSI Logic,3 Minneapolis MN		Jan 2006	–	Dec 2006
Application Engineer / Contract

Contract renewed: 6 months, 1 month, 3 month and 1 month.
Automated aspects of the release process by creating Python code to convert 10,000 lines of Perl module code to spreadsheet CSV format for sorting, debugging and editing in a spreadsheet.
Wrote Python code to convert the spreadsheet CSV back to the Perl module format without loss.
Supported users with the release process, debugged and fixed user problems.
Performed ClearCase version control maintenance and user support.
Imported a vast amount of hardware designs into the DesignSync version control system.

Medtronic,4 Minneapolis MN		Nov 2004	–	Jan 2006
Senior Programmer / Contract

Contract renewed: 6 months, 6 months and 3 months.
Wrote code with extremely low bug count.
Telelogic Doors and DXL coding.
Modified the C code CVS and RCS to generate Python data structures.
Created Oracle SQL tables with constraints and triggers, and wrote Python code to manipulate the tables.
Wrote CGI code in Python to enable users to schedule automatic software builds.
Uncovered system-level design problems with Perl which inhibit testing.
Redesigned the old Perl code to fix the issues.
Translated code from Rexx and Perl to Python.
Performed code repository audits, disseminated Unix, emacs and Python skills.
Performed code analysis of C++ code initialization at Medtronic using the Abraxas tool.

LSI Logic,5 Rochester MN			Oct 2001	–	Nov 2004
Senior Design Engineer

Performed PCI-X Mode 2 standards verification signal integrity work, from a software methodology point of view, ensuring a buildable standard by finding margins through careful measurements, and providing early feedback to circuit designers.  Developed PCI-X methodology and code using Python and Hspice to ensure a buildable standard by automatically generating netlists, running simulations and measuring Hspice graphics files for correct behavior, including adequate source synchronous setup and hold times. 6
Rapidly researched and delivered a cross-probing solution (inter-tool communication) for a high-profile demo using C++, Java and CORBA, enabling demonstration of company tools interacting with industry standard programs.
Corrected and enhanced local LSF license manager code to track licenses quickly and accurately, saving money by increasing license utilization.
Facilitated project communications by administering Red Hat Linux, performing system updates, configuring the Apache web server, and ensuring data security via PAM, LDAP and Samba.

IBM,7 Rochester MN			Jun 1996	–	Aug 2001

Designed the PCI-X Mode 1 methodology and code in Perl to enable the PCI-X standards committee to automatically build PCI-X circuit netlists and directory structures, perform millions of circuit simulations, and collect and analyze the data, resulting in high confidence in the PCI-X standard.  Received special commendation by name, along with the chairman and vice chairman, out of 839 people from over 20 companies in the final PCI-X congratulatory letter.  Also received an IBM Peer Award for performing 25 man-years of work in 5 months through automation. 8 9 10
Built a significant Perl/Tk program to configure a 12 channel laser driver chip by clocking setup data into the chip through the parallel port, resulting in an easily maintainable program which was used heavily to tune the laser driver channels and to program EEPROMs.  Received an IBM Peer Award. 11
Received an IBM Peer Award for outstanding Perl support, including compiling, testing, installing, using and supporting numerous versions of Perl and Perl/Tk, and much individual tutoring and script writing. 12
Devised an AFS meta-mirroring system for automatically synchronizing files and directories used by a circuit delay rule generation system, resulting in cross site update times decreasing from more than a month to a couple of hours with improved accuracy.
Rewrote Perl code which modified circuit netlist device names, allowing simulation of mixed technology circuits, resulting in execution times dropping from 25 minutes to 16 seconds.
Implemented periodic background error checking and warning for common simulation data file corruption problems, resulting in user simulation support issues decreasing from 4 out of 5 days to 1/2 day per month.
Devised a technique to start up a ksh shell environment from a csh shell environment, resulting in a large reduction of maintenance formerly requiring separate computer accounts with different shells.
Maintained and added features to a circuit checking CAD program, resulting in numerous design problems being identified and fixed.
Performed noise analysis on custom logic PowerPC circuits, rewrote the TCL code controlling the analysis, and wrote Perl and Matlab code to statistically analyze the data, resulting in higher design confidence.
Automated notification of simulation upgrade needs by writing code to periodically retrieve and analyze simulator web site information, and email the report, resulting in early notice of simulator upgrade needs.
Redesigned a technology specification file and automated file verification and reporting, easing maintenance and greatly reducing errors.
Supported circuit designers using transistor level circuit simulators.
Taught a Perl class.

Great Plains Software,13 (accounting software), Fargo ND	Jun 1993	–	Jun 1996
SQA/Analyst (2.5 years)

Received commendation and award for independently, quickly and accurately designing the server-side installation on Microsoft SQL Server for a major release of corporate accounting software under extreme time pressure, rescuing the software release schedule. 14
Received commendation and monetary prize for importing the Microsoft DLL API calling conventions into the company development system, resulting in greater software capability. 15
Recognized and reported a software license legal issue.
Searched, sorted, analyzed and reported database index usage using Perl, resulting in database performance improvements.
Installed and administered Microsoft SQL Server for developers, facilitating product development.
Configured network and software systems similarly across versions of Microsoft Windows, saving developer debugging time.

Programmer/Analyst (.5 years)

Studied Visual C/C++, Visual Basic and DLLs until company restructuring.

North Dakota State University / NDSU,16 Fargo ND
Unix System Administrator	HPUX Installations and backups	May 1993	–	Aug 1993
Graduate Teaching Assistant	Modula-2 and M68HC11 EV Board	Sep 1991	–	May 1993


Technical support for 120 electrical design engineers at IBM.  Soaked up knowledge on a range of subjects including Hspice and circuit simulation, low- and high-frequency noise analysis, place-n-route, graphical layout, IO design, analog circuit designers for PLLs and hard drive “channel” development, memory & array designers, optical devices, etc.
PCI bus standard Contributing Author for both IBM and LSI Logic.
Developed a CAD program to solve 3d graphical perspective equations using L-U decomposition in C to measure, rotate and print 2d traffic accident skid marks for use in expert-witness court testimony.
Designed a photo digitizing system for an HP plotter with a fiber optic sight.
Created a printer driver to print orthographic projections.
MC68000 assembly and C code, co-processors, device driver, printer rendering functions and system library study on Amiga OS.
Linked and ran C with MC68000 assembly code; understand C and Pascal calling conventions.
Created an IBM EEPROM programmer for a 12-channel laser driver / receiver program using Perl, an AIX running RS6000, the parallel port, serial data clocking and oscilloscope trigger signals.
The EEPROM programmer was ISO-9000 compliant, enabling saving of lab settings and log data.
Sysadmin for the NDSU design lab's HPUX equipment during a major OS & hardware upgrade.
Teaching Assistant for the NDSU MC68HC11 embedded lab.
Studied Win32, the Petzold book and DLLs for 6 months at Great Plains Software.
Performed x386 assembly code reviews for 32-bit mathematical functions at Great Plains Software.
Experience with Visual C and BoundsChecker from a QA perspective.
Maintained and added features for an for IBM Circuit Methodology Checking C CAD program designed to process domino logic circuits.
Performed noise analysis for IBM circuit designers and provided quality feedback and test cases to the tool developers.
Studied the ANSI C Standard Rationale.
Wrote an IEEE Floating Point Standard TRUNC function in 68000 assembly.
Read several books on portable C including AT&T's book “Portable C” and several “Waite” and “Sam's” series of books.
Took a Numerical Analysis course.
Performed simulations and analysis using the Python Matlab-like NumPy numerical module.
Experienced using the Metascope debugger to examine Amiga OS and driver memory.
Created a working compiler / interpreter linking both C and assembly.
Wrote MC6800 assembly using hexcodes entered by a Heathkit keypad.
Experienced with TTL logic prototyping including 555 timers, counters, debounced switch circuits, clock circuits, S/R & D flip flops.
Practiced breadboarding, wirewrapping and soldering while working nights as a night desk clerk during college.
Studied digital logic, TTL and CMOS cookbooks.
Modified the 386BSD sio.c serial device driver code to recognize modem during system startup.


Genova Technologies	(Rockwell Collins)	http://www.genovatech.com/
Softworld	(GetConnected)	http://www.softworldinc.com/
Professional Project Partners	(LSI Logic)	http://www.p-3-inc.com/
Modis	(Medtronic)	http://www.modis.com/


North Dakota State University / NDSU, Fargo ND                     
MSEE – Electrical Engineering	[GPA 3.33/4.0] 	Dec 1999

Minot State University / MISU, Minot ND                            
BS – Computer Science	[GPA 3.37/4.0] 	May 1989
BA – Physics and Music	[GPA 3.37/4.0] 	May 1989
BA – Mathematics	[GPA 3.48/4.0] 	May 1987
AA – Engineering Studies	[GPA 3.37/4.0] 	May 1989

Member number:9212
Additional Contact information is available on the Information Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 1995 - 2006 Daniel Ortmann and Software Contractors' Guild, 3 Country Club Dr., #303, Manchester, NH USA 03102