Summary of Technical Skills
Web Design Experience
Description of Full Time Work
How to Contact Andrew Kelly
View Home Page

Download:
Resume.doc

Download:
Resume.txt

Visit:
akelly.com



Consulting and Contract Work Experience



Volcano Corp., Rancho Cordova, CA (1/2011 - present)
Working on the next generation of Volcano's Intravascular Ultrasound (IVUS) system in the area of the Acquisition Engine (AE), developed instrumentation for the existing code interface to the IVUS hardware, new plugin libraries to interface between the AE and Volcano's proprietary hardware, as well as an emulation plugin for the AE to facilitate accelerated development as well as testing. Technologies used: Visual Studio 2005, 2010, C++, STL, boost libraries (including threading), Qt, CMake, Perforce source code control (p4), a Volcano-proprietary ORB-based RPC mechanism, as well as porting to Linux (g++, STL, boost, CMake, p4).


Cisco Systems, Inc, Milpitas, CA (1/2010 - 9/2010)
For the Cisco TelePresence CTMS group, responsible for developing infrastructure features and the implementation of critical bug fixes in the media layer of the product, as well as in other components. Technologies used: C++, C, pthreads, STL, boost objects, TCP/IP.


Intel Corporation, Folsom, CA (6/2009 - 1/2010)
For Firmware Validation Engineering, responsible for developing automation infrastructure and toolkits for testing the Intel chipset BIOS/firmware. Technologies used: C#, .NET, WMI, MediaTester, HTTP, TCP/IP.


BMC/Remedy, Sunnyvale (1/2006 - 4/2006)
Performed bug fixes and enhancements for CMDB (BMC Atrium Configuration Management Database), and the product's build environment. Technologies used: Visual C++, ANT.


