Scott Thompson
************@*****.***
Personal website that I wrote and host from my apartment
http://ThompsonCustomSoftware.com User Name: Guest Password: GoBills2025
Please be sure to allow popups from my site so that you can get the full screen view by clicking on any screenshot
Summary:
A highly motivated and accomplished Microsoft Certified Professional with 10+ years of full stack development experience. Highly proficient in C# as demonstrated by scoring in the 81 percentile on a recent IKM TeckChek C# 8 proficiency profile (see website for score distribution). A large personal code library along with an extra-ordinarily broad-based skill set allows for rapid application prototyping enabling the highest level of project definition and requirements gathering when working with all audiences including those possibly not familiar with current software capabilities. Works well in team and collaborative environments as well as in solo or small group environments. Looking for a position where my high level of technical expertise and interpersonal skill set can be focused to develop world class software.
Skills and Experience:
C#/VB.Net 10+ years of experience (.Net Core [ver 1.1 – 8.0.401] and .Net Framework [2.0 – 4.8])
SQL 10+ years of experience (MS SQL Server (2005 – 2019), IBM DB2, Postgresql, Oracle, SQLite, MySQL)
T-SQL with Entity Framework or my own ORM system “TCSORMLite”
Developed Database Connection Factory using ADO.Net
Sql Server Management Server
Windows Presentation Foundation (WPF)
SSIS as well as SSRS (see website)
No sql database: MongoDb
Convert VB6 projects/code to VB.Net
Convert IBM AS/400 (iSeries) based systems to C# server based[.Net Core (Razor pages) solutions (RPG -> C#, IBM DB2 -> MS Sql Server] to transition off iSeries based systems.
.Net Core hosting using the ASP.Net hosting bundle
ASP.Net Web API - “RESTFul” and “Microservices”, JSON
Custom integration “packages”.
User interface development: Javascript/JQuery(Node.js), Javascript libraries/[mvc] frameworks React and
Angular (both versions), Winforms and Webforms custom control, Razor Pages, and Blazor (Server) pages.
System integration and platform transformation: Inventory, POS, Accounting, third party platforms including
Instacart
Automated the transfer of databases from/to ADO.Net compliant databases
Open XML SDK for Office to generate native Excel and Word documents for various applications.
Developed Windows services for several applications including inventory management and shop floor resource management.
Developed an OAuth2 library allowing the consumption of Web API based financial and inventory data.
Used “Avigilon” C#/.Net SDK to write application that interfaces with POS system and allows loss management personnel to view closed circuit TV video linked with any transaction in the system.
Experience with Docker and Kuberenettes
Android mobile apps using Andoid SDK/Java
Souce Control/Bug tracking: Teams (administrator), Subversion, Jira, Git
Education:
B.A., Chemistry, MercyhurstUniversity, Erie, PA
A.S., Computer Science, Jamestown Community College, Jamestown, NY
Microsoft Certifications (see website):
“Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET.” 11/2007
“Microsoft.Net Framework – Application Development Foundation” 06/2011
“Microsoft .NET Framework 3.5, Windows Forms Application Development” 04/2012
Application Samples/Screen Shots/Additional Information:
Please visit my website http://ThompsonCustomSoftware.com for detailed descriptions of some of my past work, application screenshots, and photographs. User ID: guest Password: GoBills2025.
Development Skills:
● ALM (App Lifecycle Mgmt) :Microsoft Teams Foundation Server 2017 – system admininstrator
Languages :C#, C++, C, BASIC (VB6 and .Net), ForTran, Pascal, RPG, CoBOL, Python,
JavaScript/JQuery, Java, several assembler
Web/UI :Razor, bootstrap, Blazor, Javascript, Jquery, Html 5, CSS, XML XPath, XMLDocument,
Linq/Lambda Expresssions, javascript frameworks (see below)
Cloud :Microsoft Azure – used Azure account to configure hardware and setup internet facing
Url to communicate with Wi-Fi devices on rescue vehicles using TCP/IP socket protocol.
● Platforms :ASP.Net (Razor Pages, Asp.net Ajax), Windows(Winforms, Console, Win32, Java)
● VS Versions :Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, .NET 2003
● Databases (RDBMS, :MS SQL Server (2022, 2019, 2017, 2014, 2012, 2008/R2, 2008, 2005, 2000),
ORDBMS, and NoSQL) PostgreSQL, Oracle, IBM DB2, MySQL, SQLite, Advantage, Access, MongoDB
Operating Systems :Windows (XP, Vista, 7, 8, 8.1, 10,11), Unix/Linux (Sun, Ubuntu, Red hat), OS/400, VMS,
DOS
Server OS : 2008R2, 2012R2
.Net Framework Versions :1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.6.1, 4.7.1, 4.7.2, 4.8, 4.81
.Net Core Versions (x64) :1.0.1, 2.1.202, 2.1.526, 3.1.425, 5.0.104, 5.0.408, 6.0.403, 8.0
Third Party Tools :Telerik, Infragistics
Embedded :KeilMicrovision, NXP Arm Processors, RTX real-time OS, Windows Embedded
Software Development :Agile with scrum and Agile Prototyping, Waterfall
Adjunct Technologies :css(3), html, html-5, Xml (XDocument (LINQ), XmlDocument)
JavascriptFrameworks :AngularJS, KnockoutJS, ReactJS
Source Control, CI/CD :Microsoft Team Foundation Server 2017 (renamed Microsoft Devops), Git
Scripting languages :Powershell, CMD, BAT
Professional Experience:
Revere Copper Products Incorporated, Rome, NY (Remote) May 2023 – Present
Senior Developer
I use my broad based skill set to perform complex developmental tasks. Revere is a mix of an IBM iSeries and a Microsoft shop. I have 10+ years of experience with both platforms. Although the bulk of my .Net development language has been in C#, my first assignment at revere was the difficult task of converting VB6 applications to VB.Net applications. Having done the task previously, I was aware that VS 2008 has a conversion engine that would automate some of he conversion work. Hurdles involved eliminating 3rd party COM and ACTIVE X controls as well as the need to convert database access from oledb and ODBC to T-SQL using ADO.Net. I found the most significant hurdle to beconverting VB6 user interface construct to .Net. Often there were no equivalent user interface controls. I also wrote a Windows service to monitor machine and tool conditions on the shop floor and periodically send out status e-mails. My current assignment involves a Windows service that monitors shop floor resource usage as well as calculating various product yields using complex mathematical algorithms. Where possible, I using ORM modeling or my own “ORMLite” application to create classes out of SQL tables which can then be manipulated using Data Tables, Lists, HashTables or other C# data structures which often times improve performance and readability over native SQL.
KPH Healthcare Systems, East Syracuse, NY September 2017 – December 2022
.Net Developer
Migrated RPG based applications and systems off the aging IBM i(AS/400) to .Net Core version 6.02 “flagship” application named “Integration manager” in conjunction with two offshore developers which I managed. AS/400 to .Net Core was also undertaken independently moving systems based on languages including “CL”, “RPG (multiple versions)”, Java, and CoBOL with the ultimate goal of eliminating the AS/400. Some of the migration involved the breaking down of “monolithic” systems on the AS/400 to .Net Core applications based on webapi microservices. UI “Frameworks”, primarily with razor pages and bootstrap as well as occasional Blazor page(s), were implemented where possible. Duties also included developing a wide variety of applications that leverage the powerful database capabilities of IBM DB2 and the Microsoft C#/.Net development stack. Authored several "interfaces" that extract data from multiple ADO.Net Sources and input into JDA, POS system, HR and LP systems. Authored windows service “TrickleFeed” application that maintains the inventory for all Kinney’s 100+ retail stores. The service consumes a web API that running on one of the POS servers. The windows service maintains two encrypted user ids and passwords (a primary and a backup). A “old school” WCF web service (wsdl) is called to check the “up” status of the WebAPI. Assuming the Web API is up, the user id and password are presented to the Web API and assuming the credentials are authenticated a “token” is returned that is used to post various inventory transactions. Numerous failure points are managed using try/catch blocks. Automated e-mails informing the management team of system problems are sent. I also wrote all Sql and C# applications needed to put “Kinney Drugs” on “Instacart.com”. Wrote numerous Winforms utility applications (see website) as well as a WebForms order transfer application. Functionality embedded into many applications included Data Encryption (connection string and configuration data) as well as Password Hashing and Web API services consumption. Authentication/Authorization for some web services was done using an OAuth2 library I wrote. This library allowed our developers to easily manage Web API’s via OAuth2 authentication and authorization. The library managed the Web API Base URL, the Login URL, the OAuth2 Client ID, the OAuth2 Client Secret, the OAuth2 user name (aka “saak”), and the OAuth2 password (aka “sask”). If Authentication is successful, the system received back from the login url an access_token, refresh_token, token_type, and and expiration in minutes values. If the token in use expires or is close to expiring, the refresh_token can be used to obtain a fresh acces token. Finally, a Java based drup look-up Android application was also developed using the Android SDK. I was also administrator for the Teams instance used for source control.
Carrier Corporation, Syracuse, NY June 2016 – September 2017
Application Developer/Software Engineer
A multitude of technically advanced projects for the engineering department including application to interface with Web API (Http) web services, development of WCF service to perform engineering unit conversions for several engineering applications, Mongo database development, and VB6/VBA application rewrites.
Class 1/Hale Products, Ocala, FL April 2013 – March 2016
Application Developer/Software Engineer
Used Microsoft Visual Studio Versions 2010, 2012, and 2013 to develop C# .Net Web (ASP.Net) and Windows applications.
Most applications included a Microsoft Sql Server “backend”. This was usually implemented as a database layer using ADO.Net and T-Sql.
Designed patterns including Factory, Observer, and Data Repository were used where appropriate.
Duties also included firmware development and maintenance. Used KeilMicrovision to develop and maintain firmware on various embedded devices, including our “Smart Connect” Wi-Fi “IoT” device and Vehicle Data Recorder using the “C” programming language and “RTX” real-time operating system.
Judicious use of third party products employed. However, applications developed included the use of the third party open source libraries SQLite,pdfSharp, and the OpenXML SDK (used to generate native Excel output).
Custom libraries I developed included USB HID communications and Wi-Fi/TCP/IP.
Developed several custom controls including the “TreelistView” windows control used in ES-Key Pro II (see below).
Duties at Class 1 varied, including, C# .Net Windows application development, C# .Net ASP.Net Web Application development, “C” Embedded development, and “Specialty Development” where C# and .Net were used to develop various minor applications
The Class 1 Electrical Engineering Department designs and manufactures various embedded devices used for what is known as “vehicle multiplexing”.
Specific development work includes the following:
“ES-Key Pro II” – Used Visual Studio 2010 for the C# .Net Windows Forms rewrite of the flagship Borland C++ windows application “ES-Key Pro”. Had Azure account that was used to define hardware and setup url to communicate with “Smart Connect” Wi-Fi devices we manufacture and that are connected to rescue vehicle CAN (Controller Area Networks). Used TCP/IP sockets to communicate between Azure and the Wi-Fi Devices.
VDR Viewer II – This is a complete C# .Net rewrite of the originally Java based “VDR Viewer” application. Class 1 offers Vehicle data recorders in two “models” – a “standalone” and one built in to a Supernode II “System Manager”. .
Firmware Update Website – This project includes two main components: the website (an ASP.Net “web forms” project) and the website maintenance application (a windows forms application).
Embedded Development – This involved maintenance and new development for our NXP ARM based embedded devices. Used Keil’s “Microvision” development environment along with “rtx-rtos” real-time operating system. Embedded development included a “Smart Connect” module which could be classified as an “IoT” device. The “Smart Connect” module sported an NXP LPC4357 Microcontroller along with an integrated Bluegiga WF-121 Wi-Fi module.
Specialty Development – Wrote various “other” applications including a software development management system that allows software development features to be tracked. Wrote a MS SQL Server based Engineering change management and various other applications and applets.
Tailored Business Solutions, Statesboro, GA August 2012 – April 2013
Senior Developer Research & Development
Tailored business systems is a sister company of Harris Computer Systems. Using AS/400.NET to augment existing and develop new solutions using the AS/400 and .Net.
Enhanced the AS/400 based software products using Visual Studio 2008 and 2010 to write various Microsoft .Net windows and browser based applications.
Added functionality to existing AS/400 based property tax software by writing a C#/asp.net (VS2008) application that allows users to view their property tax bills online in pdf format.
Wrote a C#/.Net windows (“forms”) application that builds the Xml “Digest” property tax file required for submission to the State of Georgia. This application uses data from the AS/400 based property tax application to build the necessary Xml file.
Most C#/.Net applications written, leverage IBM’s “ado.net provider” for access to the iSeries’ DB2 database. Several other applications have been developed using the iSeries/.Net technology “stack”.
Harris Computer Systems, Niagara Falls, NY 2011 – August 2012
Senior Developer Research & Development
Wrote “Insight” – Insight is a C# (VS2008) .net browser based application to leverage the Business Intelligence capabilities of Sql Server 2008 R2. The application utilizes SSAS cubes/mdx queries, SSIS to refresh data, and SSRS/Sql for some reporting. Insight features configurable dashboard reports as well as conventional BI reports.
Created .Net wrapper classes for Futjitsu Palm Reader USB.
Designed and delivered “AutoUpdater”.
Wrote Employee Services Portal (ESP) “Interface” for one of our business units: Tailored Business Solutions (TBS) in Statesboro, GA.
Tailored Business Systems is a sister company of Harris Computer Systems. I continued to report to the R&D director based in Niagara Falls.
CLC-Genesee Survey Services, Inc. (Promotion and company name change) 2009 – 2011
Promoted to Senior Software Engineer
Re-wrote Genesee’s flagship application, “Genview” using .Net/ASP.NET technology (VS 2008).
This allowed CLC Genesee to expand its market base and deliver a better work product to its existing clients and acquire new ones.
GenviewII as it was named uses .net language resource files to support some 38 foreign languages.
Developed and implemented “Web Echelon” which is the Web counterpart to “Echelon” windows application.
Genesee Survey Services, Inc. 2007 – 2009
Support Programmer
Translated mission critical ForTran program (“Maven”) from Sun ForTran to Intel ForTran (160 source files) native Windows console application. Saved the organization money by improving performance and eliminating need for Sun/Unix hardware/ software.
Developed and implemented mission critical C# application (“Echelon” – formerly known as “Orggen”) that allows customer organizational and management hierarchies to be imported, updated, and exported.
“Optimizer tool”. This is an HR application that calculates all the possible combinations of potential employee benefits packages.
Wrote Web Service to automate application pool management (C#, .Net 2.0). Allows any consuming application to start, stop, and recycle production server based application pools.
Developed and implemented C# Windows based survey to legacy reporting interface.
Developed and implemented C# Web based (.Net 2.0) customer facing “Alias Login Tool” that allows a customer designee(s) to authorize fellow employees to view and download Web based reports.
Rewrote, enhanced, and implemented mission critical VB6 (“Merlin”) application (50,000+ source lines) to C#II (VS 2005). Improved performance, stability, maintainability as well as added features. Uses the “SQLBulkCopy” class for fast data transfer to SS.
Enhanced Project Manager “Admin Tool” by implementing utf-8 encoding so the application could manage user comments in any language (Arabic, Chinese, Japanese, Korean, etc.) (C#)
Wrote application to validate e-mail addresses at the syntax, domain, SMTP, and Mailbox levels
Various other utility applications and data manipulation requests
Genesee and CLC-Genesee are the same company. The second entry reflects my promotion as well as the company’s name change after acquisition by “Corporate Executive Board”.