Language Years Experience Details
C#
20
  • Currently, my most used language.
  • Use in too many projects to count, ranging from web applications, web apis, libraries, console apps, etc.
  • Stay up-to-date on the latest versions.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • SiteScan Application - Searches websites for broken links
  • Opening Breakout Trading Bot - Trades the New York open based on breadkout signals
  • Nutrition Facts Website - Created to test new programming languages, frameworks and features
  • Curriculum Vitae Website - Provides searchable curriculum vitae for Michael Silver
  • WhoIsOpen.Today - Tracked which restaurants and businesses were open during COVID-19
  • NWorkQueue - A simple, opinionated message queue, using Postgres for storage
  • Live Tennis Scoring - Live broadcast tennis matches
  • RomeLadder.com -
Delphi/Pascal
9
  • Used mostly for Windows UI applications.
  • Used with numerous projects and companies.
  • Have used pascal since the mid 1990's.
Work Experience:
SQL
25
  • Used in almost every database application I've been involved in.
  • Too many applications to count.
Work Experience:
HTML
25
  • Used in every web project I've been involved in.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • SiteScan Application - Searches websites for broken links
  • RobbieSilver.com - Creation of a professional photographer website
  • Coosa Valley Tennis Association Website - Allowed local players to stay up to date on tennis leagues
CSS
15
  • Used in all web projects.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • SiteScan Application - Searches websites for broken links
  • RobbieSilver.com - Creation of a professional photographer website
  • Coosa Valley Tennis Association Website - Allowed local players to stay up to date on tennis leagues
JavaScript
15
  • Used in almost all web projects I've been involved in.
  • Also used for Node.js projects.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • SiteScan Application - Searches websites for broken links
  • Live Tennis Scoring - Live broadcast tennis matches
  • RomeLadder.com -
Python
2
  • Used for a Linux based web screen scraper.
Work Experience:
C++
1
  • Used exclusively in one job to create a UI to a custom written database.
Work Experience:
C
1
  • Used in several jobs.
  • Used for embedded programming.
Work Experience:
Projects:
  • Keyboard Firmware Mods - Connects older IBM Keyboard to modern computers
Ruby
1
  • Used for a few Rails projects.
Work Experience:
VBScript
2
  • Used for scripting on Windows.
TypeScript
1
  • Used for proof of concept project.
Work Experience:
SCSS
1
  • Used to simplify CSS code with variables, etc.
Perl
1
  • Used for heaving text processing projects.
  • Not a preferred language due to it cryptic syntax.
Work Experience:
PHP
1
  • Fixed bugs in existing projects.
Work Experience:
VB.NET
1
  • Only used in a single, older product.
Process Years Experience Details
Scrum
10
  • Currently use to manage projects.
Work Experience:
Unit/Integration Testing
18
  • Firm believer in thorough unit testing.
Work Experience:
SDLC
18
  • Sometimes I take a software project through the entire process, other times, I only receive predetermined requirements.
  • Excellent at asking questions of the stakeholders to fully understand the scope of the project.
  • Often merge the SDLC with an Agile style of development.
Work Experience:
Code Reviews
18
  • I don't look for perfect code, just mistakes that will make maintenance more difficult.
  • All corporate code must be code reviewed by peers.
Work Experience:
Agile
10
  • Firm believer in the Agile Manifesto.
  • Also believe it's essence has been lost by some practitioners.
Work Experience:
SOLID Principles
15
  • Use principals on all new projects and refactoring.
Work Experience:
Design Patterns
15
  • Use numerous patterns, very often, such as Singleton, Repository, Dependency Injection, etc.
  • Not an expert in all the pattern names.
Work Experience:
Database Years Experience Details
SQL Server
10
  • Used for numerous projects across numerous companies.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
Oracle
13
  • Used extensively by current company.
Work Experience:
PostgreSQL
10
  • Preferred database.
  • Use on most open source or side projects.
  • Use as a document store using the JSON type.
Work Experience:
Projects:
SQLite
5
  • Used whenever a multiuser database isn't required.
  • Used in numerous applications.
Work Experience:
Projects:
  • NWorkQueue - A simple, opinionated message queue, using Postgres for storage
Informix
3
  • Used for large internal client/server Windows application.
  • Last used about 20 years ago.
Work Experience:
Interbase
2
  • Used as the primary database for a large internal distributed project.
Sybase
1
  • Used as the primary storage for a commercial pharmacy application.
Work Experience:
MongoDB
1
  • Used to store data from automated screen scrapping application on Linux.
