Bob Hartwig, President
Overview
Over the last 13 years, Bob has built a strong reputation for growing complex software systems of exceptional quality, flexibility, and maintainability. For the last 10 of those years, he has used object-oriented techniques and technologies, which have allowed him to manage the extreme complexities of his clients' systems. For the last 8 of those years, he has used the Smalltalk language for most of his work, which has allowed him to successfully meet the demanding time-to-market and flexibility/changeability requirements of his employers and clients.
As detailed on the Projects page, Bob has experience in all phases of software project development, from architectural design and modeling, through detailed design and implementation, to test suite development. Bob has worked with several dialects of Smalltalk, including VisualAge, Visual Smalltalk, Smalltalk/V, VisualWorks, and Squeak.
In addition to Smalltalk, Bob has also delivered systems written in C, C++, and Java. He also has several years of experience delivering embedded systems, developed in Assembly, PL/M, and C.
Bob graduated with honors with a Bachelor's degree in Electronics Engineering Technology from ITT Technical Institute in Indianapolis Indiana.
Specific areas of expertise
In addition to his knowledge of general-purpose object-oriented design and implementation techniques, Bob has accumulated extensive experience in specific difficult areas of object-oriented software development. Some of these areas include:
- Designing and implementing highly reactive event-driven systems in Smalltalk. By developing a state machine framework based on an active-object variant of the State pattern, Bob has implemented event-driven state machines with hundreds of states.
- Designing and implementing complex, yet safe and robust multitasking Smalltalk applications. Bob has proven that Smalltalk can successfully be used to develop real-world systems that have hundreds of simultaneously running Processes, including calls to external systems in separate OS threads.
- Interfacing Smalltalk systems to external software systems through dynamic link libraries, COM and ActiveX interfaces, sockets, and operating system APIs.
- Using Smalltalk to control hardware devices in real time, through dynamic link libraries and physical device driver interfaces.
- Using custom and third party tools like GF/ST to develop custom direct-manipulation visual interfaces. Used to visually represent the state of complex object models, these animated interfaces transcend standard GUI controls to present a symbolic, intuitive feel for simulations or hardware states.
- Analyzing and tuning the performance of Smalltalk systems. Through runtime profiling and iterative tuning, Bob has achieved performance improvements of multiple orders of magnitude.
- Removing isolated performance bottlenecks from Smalltalk systems by using the C language to implement user primitives and external dynamic link libraries.
- Implementing computer telephony systems in Smalltalk. Bob honed many of the above-mentioned skills while developing complex computer telephony systems. Because of its dynamic nature, Smalltalk has proven to be a strategic advantage in developing these complex systems quickly, and in a form that is extremely flexible and conducive to change.
Projects
To see a detailed list of the products that Bob has delivered, and projects that he has worked on, click here.