Thomas Bundy

Indianapolis, Indiana

View Tom Bundy's profile on LinkedIn


I am a software developer specializing in C/C++, C#, Java, and Visual Basic.

Availability I am available for onsite or remote contract work through my software development consulting firm, Gale Force Software Corporation, based in Indianapolis.


My background in software engineering started in the Cooperative Education program at Purdue University. On an alternating semester schedule, I gained valuable experience by working for Eastman Kodak in their Printer Products Division as a student engineer. This provided me with skills that I have used repeatedly throughout my career. Today, my expertise is in the development of systems composed of distributed objects over a variety of platforms.

My work experience includes over fifteen years of C programming experience, ten years of development in C++ and Java, and ten years of client/server and distributed computing experience. I have developed systems on Windows XP/NT/2000, Windows 9x and several flavors of UNIX, most notably Linux, System V, BSD 4.4, and AIX. I am highly motivated and work very well either independently or in groups. I have very good communication skills and am comfortable in front of clients.

My formal training includes advanced courses in the Common Object Request Broker Architecture (CORBA), seminars on Object Oriented Analysis and Design, and workshops on hosting Visual Basic for Applications (VBA).


Gale Force Software Corporation, Indianapolis, Indiana
March 2006 - Present

Principal, Software Engineer

Co-owner of a software development consulting firm. Ongoing projects include training on CMMI and infrastructure upgrade development and support.

The RND Group, Indianapolis, Indiana
January 2003 - March 2006

Senior Engineer

Responsible for development of the results export module, the assay sequencing module and the on-board fluids inventory module for an automated nucleic acid testing instrument that screens for a variety of blood-borne diseases. The export module provided a mechanism for the instrument to receive test requests from and to transmit test results to a laboratory information system (LIS) either via data files or using serial communication and the ASTM LIS protocol. The system was initially developed for Windows NT, was later deployed on Windows XP, and was localized to six languages. It was designed as a set of modular components, and implemented as COM objects using Visual C++ 6.0 and Visual Basic 6.0.

Developed a hotel high-speed Internet access system following the Linux-Apache-MySQL-PHP (LAMP) methodology. The system was designed as an open-source solution for hotels to provide high-speed Internet access to their patrons both in their rooms and throughout the common areas of the hotel. The system provided a tiered pricing structure that operated off of a rules engine that could be customized for each hotel. Configuration was via an administrative web interface. The system was implemented completely with open-source software including Fedora Core 1, Apache 2.0, MySQL 4.0, PHP 4, and GNU gcc.

Implemented an automated build process that integrated with Visual SourceSafe to perform builds on a scheduled basis. The process verified that newer changes had been checked into SourceSafe since the last build, checked-out all of the relevant code, built all of the affected modules and compiled the InstallShield project for each product. The build process used a combination of NAnt, NUnit, and C#, and featured integration with InstallShield's Standalone Build utility.

Developed a website for a wearable body monitor used to monitor weight loss progress. The body monitor was for sale directly to consumers, as well as being offered by physicians to their patients. The website consisted of an e-commerce site for the promotion and sale of the body monitors, an administrative site to allow physicians to view and organize their inventory of body monitors and a site that allowed users of the device to upload the data from their device, to customize their weight loss goals, and to track their progress toward those goals. The website was developed according to the J2EE architecture using IBM WebSphere with Oracle as the database platform. The development environment was Windows XP with WebSphere Studio Application Developer. The production environment was hosted on servers running the AIX operating system.

Developed an NT service to transfer data from a high-speed printing press management system to an industry standard reporting system. The NT service was written in Visual C++ 6.0, used Orbix 2.3 to access CORBA-based distributed objects, applied operational rules to the data that was retrieved and sent a translated data stream to the management system using UDP sockets. The operational rules were stored in a Microsoft Access database for ease of use at the client site.

Sallie Mae (formerly USA Group), Fishers, Indiana
August 1999 - December 2002

Senior Contractor

Extended the data retrieval system created earlier in this contract to use IBM's MQ Series to communicate to a central data engine. The new system uses a custom-designed C++ DLL that manages a pool of MQ client connections for synchronous request-reply communication. The data format is variable-length, text-delimited messages. There are eleven Windows NT servers spread across three geographic regions using this DLL to communicate with the central data engine. The central data engine is a stateless, multithreaded server written in Java running on four Sun Microsystems Enterprise servers. It uses CORBA-IIOP to communicate with the Legacy Integration Server (LIS) that was previously developed for access to Sallie Mae's customer databases.

