professional software development
I've been employed as a software developer since Oct-1999, working for one of the largest global IT companies. Here's a short overview of the products, technologies and software I've been involved with:
Mar-2011 - …
Content Management component for HP Business Service Management, a complex multi-product suite
Joined another developer to maintain and grow a component that was developed for an Operations management product, but then got re-used and incorporated into the overall management suite comprised of multiple products which were concurrently and independently developed at multiple sites.
- Split off command-line utility to work on the application server, not the web server, using JMS for remoting to the back-end Grail application.
- Added abstraction for factory vs. custom content across the entire stack to enhance customizability and enable multi-tenancy for a planned SaaS offering. This cross-cutting concern had to be spliced into all administrative Grails backend services and controllers. The Flex frontends all needed similar visualization and wiring. The main challenge was avoiding duplication even though much historical baggage had already accumulated, and there were three different techniques of communicating with the backend (REST with hand-made XML, JAXB-generated XML, and BlazeDS), and a mixed Flex 3 / 4 frontend implemented with various architectures (Cairngorm, Parsley, Presentation Model).
Jul-2009 - Jun-2011
Event integration adapter for HP Operations Manager i, the successor of a leading management suite
Drove the use case analysis with all stakeholders and contributed to the planning and design of the first release, then focused on build, installation and consumption of major internal components during the second release. Shared responsibility for the implementation together with five fellow developers, and acted as the liaison for the sole component that was consumed by another offsite team.
- Contributed to web-based management UI implemented in DHTML, Adobe Flex and a Apache Tomcat 6-based web container Java backend using BlazeDS and Spring.
- Implemented two JNI wrappers for native functionality and oversaw the multi-platform build and packaging.
- Refactored the build process to remove duplication, streamline development, and allow for easy consumption of dependent in-house packages.
- Created elaborate, multi-platform application installer and designed the upgrade strategy.
- Channeled back many fixes and defect reports against the internal installer framework which caused the discovery of outdated components that severely affected the Windows/x64 platform, and lead to the eventual re-assignment of the framework's maintenance to another team in another site.
Jun-2005 - May 2008
Incident data and process connector between the HP OpenView Service Desk service management system and 3rd-party vendor systems, especially SAP Solution Manager
After participating in the initial analysis and collaboration with another big company to develop an official web service interface, I initially only worked part-time on this product, which then consisted of an evolved prototype developed by a hodgepodge of developers. My contributions to the product included:
- Implementation of Java 1.4 support and self-test tool that exercised a third-party system via a SOAP web service interface and the host system via a proprietary Java interface.
- Refinement of shared components for tracing, logging and configuration handling.
- Implementation of Java connector via Apache Axis (version 1, later 2) running in an Apache Tomcat 5.5 web application server.
- Upgrade to incompatible new host system interface, then parallel support of a completely different new (acquired) host system.
Jan-2000 - Jul-2005
Internal configuration and deployment component for HP OpenView Operations for Windows, a leading application management suite
I first worked together with a senior developer, then alone on this component for five releases. It was closely related and (among others) consumed by the SAP monitoring plugin mentioned below. In contrast to that product, the target audience were fellow development teams (who were located in other sites around the world).
- Implementation and refactoring of C++ prototype into maintainable code.
- Configuration plug-in implemented as ActiveX control with MFC, running under Microsoft MMC.
- Design and implementation of simple file transfer and remote execution mechanism through WMI, which is Microsoft's implementation of the WBEM standard. Enabled consumption as a framework, a C++ library or a Windows command-line application. I designed an object model and extension points for the framework.
- Support for various Unix flavors and shells for the remote location.
- Automated test suite implemented partly in C++, partly via a mock DCOM object that was rapidly coded in Microsoft J++ and used a socket connection to a Java mock driver and test oracle. (Yes, freaky, but also highly effective.)
- Creation and maintenance of hypertext specification, manual and API documentation.
Oct-1999 - Jun-2006
SAP R/3 monitoring plugin for HP OpenView Operations for Windows, a leading application management suite
I worked in a team of about 5 other developers on this product for seven releases, with a release cycle of roughly one year. During that time, I covered various areas:
- Porting of X/Motif applications to Microsoft Windows NT 4.0, using Visual C++ 6 and Microsoft Foundation Classes.
- Bugfixes and enhancements to a huge pile of legacy multi-platform C code.
- Developed tracing and logging framework and library to be used throughout the product.
- Developed pluggable encryption and syntax verification components in DCOM technology.
- Implemented SAP discovery module in Perl.
- (Un-)installation scripts in Windows shell script and VBScript.
- Introduced unit testing in Perl and C++.
Ingo Karkat, 28-Mar-2009, last update 31-Aug-2012