I am a senior-level software/embedded engineer with over 20 years of experience. Core skills include software development and integration on multiple O/S platforms including Win32, Linux, Solaris (and other Unix systems), and industry experience in many areas, including CTI, call centers and various embedded development environments.
I have extensive experience in the analysis, design, development and deployment of large-scale software projects and worked as a team leader on many projects.
PC Application Development Languages/Tools:
Embedded Application Development Tools
Microchip MPLABs, Hi-Tech PICC18, Metrowerks for Coldfire, Avocet 68HC11 Assember
CTI/Telephony/Call Center Technologies and Platforms
Aspect Portal/Contact Server (including media blending), Genesys Studio 6.5, Chordiant 5, Vantive, Siebel 6 & 7, Egain Web self-service, Nortel Symposium, Avaya ASAI Protocol, Nortel-Meridian Link Services Protocol, Cisco ICM-VRU Protocol, IBM CallPath, screen-pop/screen-scraping development for legacy applications.
Recent Work Experience and Consulting Projects 12/2004 – Present – Skyline Products, Inc., Colorado Springs, CO
Skyline Products manufacturers large DMS (dynamic message signs) for the DOTs (Dept. of Transportation) for use in traffic management and Amber Alert systems. As a senior embedded development engineer, my responsibilities as a team leader included design implementation, adherence to SDLC and ISO development practices and guidelines, software development and delivery of final software builds to QA engineers within the organization. In addition, I worked closely with many DOT staff engineers across several state organizations in insuring compliance with NTCIP (National Transporation Communication for ITS Protocol). During the course of my experience with Skyline, I implemented software for a wide variety of computer platforms (Window’s PC’s using C/C++ and .NET technologies, embedded Motorola and Freescale processor, Microchip 18FXXXX MCUs). In addition I worked with a number of communications protocols including HDLC, SNMP, I2C, SPI, and a number of Internet protocols. I have also designed and developed boot-loaders for both the Microchips and Coldfire platforms. And have written a number of FLASH/CFI based utilities for Spansion FLASH products.
My role as a senior consultant/developer included working with many Fortune 500 companies to design and develop CTI/Call Center systems to increase ROI. This consulting required advanced knowledge of many PBX/ACD hardware platforms including many CTI protocols (i.e. ASAI, Nortel/Symposium, Aspect AppBridge, CTC/Netmerge/CSTA, etc). Advanced skills were also required in many Internet protocols including HTTP/HTTPS, SMTP, POP3, SOAP, etc to enable media-blending of contacts coming into the calls centers. The following is a partial list of projects for which I was involved:
6/2004 - Present – Client: Nike , Portland , OR - Role of Genesys 6.5 IVR develop. Primas is providing design and development skills on the Genesys platform to build a complete set Speech Rec IVR applications. This role requires advanced knowledge of VXML, Apache Tomcat, JSP, HTTP/HTTPS as there are multiple interface to external data sources within the Nike network.
4/2004 - 5/2004 – Client: Regence Blue Cross/Blue Shield, Portland , OR - Role of primary consultant. Developed a custom desktop application, Aspect workflows and CCTs, in a multiple call center environment to support a customer IVR survey application.
3/2004 – 7/2004 – Client: Visa International, Owings Mills, MD - Role of senior developer. This is Phase 2 of the previous years development. My primary role was to port our CTI solution from the client-based, Siebel 6 environment to a server-base Siebel 7/Avaya PBX environment.
2/2004 - 4/2004 – Client: Intersections, Chantilly, VA - Role of primary consultant. Intersections required design and development skills to install an Aspect ACD and CSS/IVR in both of the call centers (Chantilly, VA and Rio Rancho, NM. I developed an ActiveX control that operated in both a thin and thick client environment and assisted Intersections with the integration into their existing agent desktop app.
12/2003 - 2/2004 – Client: Sempra Energy/SoCal Gas, San Dimas, CA - Role of primary consultant. The goal of this project was to replace the existing IBM Callpath CTI environment with a the Aspect CTI environment. Sempra Energy had an existing Smalltalk-based desktop application they wanted to keep with minimal or no modifications. I developed a custom DLL that interfaced with the Aspect CTI server, but presented IBM Callpath events and data structures to the existing desktop.
11/2003 - 1/2004 – Client: Xerox Federal Credit Union, El Segundo, CA - Role of primary consultant. I developed a web-based screen-pop application that integrated the Aspect CTI environment with Xerox’s Cyber-based financial applications. I developed two customer ATL-based ActiveX controls along with the web pages used by the Call Center agents. One ActiveX control wrapped all of the CTI API and events. The second ActiveX control was designed to interface with the XML-based, Cyber banking application. In addition to this development, several VB.NET applications were developed to maintain the call center agents and desktop machines as it supported unified login into the CTI server and Cyber server. In addition, I assisted in development of the Aspect CCT and ACD configuration requirements to support the CTI communications.
6/2002-11/2003 - Integration Technologies, Las Vegas, NV
This was a consulting company I created after the downturn in the economy following 9/11. The following is a partial list of projects in which I participated.
6/2003 - 11/2003 – Client: MGM/Mirage Resorts, Las Vegas NV – I was the principal developer and architect charged with design a SOAP-based interface between Expedia and the MGM/Mirage resorts hotel reservations system. This entire interface was developed and delivered using Microsoft’s SOAP/ASP.NET technologies and required advanced skills in handing raw SOAP/XML documents.
4/2003 - 6/2003 - Client: Desert Medical, Las Vegas NV – developed two custom medical-related software applications (surgical tray tracking and medical instrument repair tracking). Both apps were developed using VB6 included many ActiveX controls including ADO and a custom-built video capture control I developed in ATL/C++.
2/2003 - 3/2003 – Client: The Primas Group and Visa International (Owings Mills, MD) – assisted in the development and installation of a custom CTI control for Visa’s Siebel 6 CRM. This COM control re-used the Siebel Adaptive CTI control and the Avaya/Aspect CTI control. The development also required some configuration of Siebel 2000 and modifications to existing Siebel VB Scripts. The full installation included an Aspect CSS/IVR, Aspect CTI server, and Avaya PBX and Siebel 2000.
11/2002 - 2/2003 – Client: The Primas Group and HCA (Health Care of America) – customer required an Enterprise Reporting Application to consolidate data from multiple call centers. I developed a suite of Visual Basic 6.0 applications to consolidate call center data from 10 Symposium sites across the US into a single Microsoft SQL 2000 database. The Symposium/Sybase data was downloaded to a central Win 2000 server, modified to include Call Center Site IDs and retrieval timestamps.
12/2002 – 2/2003 Client: The Primas Group and Discover Cards – Discover cards required a CTI Protocol Analysis and Alert System. This application monitored their Meridian Peripheral Gateway servers and client IVRs to insure that all IVRs and gateway servers remained on-line and active at multiple locations. I worked with The Primas Group using their LinkScope Analyzer application to gain access to the raw network packets on Discover’s call center network
7/2002 Client: First National Bank of Marin Las Vegas, NV - Coded an application to allow a custom workflow server to talk directly to an Avaya Definity IVR. This interface was written entirely in C++ for the SCO-Unix O/S and used Avaya’s custom message-queue library for exchanging data with the IVR. A socket interface was developed to exchange Avaya variables in an XML-based data stream with workflow server.
12/1999-6/2002 – Advanced Information Systems, Las Vegas, NV
Senior consultant for AIS, primarily on Aspect CTI-based call center projects. Most of these projects required advanced knowledge of Aspect Call Center technologies and required 100% travel. The following is a partial list of my projects:
3/2002 - 7/2002 Client: Par3 Communications Seattle, WA - Developed a custom, TN3270 communications application in C++ for Par3’s Sun/Solaris 9 Unix systems to support outbound credit card collections for Citibank. Included Oracle DB access using OCI. The complete project was a multi-tiered system integrating Par3 IVRs with Citibank’s legacy mainframe applications. Advanced knowledge of 3270 Data Streams, TN3270, and multi-threaded Solaris development was required to complete this project.
10/2000 - 1/2001 Client: Carrefour Paris, France - Installed and configured Aspect's Multimedia Call Center system in a 300 seat call center in St. Etienne and Evry, France. This multimedia installation supported voice, email (using Egain) and web chat media. Developed a custom VB desktop application to control incoming media events. The desktop application included ActiveX controls for making agents available/unavailable, displaying incoming customer data (i.e. account number, etc), and real-time displays for monitoring the number of media events of each type in the queue. Custom workflows were also written to route media events to specific agents based product skills, language skills, and media skills
11/2000 - 12/2000 Client: SEMA Group Paris, France - Developed a custom VB desktop application to integrate with an Aspect Multimedia Call Center system. The desktop application allowed call center agents to control incoming media contacts and to monitor call center activity by media type. Also developed a custom ATL-based ActiveX control to perform screen-pops from Vantive CRM applications based on Aspect’s CTI events. I worked closely with SEMA to develop, test and train staff on the installation and use of the desktop application and ActiveX control.
9/2000 – 10/2000 Client: WebVan San Mateo, CA - Developed a custom Aspect multimedia adapter for the Aspect Enterprise Contact Manager. This adapter was needed to integrate the Aspect system to Webvan’s CRM software. All of the code was developed in Visual C++ and the Apache Xerces XML library.
5/2000 - 10/2000 Client: Puget Sound Energy Seattle, WA - Installed, configured and trained call center agents on the Aspect Multimedia System in a 150 client, call center in Bothell, WA. This installation supported voice, email, web chat media and fax media. The Egain email system was installed to handle email contacts. Aspect Contact Server software was used to support voice and web chat contacts. Developed a custom desktop application that integrated Puget Sound’s legacy mainframe applications (using Attachmate Extra) as well as a custom utilities CRM application (CLX) that required a DDE interface using XML messaging for screen-pop operations. The desktop application also integrated Aspect’s Winset ActiveX control and supported both local and remote Winset operations. Also developed several Aspect workflows/E-Flows to route media events to specific agents based on criteria including agents skills, utility type (gas, electric), agent priority, etc.
2/2000 - 5/2000 Client: Saks 5th Ave./Aspect Jackson, MS - Installed and configured the Aspect Workflow server in a multi-site call center configuration. The installation included coding of a custom screen pop application in VB6 using the Aspect Application Bridge ActiveX control and the Attachmate Extra 6.5 ActiveX control. The screen pop application accessed multiple host sessions S/390 3270 and AS/400 5250 host sessions. The application was coded to perform blind, consultative and agent-to-agent transfers. Additional programming was performed using MS SQL Server 7.0 to automatically import ASCII text data. This work included coding a custom MS-SQL Server Agent to schedule jobs. MS-DTS was used to create custom scripts to convert and import text data from several Saks mainframe applications into a MS-SQL Server database
1995-1997 Interactive Flight Technologies Phoenix, AZ
Full-time Employee– Team Leader
Designed and coded software applications for a 300+ seat in-flight entertainment system for European air carriers. I supervised and mentored a team of 5 developers to fast-track the development of the original design. The system included VOD (video on-demand) and casino gaming applications in a client/server environment. All of the software was written in C++ using Microsoft Visual C/C++. The system was multi-threaded and required advanced synchronization skills. ODBC was used to perform all database operations. Developed advanced multimedia libraries to provide features which included sprites (8-bit and 24-bit), MCI controls for MIDI and AVI playback and low-level WAVE device controls. Also developed raw-block disk-to-disk copying applications for both IDE and SCSI-based drives.
1993-1995 Fortunet, Inc.
Full-time Employee – Team Leader
Designed and coded various casino gaming applications to run in a local area networking environment. All of the software was written in Borland C for the Windows 3.1 environment running on a Novell 4.x LAN. All network communications were performed using IPX. I also developed several graphics animation libraries for this company to enhance the user experience for the gaming players. This system also required the development of many interfaces for hardware devices such as coin hoppers, bill/coin acceptors, etc. Communications to these devices were supported with embedded controllers (Intel 8052s) using I2C over fiber-optics. Implemented PVCS for software version control.
1992-1993 Sports Gaming Software Milwaukee, WI
Full-time Employee – Software Developer II
Designed and developed software applications for a video lottery system. The system provided hi-resolution graphics and terminal emulation on MS-DOS PCs. Extensive work was performed in DOS-based graphics, dial-up serial communications with error-free protocols, scripting languages and multi-user database access on the UNIX host using Informix C-ISAM. All source code was written in C for both the MS-DOS and UNIX platforms.
1986-1992 Vegas World Hotel and Casino Las Vegas, NV
Full-time Employee, MIS Director
I was responsible for supervision and training of the IT department (approximately 10 employees). I was additionally responsible for all phases of budget, equipment analysis and acquisition, and the custom software development needs. I installed a large Unix networking system with multiple servers (AT&T 3B15s and 3B2/1000s) to support the call center, hotel frontdesk and room reservations. Developed a number of custom applications including a hotel property management system, interfaces to InfoGenesis POS, Safelock hotel key system and a NEAX PBX. Also developed a slot machine accounting system with an integrated coin scale interface. All applications were written in C and utilized an Informix ISAM database. SCCS was used for version control.
Additional Training: 4/2004 - Developing Microsoft Speech Server Applications – Intervoice, Plano, TX 6/2003 – Developing Chordiant 5 Application Components – Merit International, Brentford, UK 7/2000 – Aspect Multimedia Installation and Configuration – Aspect Communications, San Jose, CA 5/2000 – Microsoft SQL Server 7.0 Implementation – Executrain, Las Vegas, NV