Developed an application server that will contain the business objects for a distributed call center. The application server is written entirely in Java and is being designed with CORBA as the communication mechanism. The call center client application is a Visual Basic program that communicates with the server through CORBA-IIOP using a COM-CORBA bridge. The business objects in the server communicate with two mainframes, two Sybase databases and an Oracle database using the Legacy Integration Server (LIS) that was developed previously. The CORBA implementation is Iona Technologies' OrbixWeb.

Completed development started by another contracting company on a Legacy Integration Server (LIS), which is being developed as the standard access mechanism for data residing on USA Group's legacy data systems. It is a stateless, multithreaded system written in Java. It has a CORBA client interface and uses JDBC, fixed-length data records over MQ Series, and XML data through WebServices as the communication layers to the legacy databases. The server communicates with two mainframes using IBM's MQ Series, with Sybase SQL Server 11 and Oracle 8 through JDBC, and with a proprietary set of COM services through WebServices. The CORBA implementation is Iona Technologies' OrbixWeb.

Developed a set of applications to run under Windows NT Server 4 to allow an Intelligent Voice Response System (IVR) to access mainframe data via Sybase DirectConnect. The components are a custom DLL, written in Visual C++ 6.0, which communicates through shared memory to an NT service, also written in Visual C++ 6.0. The DLL has C-style entry points so that it can be called from non-C++ applications. The NT service is a multithreaded application which consists of a dispatcher thread to handle incoming requests and a pool of worker threads which interact with DirectConnect to fetch the data, perform business logic and return the results. This system was replaced with the MQ Series-based system mentioned above.

Baker Hill Corporation, Carmel, Indiana
August 1997 - August 1999

Software Engineer

Lead developer on a loan origination and approval system for the business banking industry. The core system is a client/server application written in C++ and MFC that uses either e-mail or Message Queues for communication and sits on top of an Oracle or Microsoft SQL Server database. The system can be tailored by the customer through the use of call-outs implemented in Microsoft Visual Basic for Applications (VBA). Tools include Microsoft Visual C++, MFC, ATL, Rogue Wave Tools.h++, Stingray Objective Toolkit Pro and Mystic River VBXL PowerPack. Platforms include Windows 3.11, Windows 95 and Windows NT.

Software Artistry, Inc., Indianapolis, Indiana
July 1995 - August 1997

Senior Software Engineer

Designed the next generation architecture for a suite of products based on distributed objects in C++ and Java with CORBA as the communication layer. Architecture allowed for a highly distributed environment encompassing clients and servers on a multitude of platforms including Windows NT, Windows 95, Solaris 2.x, AIX, and HP/UX. Tools included Microsoft Visual C++, Java, Object Space STL<Toolkit> and IONA Technologies Orbix, OrbixWeb and OrbixTalk.

System Administrator

Administrator for a small network of Sun workstations running Solaris 2.4 and HP 9000 workstations running HP/UX 10.x.

I-NET, Inc., Fairborn, Ohio
September 1991 - July 1995

Lead Software Engineer

Project leader for a DOS/UNIX based client/server system using multiple databases to track and manage Military Justice Proceedings for the United States Air Force. Tools included Microsoft Visual C++, GNU g++ and Informix. Environments included DOS, UNIX System V R4, SunOS 4.1.x and Solaris 2.x.


Developed a client/server application to support Item In-Transit Visibility for the U.S. Air Force Logistics community. The system tracked and displayed approximately 80 million Air Force and Commercial Carrier transactions per month. The entire system was written in C under Solaris 2.x.

System Administrator

System Administrator for several Sun servers running a combination of Solaris 2.3 and SunOS 4.1.x. Also supported one AT&T 3B2 running AT&T System V R4, one PC running Solaris x86, two Sun 3/50 diskless workstations, several X-terminals, IBM PCs and Macintosh PCs.

Eastman Kodak Company, Kettering, Ohio
August 1986 - August 1990

Student Engineer

Student Engineer under Purdue University's Cooperative Education Program. Developed many applications in C to automate testing of prototype hardware for ink-jet printers. Project leader for the design of a high-speed interface to synchronize multiple printers on a commercial printing press. Development was done in C under DOS, Windows, XENIX, and QNX.


Purdue University, West Lafayette, Indiana

Bachelor of Science, Computer and Electrical Engineering, 1991

[Main] [Resume: Thomas Bundy] [Resume: Deborah Schilling] [Contact Us]

Copyright © Deborah Schilling/Thomas Bundy