Nortel Networks, Santa Clara (6/2003 - 8/2003)
For the User Interface group, implemented front-end Web based enhancements and bug fixes for the Alteon Switched Firewall, SSL Accelerator, and Wireless Security Switch products. This involved programming in PHP with a Zend interface to a proprietary back-end technology. Technologies used: C/C++, PHP, the PHP Zend module, HTML, Javascript, as well as additional proprietary Nortel technologies. (These web sites are used by the network administrators of Nortel's customers).


Andrew Kelly & Associates, San Jose (1/2003 - 5/2003)

Designed, developed, and implemented a web-based client/server architecture to support automatic (Windows) PC software installation and upgrade via http transactions over the Internet. At the present time (4/2003) this software has been installed on close to half a million PC's in the US and overseas. Technologies used on the PC: Wininet.dll, extensive use of the Windows registry API functions. On the server: Linux with Apache httpd, PHP4, MySQL.


Andrew Kelly & Associates, San Jose (9/02 - 1/2003)

Designed and developed a store-front and warehousing web site that allows a novice user to build an online inventory of categorized products with search capabilities. The site supports image uploads, data entry into the item/part database, search by location and category, user administration with multiple security levels (implemented using the PHP4 session level mechanisms), and simplified inventory tracking. The site was developed under Linux, and was implemented completely with PHP4 and MySQL, running under Apache 1.3.


Hewlett Packard (at Siebel Systems, Inc), San Mateo (1/02 - 4/2002)

Ported the full set of Siebel CRM applications from Solaris and AIX to HP's HPUX 11 operating system. This included the operating system specific code that handles multi-threading server applications, dynamic loading of shared libraries, and migration of the product to multi-byte character strings. Technologies used include Mainsoft MainWin, RogueWave Standard Template Library (adopted by HP for HPUX 11), string objects, Apache 2.0 plugins, and many 3rd party integrated software products. Source code control used: Softbench/HMS and Clearcase


Agilent Technologies, Santa Clara (4/2000 - 10/2001)

For the CMDS-IT organization (Document Conversion Center), designed and implemented a publication file upload site implemented on a WIN/NT based IIS (Internet Information Server) using HTML and Javascript running under Active Server Pagers (ASP) scripts using MS VBScript.

For the LitStation development group, designed and implemented an Administration Web Site to be used by LitStation support personnel around the world to view/cancel literature orders, view/update database tables, monitor the run-time operation of the LitStation server system (a network based hard-copy and electronic literature ordering and distribution system), and view log files generated from the dozens of server applications on the production system (C++/CGI, Javascript, HTML, XML). This included the development of a C++ object library facility to handle HTML FORM data submitted by the site to the LitStation database using XML data, utilizing the public-domain CGICC library (C/C++), EXPAT, and qDecoder, as well as C/C++ with Embedded SQL to facilitate the database updates (ALLBASE).

For the LitStation development group, designed an implemented a file upload site implemented on an HPUX Apache based server, using CGI scripts (sh, C/C++, qDecoder), HTML, and Javascript. This site included user authentication, as well as an additional web page for user administration to control access -- granting and revoking user access permissions, allowing self registration, and registration notification using email.

Facilitated the migration of the LitStation Server and associated applications from the Hewlett Packard site in Atlanta to the new Agilent Technologies site in Colorado Springs. This included cloning and splitting dozens of applications implemented in C++, Allbase E/SQL and ISQL using multi-threaded DCE/RPC, as well as Unix Shell, Awk, and Perl scripts.

The effort also included the complete setup of the product's software development environment, including source code control (using HMS) for the Unix (HPUX) based server applications, as well as the PC (Windows 32 bit platform) based LitStation Client application. Designed and implemented applications to load multiple (ALLBASE) databases with literature-related information submitted to LitStation. This included the development of a C++ object library facility to parse and process the XML-based data utilizing the public-domain EXPAT library.


Andrew Kelly and Associates, San Jose (10/99 2/2000)

Designed and implemented an E-commerce site for Andrew Kelly and Associates (an online store for fine art and photography) with a fully functional shopping basket and checkout facilities for electronic credit card and purchase-order sales, using secure SSL transactions. The site also featured a fully automated administration interface that allowed the creation and update of product pages and photos. This site was implemented on Best Internet's E-Commerce servers, using the Stronghold (Apache based) Web server (FreeBSD Unix, CGI, C/C++, PHP, Javascript, sh, awk ).


Agilent Technologies (formerly HP), Santa Clara (7/99 - 3/2000)

For the TMO-IT organization (Market URSA project), designed and implemented a DLL (Dynamic Link Library) for Microsoft 32-bit platforms (WIN NT 4.0, WIN 95/98) for interfacing with the LitStation server (DCE/RPC protocol). The DLL handles login/logoff security protocols, submits orders for hard-copy literature, and obtains status for previously submitted orders. (MS Developer Studio/Visual C++ 4.0, C, MS DCE/RPC).


Hewlett Packard, Cupertino (3/97 - 5/99)

For the Direct Marketing Information Systems group, developed a tool-set environment for use by the LitStation development group. This included a C/C++ object library, and a complete build-environment interfaced with a network-based software source code control system. Some of the software objects designed and implemented included C++ string objects, a set of C++ collectable template base objects, and a complete set of associated stream objects to allow data, machine, and network independent transfer of objects to and from client and server applications (object brokering).

For the Direct Marketing Information Systems group, was responsible for the migration of the LitStation server, the Electronic Literature Submittal System (ELSS), and other associated multiple Allbase (RDBMS) applications from HPUX 9.0 to the HPUX 10.2 operating system. This system includes multiple Unix-based applications running in a multi-threaded environment using multiple DCE/RPC interfaces, sockets-based file servers, and Allbase database applications running in unison. It controls the submittal and distribution of electronic literature within the various HP sales organizations using formats suitable for faxing, printing, and on-line viewing. It also handles the actual ordering and delivery of sales information and manuals in-house, as well as to customers. (HPUX C/C++, HPUX 9.X/10.X, Pthreads, HPUX DCE/RPC, TCP/IP ALLBASE).

For the Direct Marketing Information Systems group, was also responsible for the migration of the LitStation PC client from the 16-bit Windows 3.X implementation to the 32-bit Windows 95 and NT operating systems. This included rewriting significant portions of the client, as well as redesigning and rewriting three MFC applications to use industry standard C++ objects with the Windows 32 bit API, eliminating the need for using MFC. (ISA Dialog Manager, MS Developer Studio/Visual C++, C, MS DCE/RPC).


Wells Fargo Bank, San Francisco (9/96 - 2/97)

For the Mondex Development Group, was responsible for the design and implementation of the software infrastructure connecting Mondex interface devices to the various bank systems that provide authorization, account information lookup, value management, and value transfers to and from the bank purses and the consumer's Mondex device. (Mondex is an electronic cash-equivalent technology, which uses an IC on a credit card-like device recognized by ATM's and other Mondex-compliant devices). The distributed infrastructure was designed using object oriented methodology, and implemented using C++ and Rogue Wave Tools.h++ objects, and the C++ Standard Template Library. The system integrated clients and servers running on a wide array of PC platforms (WIN 95, WIN NT, OS/2), a Unix based Value Management System running on an HP system (HP/UX Rel 10), and the main interface architecture running in the Tandem Non-Stop Kernel OSS environment. (C++ on Tandem OSS, C with Tandem Tuxedo environment, Rogue Wave Tools.h++, Borland C++ (R5.0), HPUX Oracle).

