Steven C. Rowe
P.O. Box 654 Grass Lake, MI 49240
stever@europasw.com
(517) 522-4590

Work History:

02/03 - Present - Cybernet Systems Corp., Ann Arbor MI

Technical manager and research engineer. Responsibilities include research, writing proposals based on SBIR solicitations, and software engineering. Projects have included satellite operations training system, distributed intelligent agent systems, and mentoring.

10/02 - 02/03 - KinetX, Tempe AZ

Odd jobs for KinetX, including development of prototype Servlet/JSP application, ongoing support of embedded software for industrial ink-jet printer, mentoring other programmers, and business development in the Great Lakes region.

2/02 - 10/02 - Orbital Sciences Corp., Chandler AZ

Worked on classified missile project. Emphasis on embedded systems programming on Power PC platform using VxWorks, assembly language and C++.

12/01 - 2/02 - KinetX, Tempe AZ

Designed, implemented, and tested a soft real-time embedded system for an industrial ink-jet printer. Target platform is Motorola Coldfire 5307 SBC. RTOS is a customized version of Linux designed for microcontrollers (uC-Linux). Software development tools included Gnu C++, Metrowerks CodeWarrior, gnu Make, and gdb. Debugging/trouble-shooting was done with an in-circuit debugger (via BDM) and gdb. The code is primarily C++ with some assembler language.

9/01 - 10/01 - Tata Infotech Pty. Ltd, Mumbai, India

Served as technical team lead for a vehicle routing and scheduling project. Guided team in OOA/OOD, process development, configuration management, algorithmic approaches. Used Ilog Solver/Scheduler in Visual C++ to implement the core scheduling system, which used constraint propagation, linear programming, and heuristic methods. Led integration effort between database, user interface, and scheduler subsystem groups.

4/01 - 5/01 - KinetX, Tempe AZ
Developed baseline processes to bring KinetX up to an SEI Level 2 software development house. This included process design, automation specification, documentation, and implementation.

9/00 - 1/01 - KnowledgeNET, Scottsdale, AZ
Served as the Subject Matter Expert (SME) for the team that was adapting their Java tutorial from book form into an interactive web course. Explained object-oriented programming concepts to non-technical staff so that they could be rendered graphically. Delivered several lectures on Java technologies.

6/00 - 4/01 - Pathfinder Solutions, Wrentham, MA

Developed UML Analysis models using Pathfinder's rigorous Model Based Software Engineering (MBSE) methodology. Implemented distributed consumer sales system in Java. Key technologies used included Enterprise Java Beans (EJB), WebLogic Server software, and JDBC. Wrote custom editor add-in for Artisan Realtime Studio using Visual Basic.

1/00 - 6/00 - First Resort Software, Aspen, CO
Feature additions and bug fixes to all levels of a distributed Java point-of-sale application. Client side was implemented using Swing. Business logic is implemented in C, accessed as native methods using JNI calling into a Windows DLL. Database layer is using a legacy (C-Tree) database product. Designed JDBC compliant database driver to supplant legacy code. Designed model/view/controller system to help separate legacy business logic from GUI details. Designed new event dispatching model using java.beans API that substantially aids code readability and reuse.

9/99 - 1/00 - 4 Peaks Technology Group, Las Vegas, NV
Developed GUI server program in Java using RMI. Server resides on multiple platforms, including Macintosh, Linux, Windows 98, and Solaris. Developed program to track printer usage under Novell NetWare. Program consists of a Java module that performs client/server communication via RMI, and an NLM written in C that accesses system facilities. The pieces communicated via JNI. Worked with other team members to document, test, and troubleshoot the integrated system.

9/98 to 6/99 - The Chip Merchant, San Diego, CA
Worked as part of a small maintenance team to fix problems in a legacy Macintosh database application. Working in Pascal, C, 68xxx and PPC assembler, using Metrowerks CodeWarrior package we diagnosed, found, and corrected problems. We designed and implemented new features in the product. Used CVS for source code control and instituted development processes and procedures including code inspections, automated builds, and defect tracking.

5/1/98 to 7/31/98 - The University of Michigan, Ann Arbor, MI
Full life-cycle development of small compiler for a custom language. Personally responsible for design, documentation, schedule, implementation (C on HP-UX), test plan and test execution, SEI level 3 standards. Taught client about in-process inspections for quality enhancement. Came in on schedule with very good client feedback. Wrote Perl scripts to perform automated build and automated testing.

1/1/96 to 5/1/98 - Motorola, Chandler, AZ
Developed several programs to schedule IRIDIUM satellite communication radio links with ground stations. Heavy use of C++ and OOA/OOD skills. Object designs were communicated in Rumbaugh's OMT using ObjectTeam, and later in Rational's UML using Rational Rose. Communication between software components used CORBA (Orbix). Scheduling system used ILOG Solver/Scheduler constraint modelling and CPLEX linear programming libraries. Worked as team lead for last six months of project. Used Object Team and Rational Rose for architecture and design documentation. Used Purify and Pure Coverage for debugging. Used CVS and then Clearcase for configuration management. Led development of web-based automated testing package written in Perl. Developed data visualization tools in Java.

12/15/93 to 12/20/95 - Vector, International, Atlanta, GA
Worked on team adding new features to MacroVIEW, a customizable industrial control and display system. Used C++, Rogue Wave, GUI libraries, and Unix inter-processes communication (IPC) under SCO, Solaris, SunOS, and HP-UX flavors of UNIX. Performed system administration duties. Mentored junior programmers in OOA/OOD. Wrote numerous build and installation scripts in various flavors of UNIX shells (sh, csh, ksh). Wrote device driver for Allen-Bradley programmable ladder controllers (PLCs).

1/1/86 to 9/1/92 - The University of Michigan, Ann Arbor, MI
Developed real-time embedded system to control remote sensing satellite. Project involved computer language compiler development, real-time multitasking system design, data archival, data display, hardware troubleshooting, and project leadership. Used logic analyzers, oscilloscopes, in-circuit emulators, EPROM programmers, and other tools of the trade to perform both hardware and software diagnostics. Software was written in 8086 assembler and C.

Other experience

Education

1982-1990 The University of Michigan College of Engineering (Ann Arbor). Majored in electrical and software engineering. Courses include digital design, computer design, data structures and algorithms, theory of computation, biological computation, discrete mathematics, calculus, physics, and chemistry.

Skill Summary:

Skill
Skill Level
Years Experience
Last Used
C/C++ Programming Expert 18 Currently used
Java Programming Expert 6 Currently used
Object-Oriented Analysis and Design Expert 8 Currently used
Embedded Systems Expert 8 Currently used
UNIX System Programming Expert 5 Currently used
UNIX System Administration Intermediate 4 Currently used
Teaching/Mentoring Intermediate 3 Currently used
Technical Team Lead Intermediate 3 Currently used
Perl/sh/csh Scripting Intermediate 3 Currently used
Hardware and Software Test Intermediate 3 Currently used
Visual Basic Programming Intermediate 1 < 1 year ago