James Wells
www.jameswells.net  |  james@jameswells.net

Senior Software Engineer

Summary of Qualifications:
Professional Experience:
Head of Engineering
National Silver Alert, Inc
April 2009-
Present
The National Silver Alert system is a way of helping families manage care for members with cognitive disorders. It is based around an online database of information to help find people who may become confused and wander off. The software itself is composed of three major parts
  • The web components and online database are built using C sharp and ASP.NET. The database itself it built on top of Microsoft's SQL Server.
  • There is a database synchronization server that allows corporate users to access the data to do order fulfillment and data analysis. This component is written in C Sharp using Microsoft's Windows Communication Framework.
  • The corporate software is used to fill orders and manage the data. This component is a desktop application written in C Sharp.
Senior Software Engineer
Marshal8e6
August 2007-
April 2009
Marshal8e6 is a leader in Internet and Content Security. They provide comprehensive solutions for email and web security. MailMarshal SMTP is used in more then 40% of the Global Fortune 500 Companies. During my time at Marshal8e6 I have worked with the MailMarshal team on the following projects:
  • MailMarshal SMTP. I was team lead for version 6.4.5 and subsequent releases. I have also been involved in creating numerous new features as well as increasing the product's robustness and stability.
  • MailMarshal Secure Email Server. This product is Marshal8e6's solution for secure email and S/MIME. I was team lead for bringing this new product to market.
  • McAfee for Marshal. This solution interfaces with MailMarshal to provide anti-virus scanning of email through the gateway. I was responsible for creating the systems to keep McAfee up to date with the latest anti-virus signatures and product releases.
  • Marshal Common Libraries. I led an internal project to create a set of shared libraries out of common functionality spread throughout Marshal’s products. This library helped reduce development and testing time by reducing the amount of duplicated code.
Senior Software Engineer
IPFX
June 2005-
August 2007
IPFX is a small, private company that builds VoIP solutions for call centers. My main project has been in architecting the access to the system's data. This has entailed a few layers:
  • A traditional database abstraction layer to allow access to the data objects without putting any constraints on the actual database software. This layer was built on top of the Oracle Template Library.
  • A C++ client application framework to allow for simple creation of remote C++ clients. This layer was used to abstract the network layer and allow for simple, asynchronous access to the data objects.
  • A C++ COM layer written to expose the client framework to Visual Basic and other COM friendly languages. Additionally the COM Interop system was used to expose this system to .Net friendly languages.
Independent Contractor
Self Employed
January 2002-
April, 2005
As an independant contractor I've undertaken work for small groups and worked on my own ideas. My client projects have been everything from small web pages to full applications. My three main contracts have been:
  • Developing a fingerprint matching system to use for access control and other biometric applications. This system was written in Object Oriented C++ and runs in Windows and Windows PocketPC.
  • Developing a child safety program. This program is used to collect information about children, including photograph and fingerprints, to create a form for their parents to give to police if the child should ever go missing. This system uses Object Oriented C++, MFC, XML, and ADO and runs in Windows.
  • Porting PerSense, a financial calculator, from DOS to Windows. PerSense was originally written and sold in 1992 and has enjoyed continued success since then. My project was to keep the existing financial logic and move it to a Windows interface that closely resembled the original DOS look and feel. This system was written in Delphi.

Software Engineer
Predictive Networks
April 2000-
September 2001
Predictive Networks is a company that provides private, targeted content to users on the internet and on Interactive Television. I worked in the backend and server group. My projects included:
  • Maintaining and extending the Content Delivery Server. This server was the backbone of the Predictive Network. It was written in Object Oriented C++ using the Win32 API as well as ODBC, TCP/IP, and STL. The server ran on Windows 2000 and I also ported it to Solaris.
  • Rewriting the ODBC database classes so that the system could scale up to the larger demands placed on it as the company grew. The new classes where written using C++ and ODBC.
  • Working with AT&T to create a user logging/monitoring server so that AT&T and Predictive Network could partner to bring Predictive Network's technology to AT&T's discounted internet service offering. This monitoring server was written using C++ with TCP/IP.

Software Engineer
IBM
June 1997-
March 2000
Worked with the Advanced Internet Technology group in Cambridge MA. The group's main objective was to create cutting edge Internet technologies to help push IBM products further into the Internet. My projects included:
  • Creating a CIFS server that was the center of the Sash back end tool kit. This system allowed developers to surface their file system in Windows as a common network drive. This tool kit was used in Lotus Domino and IBM's Visual Age for COBOL. This Server was written in Object Oriented C++ and made use of TCP/IP, NetBIOS, CIFS, and COM.
  • Creating components for the Sash front end tool kit. This toolkit allowed developers to quickly and easily create Windows UI components in simple DHTML. This work was mostly based on DHTML and Javascript.
  • Leading a group of summer interns in the first ever Extreme Blue program. We created a client server data store where clients could easily access and update data stored in a virtual space distributed amongst many servers. This project was cross platform, running on Windows NT, Linux, and AIX. It was written in C++ using TCP/IP.

Patent:
US Patent #6,988,101
Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system

Continuing Projects:
KlassModeler
The KlassModeler is a tool for class diagraming and documenting. The interface is similar to other UML tools, but with a tighter concentration on classes. It can read in and generate header files and HTML based documentation. The KlassModeler can be found at many open source websites. It is written in Object Oriented C++ using the wxWindows class libraries and runs in Windows, Linux, and BSD.

Rift
Rift is an ongoing project to create a space based video game. It is built on the REngine, another ongoing project of mine. The engine include libraries for rendering, sound, rigid body physics, and a windowing system. It is written in Object Oriented C++ using SDL, OpenGL, and OpenAL. It runs in Windows and Linux.

Education and Training:
Lehigh University, Bethlehem, Pa.
  BS, Computer Science, 1997
  Minor in American Literature
Computer Skills
Programming: C++, STL, Boost, ATL, MFC, OpenGL, OTL, and wxWindows.
Operating Systems: Windows XP/NT/2000/PocketPC and Linux.
Networking: Common Internet File System (CIFS), TCP/IP, sockets, and NetBIOS.