In addition, participated in the PACE project, writing database application code for HPUX 9, using C, with Informix Embedded SQL.


Tandem Computers, Cupertino (2/96 - 9/96)

For the TS/MP QA Software Development Group, was responsible for the migration of the test tool development group from using proprietary Tandem software architecture, to an object oriented, portable, and modular design of test system tools that run under the Tandem operating system, as well as Windows NT, potentially using a variety of client/server protocol architectures. This included the design and implementation of a client/server model that streams object collections between the various clients and servers in order to get the appropriate tasks executed, using the Rogue Wave Tool.h++ collectable object architecture, as well as C++. In addition, conducted weekly classes for the test tool development team to complement their knowledge of C++, Rogue Wave Tool.h++, as well as object oriented design and programming methodologies. (Tandem Guardian/OSS environments, SUN workstation cross-development environment using HP/Softbench for Tandem, C, C++, Rogue Wave Tools.h++, Windows NT, Microsoft Developer Studio for Windows NT, C++ Message Streams for Tandem and/or Windows NT).


Hewlett Packard, Cupertino (6/95 - 10/95)

For the Financial Services R&D Group, was responsible for the porting of the Financial Infomation Exchange (FIX) Protocol client, library and toolkit from the Sun Sparc workstation to HPUX 10.0 on the HP 9000/800 series. This included the portation and implementation of a public key encryption subsystem (RSAREF, PKCS) from the Sun workstation to HPUX. Also, was responsible for the design of an object oriented C++ based FIX communications server for HPUX for TCP/IP based networks. (C, C++, HPUX 10.0, FIX, TCL, PKCS, RSAREF, TCP/IP sockets, rpc).


United Airlines, Maintenance Operations Center, SFO (11/94 - 5/95)

For the Engineering Maintenance Systems organization, designed and implemented a fully functional Security Access Facility (SAF) for Qadrant's Distributed System Infrastructure (DSI) environment. The SAF was implemented as a Unix based multi- threaded daemon running under HPUX 9.01, providing full access to a Sybase network server, and implementing revolving Session Audit logs. The SAF daemon was implemented in C++ using object- oriented design, providing authentication and authorization facilities to DSI processes running on a distributed file system (AFS), to access network-cell based secure resources. The implementation included an API (C/C++) which interfaces over UDP/IP to the SAF daemon for local as well as foreign-cell DSI sessions. The design included facilities for ease of portation to the DCE Distributed File System using Kerberos V5 authentication. (C, C++, Rogue Wave Tools.h++, HPUX 9.01, AFS, DCE, Motif/X11, UDP/IP).


Hewlett Packard, Santa Clara (3/94 - 10/94)

For the Direct Marketing Information Systems group, was responsible for the development of the User Transanction Logic API layer of LitStation (a client-server application for PC/Windows and Unix/Motif). This included implementing the migration of the LitStation network interface from standard Sockets to the Microsoft Windows Distributed Computing Environment Remote Procedure Call (DCE/RPC) interface, adding functionality to the product, and bug fixing (ISA Dialog Manager, MS Visual C++, Unix C++, C, DCE/RPC, HPUX 9.01, Motif/X11)


Saber Technology, San Jose (1985)

Designed and implemented the boot-PROM firmware for the NSC-32000 based color graphics workstation (C, NSC-32000 assembler, BSD Unix V4.2)


Sky Computers, Lowell, MA (1985)

Designed and implemented an array-processor device driver for BSD Unix on the SUN workstation (C, 68020 assembler, BSD Unix V4.2).


Codata Systems, Sunnyvale (1984-1985)

Ported Unix System V onto the MC68010/MBUS- based Codata computer system. This included the design and implementation of the Unix kernel MMU code, as well as serial and disk device drivers (C, Unix System V).

Designed and implemented the boot-PROM firmware and "standalone" environment for the Codata computer system (C, 68010 assembler).