Background
I have been programming since as far as I remember. When I was five, I learned the most basic of BASIC on a VIC-20. In the third grade, I was able to print my name to the screen over and over again (among other things) on a Commodore PET. I wrote simple games on a Commodore 64 and excelled at programming in Pascal. I studied Computer Science at the University of Richmond and in the summer after my junior year, got my first job writing software for Oak Tree Systems where I helped write multiple application in Visual Basic, SQL Server, and ASP. After college, I moved to Boston to work at a startup and have spent the last 25 years building a career in software development.
Experience
Java
I started programming in Java while in college with version 1.1. Since then Java has made up the vast majority of my experience. For most of th 2000s, I wrote mainly web application using Struts, MyBatis, JSP and FreeMarker. Towards the end of the decade and into 2010s, my experience shifted to developing web applications and REST APIs Spring, where I have developed application using Spring Boot, Spring MVC/REST, Spring Security, Spring Batch, and Hibernate/JPA. I also predominantly use Java for my personal projects, which include an automated trading system which uses various broker APIs, Spring, and RabbitMQ and data processing analysis for sports betting.
JavaScript
I started programming in JavaScript in the early 2000s, when it was only used for web page animations and simple UI effects. As JavaScript became the standard language for web user interface development throughout the 2000s, I developed various web applications using JavaScript, JQuery, and Backbone. With the recent shift to single page applications, my most recent experience has been developing with user interfaces in React and Angular and REST services using Express and Node.js.
Python
My first experience with Python was in 2008 when I developed a web application for a financial reporting system along with a financial transaction processor. With the rise of Python use in data science and machine learning, I've been spending a good portion of my training time using core Python, PyTorch, and scikit-learn.
Databases
Since the beginning of my career, I’ve been working with relational databases starting with Access 97, SQL Server 6.0, and Oracle 8i. Later in my career, I developed databases using Postgres, MySQL, and H2. Anything from schema design, writing complex SQL statements, implementing stored procedures, and creating migration and upgrade scripts. I am experienced using several ORMs and software libraries to implement application that interact with SQL databases including JPA, Hibernate, Spring Data, Spring JDBC, and SQLAlchemy. Some of my more recent engagements involved developing with MongoDB, Timestream, and DocumentDB.
Other Technologies
AWS
I gained experience on several projects using AWS including EC2, S3, Lambda, IoT Core, IoT Core, TimeStream, CloudFront, and Cognito,
OAuth
My previous project involved replacing a proprietary identity management system with Okta. I worked on integration Okta's OAuth Java API into and existing application.
FHIR
When I worked for a telehealth company, I worked on an application that integrated with Google's Cloud Healthcare API using FHIR.
SNMP
One of my more esoteric skills, I worked on a project that used SNMP for the configuration and monitoring of networked devices such as routers and radio antennas. I never want to look at a MIB file ever again.