- To prevent mistakes, not just fix them later.
- To reduce the costs and uncertainties in software development.
- To understand customer requirements and deliver great architectures and solutions for those needs.
- To grow my skill set and that of my team.
2009 – Present: Principle Software Engineer, Mitchell International
Analyzed, architected, designed, and implemented desktop and web-based solutions for body shop insurance claim processing. Solutions used a variety of technologies including WinForms, Web services, WPF, ASP.NET MVC, HTML5, CSS, and Amazon S3.
Mentored team members on analysis and design with UML in an Agile development process.
2011 – Present: Owner and Developer, Software Basement Tapes
Design and implemented games for Windows Phone 7 using Silverlight: Orbital Rendezvous, and arcade-style space simulator; Eclipsit, a game of capturing numbered tiles; and Shades of Gray, a game of capturing stones by matching colors.
2009 Windows Mobile Architect, Lowry Computer (through TEK Systems).
Analyzed, architected, designed, and implemented a C#/Windows Mobile system to augment an existing Asset Control System. Features include:
- Asset scanning via RFID, barcodes, and manual entry.
- Detecting loss of network, queuing work while disconnected, and automatically uploading work when reconnected.
- Logged Out Work Mode: allows an operator to scan assets immediately without waiting to log in and choose a task, and then assign the scan results after the work is done.
- Created the requirements document, prototype screens, and user manual.
2001 – 2009 The UML Guy, UML mentoring and instruction.
Wrote two UML books:
- UML Applied: A .NET Perspective from Apress. A book that taught UML – including my Agile Five Step UML process – and then used it to explore .NET development. Included an end-to-end sample project from requirements to code.
- Ulterior Motive Lounge: UML, 80s Flicks, and Bunny Slippers. The world’s first UML comic strip, this book uses humor and examples to teach a team how to apply UML for rapid quality improvement.
Wrote and taught classes on:
- UML, including many popular UML tools.
- Visual Studio Team System Architecture Edition
- Sparx Enterprise Architect
- Rational ROSE
- Object-Oriented Analysis and Design
- Requirements analysis.
- Software architecture.
- Process improvement.
- C# and .NET programming.
- PC development.
- Speech recognition programming with .NET.
Wrote articles and online instructional material on UML and requirements analysis.
Wrote and maintained a data-driven ASP.NET site for promoting training services.
Coded, analyzed, architected, and designed event registration tools in C# with Excel integration.
Designed, implemented, and marketed Tablet UML, a UML tool for Tablet PCs. Written in C#/.NET. Also created and maintained the ASP.NET site for the product.
2007 – 2009: Software Engineer for SPX Corporation (through TEK Systems).
Analysis, design, and construction of C#/.NET vehicle diagnostic systems on Windows XP and Windows CE.
Led multiple process improvement efforts, including introducing UML for analysis and design.
Coding, analysis, architecture, and design for a C# application to receive and analyze vehicle diagnostics and reprogram vehicle systems.
Coding, analysis, architecture, and design for migrating the C# vehicle diagnostic tools to Windows Mobile.
Coding, analysis, architecture, and design for C# tools to generate diagnostic code from UML diagrams.
Coding, analysis, architecture, and design for various developer tools in C#.
2006 – 2007: Software Engineer for Jervis B. Webb Corporation (through Stout Systems).
Maintaining and extending legacy material handling systems.
Maintenance coding, analysis, and design for an existing Windows/C++ airport baggage handling application.
1999 – 2001: Sr. Software Engineer, Emerald Software, Inc.
Specification, estimation, quotation, design, and implementation of custom software solutions.
Designed, implemented, deployed, and maintained the corporate Web site.
Designed and presented Richard Hale Shaw’s UML BootCamp seminars.
Wrote a Windows/C++ medical image storage, retrieval, and mark-up tool.
1997 – 1999: Sr. Software Engineer, Siemens Dematic.
Designed and implemented control software for conveyor systems, picking systems, and other material handling systems.
Using UML and Visual C++ Custom AppWizard technology, designed a standard component-based architecture using NT services.
Specified, designed, and implemented an HTTP-based publish/subscribe message routing system and a set of XML message tools and specifications.
Taught UML and OOAD processes to multiple groups of developers.
Reverse engineered designs of legacy systems to aid maintenance programmers.
1993 – 1994 Systems Analyst, Video Impact, Inc.
Analyzed and managed an interactive shopping system.
Managed development schedules.
Designed GUI-based data entry systems, data translation parsers, and image conversion routines.
1985 – 1993 Vice President Research and Development, Megatronics, Inc.
Managed small programming teams.
Analyzed, designed, and programmed Windows, DOS, and UNIX versions ofCUREcolor measurement system.