Daniel R. Oelke

7330 ODean Ave NE, Elk River, MN 55330

Dan@Oelke.com

http://www.oelke.com/people/dan/resume/

763-241-8604


Senior Systems and Software Engineer

Engineer with extensive experience with system design process of balancing software, hardware, development time and costs. A developer with a long record in software development. A teacher and mentor with excellent communication skills. An Object-Oriented technologist that has introduced and implemented new processes in a variety of environments.


Experience

Software Engineer

Banner Engineering, Plymouth, MN

December 2003 to present

Design and development of machine vision software. Designed and implemented protocol to discover and provision cameras on an Ethernet network. Implemented and enhanced pattern matching algorithm based on edge extraction. PowerPC target with VxWorks and C++ implementation. Developed scripts and used them with statistical analysis to test accuracy and reliability of algorithms.

Adjunct Lecturer

University of St. Thomas, St. Paul, MN

January 2001 to present

Develop curriculum for and taught graduate course on Computer and Network Communications. Created and used simulation software to teach networking concepts. Simulations using C++, Java, and ns2. Worked with students of various technical abilities to ensure that all learned the material. Consistently received high ratings from students.

Sr. Systems Engineer

Bixby Energy Systems, Rogers, MN

July 2003 to December 2003

Worked with customers, vendors, and other engineers to improve reliability, reduce cost, and fix many problems with product. Developed firmware in C and assembly on embedded system. Used PIC microprocessor to control motors and mechanical assemblies. Within weeks of my starting I was able to fix several major control problems so that they could start shipping product.

Software and Systems Engineer

Optical Solutions, Plymouth, MN

Sept. 1998 to April 2003

Key software architect for the Fiber-to-The-Home product using Object Oriented techniques and Universal Modeling Language (UML) based process. With C++ as the foundation language, developed the code generation utility to automate C++ code generation from UML diagrams, and automate intertask communication. Designed system for provisioning and control through a web based interface. Performed a wide variety of tasks, from managing the makefiles and source control system, to bringing up boards and developing various subsystems, to writing requirement documents.

Balanced hardware and software solutions against their cost, effort and power consumption. Worked out compromises between demands for features and ability of group to deliver them.

Designed system with Ethernet interface at the head end and at the side of the home. Was primarily for TCP/IP traffic, with special provisions created to proxy-arp and allow system to look like a large layer-3 switch. This enabled customers to lower operation costs and simplify their network architecture.

Technical Team Leader

Alcatel Network Systems, Richardson, TX

Oct. 1995 to Sept. 1998

Created software architecture for new SONET multiplexor product line with small team of senior engineers. After evaluating different methodologies and tools, the team decided to use an adapted OMT methodology, to design the system, and C++ as the implementation language.

Led team of 5 people in designing and implementing user interface, security, and persistence subsystems. Created base design for persistence mechanism and implemented a prototype of it so that code generation ability of StP could be leveraged. Implemented memory management functions to work in embedded environment yet support dynamic nature of C++ software.

Wrote specifications and worked on requirements for the system. Led my team and others working on the project through understanding many parts of the system.

Software Engineer

Alcatel Network Systems, Richardson, TX

June 1992 to Oct. 1995

Designed, developed and supported real time embedded software for SONET digital telephone transport systems, primarily C with 68K family processors using pSOS. Extensive work experience in designing for and debugging real time embedded systems even when good debugging tools were unavailable or impractical.

Created network protocol to dynamically discover all systems in a network, including position mapping of all systems in both ring and linear topologies.

Wrote and maintained 1200 page Command and Response manual for TL1 commands. Maintained syntax to comply with Bellcore and OSMINE standards as well as meet development needs.

Developed command line parsing subsystem for TL1 syntax. Parser designed to provide for quick and easy syntax changes by other engineers without intimate knowledge of the parsing system. Created data compression method to compress executables in memory limited system. Developed interfaces to TCP/IP (pNA TCP/IP stack) and OSI stack that allowed for better debugging of system.

Implemented security subsystem to meet both customer and industry requirements. Developed low-level software support for new hardware cards. Supported and enhanced system for management of downloading new software.


Education

Milwaukee School of Engineering, Milwaukee, Wisconsin
B.S. Computer Science and Engineering May 1992
GPA 3.41(4.0) Major GPA 3.47
Special Alumni Association Award for Outstanding Achievement


Computer Knowledge and Skills

Languages: C++, C, HTML, Java, PHP, Perl, PowerPC, 68000, PIC and 80x86 Assembly, Tcl/Tk, bash/sh, BASIC, Pascal, Fortran, Simscript, and several other scripting languages

Systems: Unix (Linux, BSD, SunOS, Solaris, HP, Ultrix, etc.), pSOS, ThreadX, VxWorks (embedded OSs), VAX/VMS, X-Windows, Windows, DOS

Areas of Interest: Embedded Systems, Networking Protocols, Object Oriented software design, Patterns, UML, Agile Methodologies, Code generation, System architecture, Computer Graphics - 2D and 3D visualizations, Distributed Systems, Inter-process communication and coordination, Data Compression, Cryptography, Computer networking - especially (but not limited to) using TCP/IP, Appropriate use of interpreted systems for easy maintenance and quick development.

Honors and Organizations









July 10, 2005