Senior level developer with extensive experience building secure applications using a wide range of technologies. Specializes in modern Web UI, API, and Database development, as well as geospatial technologies (GIS/XR/VR/AR). Experience working with the Federal and Local Governments, and in the Financial/FinTech, Health, and Real Estate industries. With a strong background in .NET, NodeJS, DevOps, and Agile methodologies, I can bring a strong skillset to any development team with the ability to hit the ground running.
PROGRAMMING LANGUAGES and TECHNICAL SKILLS
Fluent in C#, C++, JavaScript / TypeScript, SQL
Server-side development using .NET and .NET Core, Web API, WFC, ASP.NET, NodeJS, Express, NextJS, GraphQL, REST, and more
Front end development with most modern, popular JavaScript frameworks and tooling including React, Angular, GraphQL. Still familiar with most legacy JavaScript frameworks such as jQuery, Bootstrap, Kendo UI, Backbone.js, ExtJS, dojo
Database development using MS SQL Server, Oracle, PostgreSQL, MySQL. ORM using Entity Framework (.NET), GraphQL, Sequelize, Bookshelf.js
GIS/Geospatial development using ESRI ArcGIS, OpenLayers, Cesium, MapBox, Leaflet, Turf.js, Google Maps API, Bing Maps API, OpenGeo Suite (PostGIS, GeoServer, QGIS)
Cloud development and deployment using Microsoft Azure and AWS
CI/CD using Azure DevOps, GitHub Actions, AWS, TeamCity, Jenkins, Bamboo, CruiseControl.NET, Travis CI
Source Code Control using Git, Azure DevOps, Subversion (SVN)
FinWise Bank - Murray, UT (100% Remote, Full Time)
July 2022 to Present (11 months)
Developed a system-wide notification service using a Microservices architecture
Worked on the front-end user interfaces made in React, Material UI, and NodeJS
Performed code reviews of both server and front-end code
Provided mentorship to junior developers
Tech: .NET Core, Web API, Microservices Architecture, NServiceBus, SignalR, JavaScript/TypeScript, React, Material UI, Git, Azure DevOps
Principal Software Engineer
EquipGIS - Watertown, MA (100% Remote, Part Time)
January 2019 to Present (4 years 5 months)
Principal architect and developer of Gaia GIS Web Platform; the main product of EquipGIS
Gaia GIS Web Platform built on stack of React, NextJS, GraphQL, REST APIs and PostgreSQL/PostGIS. It can also consume services from ArcGIS or any other REST or GraphQL endpoint
Created several stand-alone applications using the Gaia GIS Web Platform. These are deployed on AWS EC2 instances, and utilize several AWS services, including Cognito, SES, EC2, Lambda Functions, RDS, Route 53 and others
Happy to demonstrate these Gaia web applications and walk through the architecture and code
Perform technical interviews of contract developers, and coordinating their work and schedules; including offshore candidates
Western Asset Management - Pasadena, CA (100% Remote)
May 2017 to June 2021 (4 years 1 month)
Hired to modernize and convert more than fifty legacy Visual Basic 6.0/ActiveReports projects to the latest VB.NET and ActiveReports. Created a suite of unit and integration tests for each report, bringing a level of confidence to this 15-year-old code that was not previously possible
Re-created two Microsoft Access database applications as modern React web applications with an Oracle back-end. Wrote unit and integration tests using Jest and react-testing-library
Created new and optimized existing Oracle queries, functions, and stored procedures
Created Unix shell scripts, Autosys jobs, and Oracle procedures to support critical ETL processes
Hawaii Medical Service Association (HMSA) - Honolulu, HI
August 2016 to May 2017 (9 months)
Senior developer on two public-facing, high traffic ASP.NET-based websites for Hawaii’s largest health insurance provider
Wrote production code and unit tests for all layers including the ASP.NET/jQuery user interface, Web API and WCF web services, Entity Framework based data layer, and SQL Server stored procedures
Lead efforts to write missing Unit Tests and dramatically increase code coverage across all JavaScript and C# code and to drive team toward true Test-Driven Development (Red-Green-Refactor)
Wrote several web components, a boilerplate project, and a styleguide as part of an initiative to begin modernizing the front-ends to use a new ReactJS, Redux, and GraphQL stack
Worked with testers to write automated end-to-end tests using Cucumber, SpecFlow, and Selenium
Tech: .NET, C#, MVC, WCF, Web API, Entity Framework, Unity Framework, MSTest, Moq, Selenium, Coded UI, Bootstrap, AJAX, jQuery, Grunt, LESS, Apache Lucene, Team Foundation Server (TFS), SQL Server, SSRS, SSIS, Azure
Senior Software Developer
Corona Environmental Consulting LLC. - Rockland, MA (100% Remote)
November 2014 to May 2016 (1 year 6 months)
Hired as the company’s first engineer to help build out their new development team using Lean/Agile/Scrum
Developed early MVPs and prototypes that were crucial in securing $4 million in funding
Helped architect and develop a suite of web-based GIS applications and real-time microservices
Developed several front-end user interfaces using Modern Javascript, React/Redux/GraphQL, jQuery, and Kendo UI
Wrote back-end microservices using Node.js, Vert.x, ActiveMQ, Sequelize, MySQL, PostgreSQL, and PostGIS
Used modern JavaScript tooling including ESLint, Webpack, Mocha, Chai, Jest, Enzyme
Set up team's Continuous Deployment and Integration testing using Travis CI and Heroku, and later TeamCity and AWS
Set up team's YouTrack bug tracking software for team
Performed technical interviews, mentoring of junior developers, and onboarding of new hires
Served as tech lead simultaneously on two distributed Agile teams
Created a reusable framework using ASP.NET, AngularJS, Kendo UI, and Bootstrap that allowed the company to stand up prototypes for potential clients very quickly
Created several SPA web applications using that framework for the U.S. Navy (DoD), U.S. Department of Agriculture (USDA), and U.S. Department of Housing and Urban Development (HUD) (latter available publicly at https://resources.hud.gov/)
Leveraged my unique experience across several projects with the Federal government to provide creative solutions to technical problems posed by working within these often very rigid and secure environments
Provided company-wide guidance on all aspects of Software Development, including Lean/Agile, Peer Code Review, Test Driven Development (TDD), Source Code Control, Release Management, Configuration Management, Continuous Deployment and Integration
Played an integral role in the company’s successful effort to become CMMI certified
Performed technical interviews, mentoring of junior developers, and onboarding of new hires
Tech: ArcGIS, Bootstrap, JavaScript, Kendo UI, jQuery, dojo, AngularJS, Node.js, Grunt, Gulp, Bower, C#, .NET, ASP.NET, MVC, Web API, LINQ, Entity Framework, SQL Server, Oracle, YouTrack, TeamCity, GitHub, Oracle, SQL Server, Github, Team Foundation Server, Amazon Web Services
Senior GIS Developer
Geographic Information Services, Inc. - Birmingham, AL (100% Remote)
February 2009 to May 2013 (4 years 3 months)
Converted from contractor to full time employee when GIS, Inc. was awarded the contract for the project I was working on with NAVFAC, below. Served as senior developer/tech lead on distributed Agile team. Principal developer of the Oracle and .NET back-end of the Navy's large enterprise GIS solution named GeoReadiness; an ArcGIS-based mapping application used to manage resources and facilities at naval bases worldwide. Developed GIS Inc.’s Source Code Control and Continuous Integration strategies, and helped implement formal Agile/Scrum practices for our geographically dispersed team. Granted Secret level security clearance with DoD.
Tech: .NET 3.5-4.5, C#, Oracle, SQL Server, REST, SOAP, ArcGIS Server, ArcGIS Desktop Extensions, ArcGIS API for JavaScript, Silverlight, and Flex, JavaScript, HTML, CSS, SVN, Git, OnTime
Senior Software Developer
Naval Facilities Engineering Command (NAVFAC) – Pearl Harbor, HI (75% Remote)
May 2004 to March 2009 (4 years 10 months)
Worked as a contractor on major GIS project for the U.S. Navy from 2004 to 2009. Same project spanned multiple employers, both full time and part time. Originally brought on in 2004 as a contractor to act as a .NET expert and mentor to a small development team who were transitioning development from Borland Delphi to .NET. In this capacity, I developed several reusable components and web server controls in C# to help kick start and expedite their application development, as well as to serve as .NET training modules for new hires. Developed large suite of GIS web applications name RSIMS (Regional Shore Installation Management System) using ASP.NET and ArcGIS. Granted Secret level security clearance with DoD.
LPL Financial Services – San Diego, CA (100% Remote, beginning 2004)
August 2001 to October 2012 (11 years 2 months)
Developed key portions of LPL’s web-based financial investment and trading software suite, BranchNet; including modules responsible for Account and Portfolio management, as well as an enhanced security model. Developed multi-tiered web applications starting with traditional ASP and C++ and eventually migrating to .NET in 2002. Data on SQL Server and 3rd party mainframes was managed by reusable COM components written in C++ and by .NET assemblies written in C#. Championed the early use of XML/XSLT and XMLHTTP/AJAX, to create more robust web forms and reports. Spearheaded the shift in development philosophy at LPL toward reusable component design and a layered application framework. Identified and fixed memory leaks and un-optimized code in legacy components.
Worked as a software developer and architect for variety of companies in the software and other industries. Most noteworthy position was as Software Engineer IV at the short-lived joint venture formed by Microsoft and Qualcomm known as Wireless Knowledge back in 1999-2001, where I helped develop Microsoft's early attempts to get into the nascent mobile market - Microsoft Mobile Information Server and Outlook Mobile Access. Additional detail on this older employment history has been left off for brevity, but is available upon request.