Work Experience:
Framework Years Experience Details
.NET Framework
18
  • I've used since 2.0 was released.
Work Experience:
Projects:
  • RomeLadder.com -
.NET Core
4
  • Almost all my new development has been in .NET Core.
  • Written countless apps, although all have been web apps or console apps.
  • I've used versions 1.0-3.1
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • SiteScan Application - Searches websites for broken links
  • Nutrition Facts Website - Created to test new programming languages, frameworks and features
  • Curriculum Vitae Website - Provides searchable curriculum vitae for Michael Silver
  • WhoIsOpen.Today - Tracked which restaurants and businesses were open during COVID-19
  • NWorkQueue - A simple, opinionated message queue, using Postgres for storage
  • Live Tennis Scoring - Live broadcast tennis matches
ASP.NET Razor Pages
2
  • Use on most newer projects.
  • Fixes many of the pain points found in MVC.
Work Experience:
Projects:
ASP.NET MVC
8
  • Written both public facing and internal web apps.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • Nutrition Facts Website - Created to test new programming languages, frameworks and features
  • WhoIsOpen.Today - Tracked which restaurants and businesses were open during COVID-19
  • Live Tennis Scoring - Live broadcast tennis matches
  • RomeLadder.com -
Bootstrap
10
  • Used in most web applications.
  • Greatly speeds up development time.
Work Experience:
jQuery
10
  • Used in most web applications.
Work Experience:
ASP.NET WebForms
4
  • Used on a large public facing application.
Work Experience:
Node.js
1
  • Used in several projects that ran on Linux machines.
Work Experience:
Ruby On Rails
1
  • Used in a single application.
Work Experience:
Vue.js
1
  • Used in several proof of concepts.
  • Used in ASP.NET apps.
Work Experience:
Projects:
Avalonia UI Framework
1
  • Greate for cross platform applications.
Projects:
  • SiteScan Application - Searches websites for broken links
Message Queue Years Experience Details
MS Message Queues
2
  • Used with smaller apps when a simple messaging solution is needed.
Work Experience:
Oracle Advanced Queuing
11
  • Used in very large, commercial back end.
Work Experience:
Azure Service Bus
1
  • Used in a relatively large, message based set of applications.
Work Experience:
File Format Years Experience Details
Fixed Length
6
  • Often used when exchanging data with banks.
Work Experience:
CSV
6
  • Used in numerous projects.
Work Experience:
JSON
12
  • Use extensively for object serialization.
  • Used in too many projects to mention.
  • Most config files are now JSON.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
  • Curriculum Vitae Website - Provides searchable curriculum vitae for Michael Silver
XML
6
  • Used in numerous projects due to it's ubiquity.
  • Very common as a format used between companies.
Work Experience:
Protocol Buffers
5
  • Used in numerous projects where fast serialization and compact size was required.
Work Experience:
MessagePack
1
  • Used in a single project.
  • Impressed with it's speed and resulting size.
Work Experience:
Library Years Experience Details
Dapper
6
  • Preferred library for accessing databases.
  • Use in almost all new projects.
Work Experience:
Projects:
LINQ
12
  • Used a great deal for non-performant code.
Work Experience:
MS Test
2
  • Goto framework for writing unit tests.
  • Didn't use previous version as they were lacking important features.
Work Experience:
xUnit
6
  • Typically write most unit tests in xUnit or MSTest
Work Experience:
Moq
10
  • Use extensively.
  • Use in most unit tests where mocking is required.
Work Experience:
nUnit
5
Work Experience:
SignalR
1
  • Used in production and for proof of concept applications.
Work Experience:
Projects:
NHibernate
5
  • Only used in one large project.
  • Prefer not to use an ORM.
Work Experience:
Entity Framework
1
  • Prefer using Dapper and/or the repository pattern, instead of EF
Tool Years Experience Details
Git
5
  • Used for source control at last two jobs.
  • Used in all my closed and open source projects.
  • Make extensive use of branching
Work Experience:
Vagrant
6
  • Used for testing especially with databases or complex messaging architectures.
  • For scripting VituralBox or other VMs.
Work Experience:
Subversion
6
Work Experience:
Azure DevOps
2
  • Use for code reviews, continuous integration, automated tests, etc.
Work Experience:
Docker
2
  • Use mostly in side work, but will soon use at current job.
  • This web page is running in a Docker container on Linux.
  • Future of software deployment.
Work Experience:
Projects:
Virtual Box
6
  • Mostly used for testing purposes.
  • Allows easy setup of databases and other servers that code depends on.
  • Usually use Vagrant to script creation and setup of VMs.
