Skills Summary
I have twenty years of professional software development experience, over half of which has been
as a consultant. The consulting profession has offered many opportunities to change projects, rapidly
come up to speed on new environments, and make contributions to the teams with which I've worked.
I enjoy learning from the development teams with which I work and sharing my experience with my team members.
My strongest technical skill is C++ development on Windows. I have current professional experience
with the .NET platform using both the C# and C++ programming languages. I am experienced in the
development of mission-critical, multi-threaded application libraries and services, stand-alone
graphical applications, utility applications, server-side applications and services, APIs, business
logic, and web applications. I have extensive professional development experience with C++, C#, C,
HTML, XML, XSLT, DHTML, and JavaScript.
Employment History
SYSGENS, Inc.
Duluth, Georgia
January 2003 - Present
Programmer/Analyst, contracted to NCR Corporation
-
Developed a COM library to allow NCR's
General POS Solution for Restaurants
to use the NCR PSX user-interface library as its new UI. The library wraps the flat C-style API of PSX to provide a
more typical hierarchical object library to the POS. The library also provided the ability to script the POS via
JavaScript or VBScript, and is callable from applications written in .NET.
-
Developed a Windows CE handheld application to allow remote ordering from handheld
devices to NCR's General POS Solution. The application communicates wirelessly with the POS and
displays a remoted UI using NCR's PSX user-interface library.
-
Designed and developed a new graphical user interface for ACS using
NCR's PSX user-interface library. Wrote interface layer in C++ for
Windows XP Embedded platform; integrated JavaScript into ACS user interface
configuration using Windows Scripting Host;
developed COM UI object model callable from JavaScript.
-
Updated and maintained integration of NCR's FastLane Self-Checkout system with ACS
point-of-sale system, using C++, Managed C++, and C# on Windows platforms;
provided consultation to FastLane developers on ACS technical issues.
-
Specified, designed, and developed integration of
Matthias MoneyBoard
coupon kiosks with the ACS Consumer Marketing solution. Development included
components for .NET 1.1 written with Microsoft's Managed Extensions for C++, as
well as native C++ and C components.
-
Designed and developed a kiosk application to allow customers of
Smart & Final to obtain
reprinted reseller receipts. Developed web UI kiosk application hosted in Internet Explorer 6 on
NCR kiosk hardware; back-end application was hosted on IIS 6.0 and written in C# for
the .NET 1.1 platform.
-
Developed a graphical tool targeted for retail
application integrators to create and maintain screen
layouts in ACS, written in Microsoft's Managed Extensions for C++ for the .NET 1.1 platform.
-
Developed a component to connect NCR consumer-marketing
system to DB2 database for Sobeys. Developed for
Windows 2003 Server in C++.
-
Integrated NCR ACS with IBM's retail self-checkout system for
Whole Foods stores.
-
Performed programming support duties for NCR's
ACS point-of-sale systems, both platform and
application.
-
Ported C-language UNIX socket server application to C++
on Windows Server 2003. Multi-threaded winsock
application accepted connections from multiple clients,
used named pipes to route requests to other back-end
processes, and returned information to clients.
-
Wrote C++ UNIX server application for NCR retail
point-of-sale back-office server to process
incoming rain check records and add them to POS rain
check database. Ported same application to Win32-based
ACS back office.
Seattle, Washington
March 2002 - December 2002
Application Developer
-
Developed a web-based administrative interface for an
add-on to Microsoft's SharePoint Portal Services. The
administrative application is written in ASP.NET with
the C# language. Targets modern browsers including
Internet Explorer 6, Mozilla 1.0, Netscape 7, and Opera
6. Connects to back-end data via a web service
interface.
-
Developed and maintained an intranet quiz application,
webQuest, for Microsoft's InfoWeb2 intranet
site. Application tracks unique users by NT domain ID
and keeps individual score. Provided secure
administrative interface for quiz creation and editing,
reporting, and maintenance. Server-side ASP application
written in VBScript with SQL Server 2000 database
back-end.
-
Developed an offline, CD-based version of the webQuest
quiz application targeted for Internet Explorer 5.5 or
higher. Quiz data is held in Access database opened from
client-side browser code, and user progress is stored
with the Internet Explorer UserData default DHTML
behavior.
-
Designed and developed a Win32 graphical application in
C++ to allow webQuest administrators to extract quiz
information from a SQL Server database and place it into
an Access database for the offline version of the
webQuest quiz application.
-
Developed client-side browser controls, including a
sortable table and an expandable folder control,
targeting HTML 4 and DOM 2 browsers, for both ASP and
ASP.NET applications. Client-side script written in
JavaScript, server-side ASP in JavaScript, server-side
ASP.NET in C#.
-
Investigated the conversion of web applications
developed by Vorsite from ASP to ASP.NET. Served as
liaison to Vorsite's client at Microsoft to coordinate
conversion of applications.
-
Developed and maintained various ASP pages related to
SharePoint Portal Server content used in the production
of Microsoft's InfoWeb2 intranet site.
-
Designed and developed C++ Win32 graphical utilities
related to various intranet development and maintenance
projects.
Contract
-
Developed an NT service in C++ to periodically extract
document information from Microsoft's SharePoint Portal
Server document management system and populate an SQL
Server database used in the production of content for
Microsoft's InfoWeb2 intranet site.
-
Built a search engine for an offline, DVD-based version
of Microsoft's InfoWeb2 intranet
site. Project involved creating a tool in Visual C++ 7.0
(Visual Studio .NET) using ADO to populate an Access
database of keywords associated with URLs, and creating
DHTML pages with HTML 4 and JavaScript to allow users to
search the database. Other responsibilities included
writing the DVD's installation and auto-start program
(autorun.exe) and several ad-hoc utilities related to
creation of DVD content, and assisting with testing and
debugging of DHTML content.
Bellevue, Washington
January 2001 - November 2001
Senior Design Engineer
-
Designed, and implemented through alpha version, server
products for the wireless Internet industry. Software
entailed parsing WML, cHTML, XHTML, and HTML documents
for embedded tags and processing instructions and
executing code associated (via XML configuration) with
the embedded tags/PIs. Examples of such processing
include a simple server-side scripting engine using
JavaScript connected to server-side Java objects, and
database lookup and retrieval mechanisms associated with
user sessions. Wrote modules in C and C++ to integrate
server software with Apache version 1.3 and Microsoft
Internet Information Server version 5.
-
Implemented XML-RPC specification in Java to support
integration of Java server code with multiple web
servers via an RPC interface.
-
Created implementation of Java Servlet 2.2 specification
to support tag/PI parsing engine and XML-RPC server.
-
Created SAX parsers for tag/PI processing, document
creation, XML-RPC request and response processing, and
configuration file parsing.
-
Cooperated with other developers in the design,
implementation, and testing of Intava Gravity 1.0, an
environment for editing and publishing of wireless web
applications.
Duluth, Georgia
January 2000 - December 2000
President
-
Created web host pages for Java applet-based system, Witness Systems'
eQuality Release 6. Developed a Java servlet system to
separate complex JavaScript validation logic from
presentation markup, as well as to ease cross-browser
web page development, via server-side processing of
XHTML web pages containing custom design tags residing
in a separate XML namespace. Browsers targeted were
Netscape 4 and Internet Explorer 5.
-
Created Java servlet to generate report data selection
forms for browser-based application, using XSL
stylesheets to format output of XML data. Output of the
report form was sent to Actuate reporting engine.
SYSGENS, Inc.
Duluth, Georgia
February 1994 - December 1999
Programmer/Analyst
-
Participated in analysis and design of an NCR consumer
marketing system targeted for Windows NT 4.0/Windows CE.
-
Participated in analysis, design, and development of
ActiveStore-compliant retail application components in
Microsoft Visual C++ 5.0, using ATL 2.1. Components
include ActiveX/COM objects as well as C++ class
libraries on Windows NT 4.0.
-
Performed programming support duties for NCR's ACS
point-of-sale systems (formerly called Unity), both
platform and application.
-
Performed on-site development for a Netherlands-based
grocery store chain, Albert Heijn, which uses NCR
equipment and NCR's ACS software platform. Upgraded the
Albert Heijn point-of-sale application to support NCR's
ACS 1.1+ platform.
-
Added a new user interface to NCR's ACS
(formerly called Unity) Checkout Application version 2.0
to support a new point-of-sale input device, the 7450
DynaKey. Participated in technical design, development,
support, and training for the new interface through
versions 2.0 and 2.1.
PC DOCS, Inc.
Tallahassee, Florida
January 1993 - February 1994
Developer I
-
Performed analysis and implementation of software
designs for PC DOCS version 4.2 and 4.3. Developed
applications with Microsoft C 7.0 using the C-Worthy
user interface, Novell Btrieve, Netware C Interface, and
the WordPerfect API. Performed maintenance on existing
code base. Served as technical liaison to
customer-support department and provided on-site
technical support when necessary.
Support Specialist
-
Answered customer-support calls, developed utility
programs in Microsoft C 7.0 for specific customer
requests, solved product compatibility issues, and
provided on-site customer support.
Executive Office of the Governor
Tallahassee, Florida
August 1988 - January 1993
Computer Programmer Analyst
-
Performed programming and analysis duties for
Legislative Appropriations System/Planning and Budgeting
Subsystem (LAS/PBS), wrote applications in MVS/ESA
environment in Natural 2.1 with ADABAS database,
maintained existing COBOL applications, and wrote and
maintained related JCL.
Computer Programmer
-
Worked in the Personal Computer Support unit developing
and maintaining PC-to-mainframe data transfer utilities
in Microsoft Professional BASIC to create Lotus
spreadsheets from mainframe-resident state budget
data. Developed a character-based, windowed user
interface for use in transfer utilities. Wrote related
Windows applications with Microsoft Visual Basic 1.0 and
Borland C 3.0. Maintained office PCs, and installed and
evaluated PC software. Performed limited administration
duties on a 25-node Microsoft LAN Manager network.
Senior Word Processing Systems Operator
-
Performed word processing and other related clerical
duties, converted office documents from mainframe text
editor format to WordPerfect 5.0/5.1 format, and worked
with office spreadsheets in Microsoft Excel. Developed a
time tracking system with Excel's macro language.
Other Personal Services
-
Performed word processing duties, answered telephones,
and delivered correspondence.