Co-founder | Software Engineer
2019 - PRESENTSHAES Farm- Co-founded and developed an organic smart farm to act as a test bed for the development of technology used to support small-scale agricultural production.
- Built software and hardware to automate farm production.
- Developed web-based tools to plan and manage farm production.
Technologies: JavaScript, Node.js, C++17, Express.js, React, Embedded C, MongoDB, CSS3, HTML5, GraphQL, Git, Back-end, Back-end Development, Microservices, Basalmiq, JavaScript Charting, CSS, TypeScript, APIs, Agile, Jira, Front-end, Web Applications, Full-stack, Tailwind CSS, MUI (Material UI), Next.js, Front-end Development, Apollo, REST APIs, Networking, Test-driven Development (TDD), AuthSoftware Engineer (Contract)
2012 - 2018AccuOSS- Developed a gateway to synchronize purchase orders, inventory adjustments, and fulfillments between the central warehouse and locations across the client's distribution network.
- Created a library to parse thousands of metrics across hundreds of disparate types of satellite sub-systems and produce a normalized format suitable for import into downstream monitoring tools.
- Built an object-relational mapping tool to define or retrieve a schema from the data dictionary and produce platform-neutral models. Provided a plug-in architecture to map the schema to any database type, vendor, language, or framework.
Technologies: Node.js, Express.js, C++11, MongoDB, PostgreSQL, Mongoose, Sequelize, Microsoft SQL Server, REST, Ext JS, JavaScript, Back-end, Back-end Development, Microservices, Basalmiq, APIs, Agile, Jira, Front-end, Web Applications, Full-stack, Front-end Development, REST APIs, Networking, Test-driven Development (TDD)Software Engineer (Contract)
2008 - 2011Cricket- Delivered a real-time data retrieval and storage system used to process network availability information received from monitoring hardware that kept track of the health of Cricket's entire cellular network.
- Developed Unix services in C++ to process over a billion call detail monthly records received from GENBAND hardware and store them in a PostgreSQL database in raw and aggregated forms.
- Created a user interface in Ext JS and PHP to allow operations staff to browse availability data, track network problems, and produce reports for the executive team.
Technologies: JavaScript, Ext JS, PHP, HTML, REST, C++98, PostgreSQL, Solaris, Apache, Back-end, Back-end Development, JavaScript Charting, CSS, APIs, Agile, Front-end, Web Applications, Full-stack, Front-end Development, REST APIs, Networking, Test-driven Development (TDD), AuthSoftware Engineer
2003 - 2008NaviNet- Maintained and extended core applications used to process healthcare insurance claims and reports.
- Designed HTTP-based infrastructure to replace dial-up modems.
- Developed a normalized insurance report parsing framework and built report parsers using the framework.
- Devised a patient eligibility system used by a web-based portal to provide insurance validation services to providers.
Technologies: C++98, Java, Swing, Perl, Linux, POSIX, Win32, Microsoft Foundation Class Library (MFC), Multithreading, Oracle, PostgreSQL, SQL, XML, Standard Template Library (STL), Boost, Back-end, Back-end Development, CSS, APIs, Agile, Front-end, Web Applications, Front-end Development, REST APIs, Networking, Test-driven Development (TDD)Software Engineer (Contract)
2000 - 2000Avolent- Created a bill publishing system for Mastercard to aggregate bills from banks, lenders, credit card companies, and utilities into a consolidated database for use in the company's customer-facing online banking portal.
- Utilized a proprietary Java-based framework developed in-house for implementing a core application.
- Developed components in Java for providing customer-specific data access layer and mapping open financial exchange (OFX) data to the model.
Technologies: Java, XML, OFX, POSIX, Solaris, Databases, Back-end, Back-end Development, Web Applications, Networking, Test-driven Development (TDD)Software Engineer (Contract)
1999 - 19991View Network- Delivered an OFX standard bill consolidator system for a consortium of banks led by Wells Fargo.
- Designed an Oracle relational database and developed a schema and access layer in Java.
- Developed a specialized XML parser to handle the aspects of the OFX protocol that are more like standard generalized markup language (SGML).
- Created core aspects of the system, including business rules, logging, networking, and message processing.
Technologies: Java, Linux, Oracle, XML, HTTP, Back-end, Back-end Development, Web Applications, Networking, Test-driven Development (TDD)Software Engineer (Contract)
1998 - 1999Just In Time Solutions- Developed common object request broker architecture (CORBA) objects in C++ for Solaris to perform system functions in support of an OFX bill publishing system.
- Ported CORBA objects to the relational database management system (RDBMS) neutral Rogue Wave C++ class library, providing the ability to support any underlying RDBMS vendor.
- Designed and delivered OFX bill consolidator portions for Bank of America using Java, Oracle, and Linux.
Technologies: C++, CORBA, Perl, IBM Informix, Oracle, Solaris, XML, OFX, Linux, Back-end, Back-end Development, Web Applications, Networking, Test-driven Development (TDD)Software Engineer
1996 - 1998Netscape Communications Corporation- Maintained and extended the core functionality of the company's SuiteSpot server lineup, including the administration server, enterprise server, and directory server.
- Participated in designing and developing Netscape's secure electronic transaction (SET) software development kit (SDK) for C++, managing the security, data access, and administration application programming interfaces (APIs) of the SDK.
- Designed a unified framework for installing the entire line of SuiteSpot server products on Windows and developed a native installer toolkit in C++ using Win32 (Windows API) and Microsoft Foundation Class (MFC).
- Ported the Netscape merchant server to the IBM AIX platform and replaced the IBM Informix ESQL/C database layer with the Rogue Wave C++ class library to provide a database-neutral access layer.
Technologies: C++, HTML, HTTP, HTTPS, HTTPD, LDAP, JavaScript, POSIX, Solaris, AIX, Back-end, Back-end Development, CSS, APIs, Front-end, Web Applications, Front-end Development, Networking, Test-driven Development (TDD), AuthSoftware Quality Engineer (Contract)
1996 - 1996Visa- Developed tools to automate the merchant management system (MMS) testing under Windows using Visual Basic and Microsoft Access.
- Designed a database to store test data required to test the MMS and built a user interface to create, read, update, and delete (CRUD) operations on the database.
- Built a test script generator to convert test data into a format used for manual and automated testing, significantly reducing the time required to develop a consistent test suite.
Technologies: Visual Basic, SQL, Microsoft Access, POSIX, AIX, Visual Basic 6 (VB6)Software Engineer (Contract)
1995 - 1996United States Postal Service- Developed the core functionality of the X.509 certificate authority software intended to become a national, trusted authority for issuing digital certificates and performing digital postmark and signature services for all internet transactions.
- Extended and developed APIs for the system to perform cryptographic functions related to digital certificates, system logging, and database access.
- Documented APIs using the Unix manual system. Mentored junior engineers.
Technologies: ANSI C, Unix Shell Scripting, Oracle, POSIX, X.509 Certificates, HTTP, APIsProgrammer Analyst
1994 - 1995Cohn & Wells- Designed relational databases to store demographic information provided by clients in disparate formats to support the advertising agency's direct mail campaigns.
- Developed tools in C, ESQL/C, and Perl to parse and normalize data required to produce mailing labels and load them into the database from magnetic tapes.
- Created tools in C and Perl to deduplicate lists, remove persons on the "Do not contact" lists, and perform address correction based on the USPS change of address database.
- Built tools to extract data from the database and produce magnetic tapes sent to mailing label printers. Developed tools to create monthly reports furnished to clients to audit campaign effectiveness.
Technologies: Perl, Unix Shell Scripting, ANSI C, IBM Informix, POSIX, SQLSystems Engineer
1992 - 1994First Data Corporation- Developed applications in C under the portable operating system interface (POSIX) for both front-end and back-end systems, enhancing and maintaining the core functionality of the electronic payment system.
- Designed a framework for interfacing in-store processing servers to the point-of-sale (POS) terminals. Using the framework, developed POS terminals interfaces for multiple vendors.
- Built a collection agency feed loader to identify writers of bad checks during the automated clearing house (ACH) authorization process.
- Created an offline debit card authorization sub-system to handle instances of real-time communication failures preventing debit card transactions.
Technologies: ANSI C, POSIX, IBM Informix, Unix Shell Scripting, SQLSystems Engineer
1989 - 1992Electronic Data Systems (now DXC Technology)- Maintained and extended portions of a DOS-based property management system (PMS) written in Pascal and assembly language.
- Developed interfaces between the PMS and hardware used in hotel environments, such as thermostats, set top boxes, door locks, and POS terminals.
- Built administration tools in C for Stratus VOS to monitor and control the host's dial-up communications sub-system that received calls from properties and forwarded reservation data.
- Created a console UI API in assembly language for C and Pascal applications to render windows, process keyboard selections, and format text.
Technologies: ANSI C, Assembly Language, MS-DOS, Stratus VOS, Pascal, QNX