Work Experience:
Amazon S3
4
  • Used mostly for backups of production data and as a backup download location
Work Experience:
Amazon SES
1
  • Integrated into websites for sending high volume email.
Work Experience:
Operating System Years Experience Details
Windows
30
  • Use extensively in development as a client and as a server.
Work Experience:
Ubuntu
10
  • Used extensively as a server for hosting databases, websites, and other software.
Work Experience:
Projects:
FreeBSD
2
  • Used as a server for hosting databases and websites.
Work Experience:
pfSense
1
  • Used to convert PCs into fully functioning network routers.
Work Experience:
OpenWRT
1
  • Router software mostly used in embedded systems.
Work Experience:
HP-UX
2
  • Used as the host for an Informix database in a large financial project.
Work Experience:
Software Years Experience Details
Apache
10
  • Used for WordPress applications, mostly.
Work Experience:
IIS
20
  • Usually used on Windows Server for hosting .NET web applications.
Work Experience:
Nginx
2
  • Used as a fast, easy to setup webserver for .NET web applications on Linux.
Work Experience:
Projects:
Trading Software Years Experience Details
Sierra Chart
3
  • Use for live manual trading of futures.
  • Wrote numerous custom indicators.
  • Wrote simple bots for backtesting.
Work Experience:
NinjaTrader
2
  • Used for live and demo manual trading.
  • Used for automated trading strategy development.
  • Experience with NinjaScript for custom indicators and strategies.
Work Experience:
Projects:
  • Opening Breakout Trading Bot - Trades the New York open based on breadkout signals
TradingView
3
  • Used for technical analysis and strategy development.
  • Experience with Pine Script for custom indicators.
Work Experience:
Quantower
1
  • Wrote simple trading bot and indicator to test platform.
cTrader
1
  • Used to live trade XAUUSD.
  • Written indicators and sample cAlgos.
Work Experience:
Quantconnect
1
  • Used for backtesting and live trading strategies.
  • Extended LEAN open source project with numerous improvements.
Zorro
1
  • Wrote simple trading bot for testing platform.
thinkorswim
1
  • Used mostly for demo trading.
Content Management Systems Years Experience Details
Optimizely/EpiServer
3
  • Used for enterprise-level content management solutions.
  • Extensive customization experience.
  • External integrations.
Work Experience:
Projects:
  • Carpet Manufacturer CMS - Large scale website conversion for a large commercial carpet manufacturer.
Kentico
3
  • Used for large corporate financial customers.
Work Experience:
Crownpeak CMS
2
  • Purely web based CMS.
Work Experience:
WordPress
2
  • Used mostly for personal projects.
Work Experience:
Projects:
Joomla
2
  • Used for client website requiring complex content structures.
Work Experience:
Projects:
SiteCore
1
  • Used for large-scale enterprise content management.
Work Experience:
Umbraco
1
  • Mostly used for internal projects.
Work Experience:
Artificial Intelligence Years Experience Details
Github Copilot
2
  • For agentic programming.
  • For code reviews.
  • For code analysis.
  • For unit test generation.
Work Experience:
ChatGPT
1
  • For agentic programming.
  • For code reviews.
  • For code analysis.
  • For unit test generation.
Work Experience:
Anthropic Claude AI
1
  • For agentic programming.
  • For code reviews.
  • For code analysis.
  • For unit test generation.
Work Experience:
ML.NET
2
  • Used for trading assistance and prediction.
Work Experience:
Hardware Years Experience Details
Raspberry Pi Zero
2
  • Currently, mostly used to create an inexpensive camera.
Work Experience:
Teensy Microcontroller
1
  • Used as an embedded controller for older keyboards to extend functionality and provide USB support.
Work Experience:
Projects:
  • Keyboard Firmware Mods - Connects older IBM Keyboard to modern computers
Raspberry Pi
2
  • Used in a wide range of projects, such as camera, slide show for a TV, alarm clock, etc.
Work Experience:
Arduino Uno
1
  • Used to automate home lighting.
Work Experience:
Web Service Years Experience Details
REST
10
  • Used frequently in many projects.
  • Used for ajax calls.
Work Experience:
gRPC
1
  • Used in a project when a fast web service was required. Increased sped by a factor of 15 over REST.
Work Experience:
Projects:
  • NWorkQueue - A simple, opinionated message queue, using Postgres for storage
SOAP
2
  • Used in numerous projects where fast serialization and compact size was required.