Professional Resume
With over 2 decades in IT, and more than half of that as a developer, I have a broad base of experience in IT. I started as a Help Desk Tech and moved through roles as that guy at the office that could fix anything, PC Repair Tech, Systems Admin, Network Admin, Database Admin, Software Developer, and Dev Team Lead. I've worked in industries such as Manufacturing, Telecom, Finance and Law.
I am currently searching for a place to apply my skills in a role as a lead or architect.
Education
B.S. Computer Science
Eastern Connecticut State University, Williamantic, CT
Graduated with Dean’s Distinction (GPA 3.8/4.0). Some coursework was done at UCONN. Minor in Mathematics. Emphasis on Net-Centric Computing with projects including parallel processing and Linux embedded processor programming in C++.
B.A. Economics
University of Colorado, Boulder, CO
Completed all of the business and engineering core curriculum in addition to the economics graduation requirements.
Certifications
SAFe Release Train Engineer
Kendo UI Developer
Certified Scrum Master
ID No. 000423425
Cisco Certified Network Associate
ID No. CSCO11434600
Professional Experience
Principal Software Engineer
2016 - 2024
IHS Markit / S&P Global / Communify Fincentric, Boulder, CO
Communify Fincentric (formerly Fincentric by S&P Global, formerly IHS Markit) is dedicated to the delivery and presentation of financial data, transforming complex information into elegant user experiences. As a leading Software as a Service (SaaS) provider in the financial services industry, their innovative visualizations are the standard for interpreting, manipulating and displaying financial information.
I started as a Senior Software Developer with IHS Markit. As the company evolved, I was shifted across many different projects, working with various teams, clients, and technologies. I was the team lead for 5 different scrum teams over the years, working on more than 100 different repos across 10+ clients (e.g. National Australia Bank (NAB), Deutsche Bank, Wells Fargo, Ally, etc..). Supported existing applications via change and feature requests as well as creating new applications from the ground up in a variety of different technologies.
My last engagement with this employer was leading a team that supported the retail application suite for one of the oldest and largest accounts (Charles Schwab). The applications on this account consisted of 20+ express.js microservices, 5 vue.js front end applications, 10 C# .Net applications, and 5 classic ASP applications. This application suite had a long and complex history that had resulted in significant technical debt. I was working on a 3 year plan to refresh, retire, and modernize all applications across the portfolio. Towards the end of my tenure with this client I spent roughly 50% of my time doing development as my responsibilities also included architecture, strategic planning, leadership, and mentoring the dev team.
- Was directly responsible for increasing available throughput by 1000% for incoming users from the TD Ameritrade merger.
- Significantly reduced the overall technical debt across the application suite by removing hundreds of thousands of lines of unused code.
- Reduced the overall number of applications by 20+ by combining like items and retiring or migrating functionality to ‘go forward’ applications, and created a plan to further simplify and streamline.
Lead Technical Consultant
2013 - 2016
Perficient, Denver, CO
Perficient is the leading global digital consultancy where great minds and great companies converge to boldly advance business. The company's offerings include enterprise mobile applications, creative services, marketing, digital strategy, Internet of Things (IOT), information technology, management consulting, custom development, and platform implementations.
Was the technical lead on a team that developed and supported a central data management application to a major telecom carrier (CenturyLink, formerly Level 3 Communications, formerly TW Telecom). This application housed detailed information about the locations that the company had existing fibre/copper. The application integrated with the sales pipeline via MSMQ.
- Ensured code quality and adherence to industry best practice.
- Administered continuous integration and automated unit testing.
- Administrated testing and production servers.
- Coordinated and executed bi-weekly production application releases.
- Monitored application metrics to ensure optimum performance.
- Led a bi-weekly technical discussion group.
Skills
I've touched literally thousands of different types of technology over the years. Below is an attempt to create a skills matrix that reflects the complexity of the systems I've created and/or supported.
Skills matrix is in progress...
Programming Languages, Frameworks, & Supporting Technology
- SQL
- Types: SQL Server, Oracle, MySQL, PostGres
- Testing: tSQLt
- Tools: DataDog, Redgate
- NoSQL
- Redis
- Mongo
- ElasticSearch - Kibana Query Language (KQL)
- Prometheus - PromQL
- JSON
- XML
- YAML
- C#
- Frameworks: MVC, WCF, Web API
- Testing: NUnit, Moq, Autofac
- Data Access/ORM: LINQ, Entity Framework, Hibernate, Dapper
- Tools: Visual Studio, IIS, Resharper
- Javascript/TypeScript
- Frameworks: Node, Express
- Testing: Jest, Cypress, Mocha, Chai
- Data Access/ORM: Prisma, Sequelize
- Python
- Frameworks: Django, Flask
- Data Access/ORM: SQLAlchemy, PeeWee
- C++
- HTML
- CSS
- Preprocessors: SASS, SCSS
- Patterns:
- Javascript/TypeScript
- Frameworks
- Angular
- React
- Vue
- Bootstrap
- JQuery
- Testing: Jest, Cypress, Mocha, Chai
- Media: Audio, Images, Video
Build Pipeline
- Git
- SVN
- Visual Source Safe
- Github Enterprise
- Jenkins
- TeamCity
- SonarQube
- LighthouseCI
- Octoperf
- AXE
DevOps & Infrastructure
- Cloud
- Azure
- GCP
- AWS
- Containerization/Orchestration
- Docker
- Kubernetes
- HashiCorp Nomad
- Hypervisor/VM
- Microsoft Hyper-V
- VMware
- VirtualBox
- Web Servers
- IIS
- Node
- NGinx
- Caddy
- Apache
- IPv4/IPv6
- DNS
- CDN (Akamai, Cloudflare, etc...)
- Cisco IOS
- F5 Big Ip
- Traefik
- Apigee
- Curl
- Fiddler
- Wireshark
- Swagger
- Postman/Newman
- ELK Stack (KQL)
- Prometheus (PromQL)
- Splunk
- log4net
- SSL/TLS
- OAuth2
- JWT
- SAML
- AES/TKIP
- Ping Identity
Project Managment & Architectural Design
- Agile
- Scaled Agile Framework (SAFe)
- Scrum
- Kanban
- Waterfall
- Jira
- Confluence
- GitHub
- Trello
- MS Project
- Bugzilla
- Visio
- Miro
- Figma
- InVision
- N-Tier Architecture
- Event-Driven Architecture
- Service-Oriented Architecture (SOA)
- REST APIs / Microservices
- MVC/MVVM
- SOLID
- DRY
Portfolio
Cookbook App in 3 stacks
Here I've built a full stack cookbook app in 3 different stacks to show that I am proficient in multiple different languages, frameworks, and technologies. This application is complex enough to show depth of knowledge in each tech, but not so complex as to take forever to complete. Please note that these apps are works in progress and are demos that are not meant to handle production traffic, and are hosted on the free or base plans with the respective cloud providers. You may need to refresh a few times before data starts flowing from the database, through the API and into the UI.
Modern .Net on Azure
This one is working end to end. The database and API are nearing completion, but the UI is still missing some functionality.
- Azure
- SQL Server
- .Net Core Web API
- Angular
MPV on GCP
This one is working end to end, but the API is not totally built out yet. The vue front end is probably the most complete of the 3.
- GCP
- MySql
- Python Flask
- Vue
MERN on AWS
I'm switching this one over from MySql to Mongo. Amazon keeps changing the IPs of my Fargate containers.