Resume

SUMMARY

Generalist software developer with a focus on front-end development, with experience in Windows desktop, native iOS, and mobile/web environments, as well as middle-tier and cloud-based services work. Industries include scientific and medical instruments, data visualization tools, and educational games.

LANGUAGES & ENVIRONMENTS

  • C# and .NET Framework with MS Visual Studio .NET
  • C & C++ with MS Visual Studio 5 & 6; MFC & ATL
  • Objective C/C++ with XCode; CoreData, CoreGraphics, and CoreAnimation libraries
  • HTML5, CSS3, JavaScript & TypeScript; Angular 2+ and Ionic; some AngularJS & Cordova
  • Microsoft Azure, AAD, ADAL; IIS & ASP.NET, OWIN
  • MS SQL Server & SQL Azure with Entity Framework; some Oracle
  • MS-DOS, MS Windows, and Windows Server; some MacOS & iOS & BSD
  • Prior experience with xBASE and Visual FoxPro; VB6, VBA, and other BASICs; 80×86 assembler; PostScript & PDF; SCO Unix, Pick, DEC PDP & VAX/VMS, Novell NetWare

EMPLOYMENT HISTORY

Cantus Firmus, LLC (Oakland, CA) – Partner / Technical Lead

August 2016 to Present

Independent development of mobile and web/universal applications:

  • Adapted a printed educational card game into an interactive iPad application, with touch-based exercises, custom animations, in-app purchases and downloadable content.
  • Prototyped web apps with Ionic, Angular, and Google Firebase, including a multimedia daily meditation reader and an airport finder with GIS data from Google and ESRI.
  • Currently developing a web application for learning music theory, with basic musical staff notation and real-time pitch analysis of the user’s singing voice using the microphone.

OSIsoft, LLC (Philadelphia, PA & San Leandro, CA) – Senior Software Developer

January 2012 to July 2016

Team member on applications and services related to the company’s proprietary historian, the PI System. (Note: related to my previous employment at Omicron Consulting; see below.)

  • For an iPad data viewer application, I focused on data caching with CoreData, background updates, and extending the unit testing framework to support automated acceptance tests with formatted output, screen captures, simulated events, and intercepted web requests.
  • Designed classes for a middle-tier service to transform input search criteria into URIs for a back-end search provider; optimized processing and cross-tabulation of results back to the client; added a self-hosted server to intercept HTTP requests for testing.
  • For an Azure-based cloud product, I focused on user and resource management with Active Directory, authentication, messaging, and storage.

Thermo Fisher Scientific (Philadelphia, PA) – Senior Software Engineer

August 2006 to January 2012

Mainly front-end development on desktop chromatography and other applications in the informatics division. (Note: hired permanently from contract position at Syncro; see below.)

  • Extended Agilent 1100 instrument controller to support autosampler wellplates and 1200 series with new data format; redesigned the real-time monitor/control UI to accommodate a much greater number of data and setpoints.
  • Technical lead for subcontractors on other LC and GC instrument control projects.
  • Designed sample sequence editor and related functionality for a new version of our CDS in .NET; Agilent 1100 work above used as the basis for all instruments in the new system.
  • Wrote base classes and C++ templates to enable rapid development of numerous file importer plugins, supporting a wide variety of formats from different manufacturers.

Syncro Technology Corp (Langhorne, PA) – Developer (Contract)

May 2005 to August 2006

Maintenance and new functionality for various scientific and medical instruments:

  • Enhancements to an instrument controller for the Agilent 1100 diode array detector to support multi-channel and spectral acquisition.
  • Prototyped addition of BIS/EMG and spirometry data to a patient monitor, using C++ and a custom simulator.
  • Helped modify autosampler control software in VB6 for an immunoassay analyzer system, to support an external manufacturer’s instrument.

Omicron Consulting, Inc. (Philadelphia, PA) – Developer

May 2000 to January 2005

Consultant on a number of different projects, primarily for our client OSIsoft, LLC (see above):

  • Modified archive classes and VBA integration hooks to support bi-directional file version compatibility in an MFC application; project lead for a closely-related ActiveX control.
  • Prototyped an early mobile application (PocketPC) for viewing web-hosted SVG files using Microsoft eMbedded Visual C++ and a third-party control.
  • Worked on initial version of a web-based data viewer using Microsoft SharePoint, with JavaScript and XHR for dynamic updates.
  • Overhauled in-house automated build system using VB6, SQL Server, and Visual SourceSafe client.

Prior Employment History – 1985 to 2000

Developer and senior developer at several telemarketing/telephone services companies in the Philadelphia region:

  • DBMS for leads and reporting, mainly using various releases of FoxPro.
  • Scripting for both custom and commercial diallers, both preview and predictive systems.
  • Involved in hardware and network maintenance as needed.

EDUCATION

High School: Performing Arts School of Philadelphia, 1981-85

University:New York University, Tisch School of the Arts, 1986-87. North Carolina School of the Arts, School of Design and Production, 1989-91