Craig Felton

Software Engineer


feltocraig@gmail.com

Skills

Coding

Large focus on readability, code consistency, and defensive programming.

Architecture

Responsible for architecting and designing cloud based solutions.

Dev-ops

Production monitoring, CI/CD pipelines, infrastructure as code, etc.

Technical

  • C#, ASP.NET
  • Javascript, Java
  • NoSQL, SQL
  • Azure, AWS
  • Design Patterns
  • MQ's, Events, Push
  • CI/CD Pipelines
  • IaC, Terraform
  • Refactoring, Testing

Work

FulcrumPro

Senior Fullstack Engineer

2021-Present

A VC-backed startup offering a real-time cloud-based manufacturing ERP. I contributed a lot to fixing scalability and availability issues as the company expanded. Developed a comprehensive, well-documented, and versioned public API. Integrated our product with accounting software, CRMs, and various e-commerce platforms to enhance functionality. Designed and implemented real-time demand and purchasing planning infrastructure. Primarily responsible for back-end development in C#, utilizing MongoDB and SQL databases, while the front-end was developed using TypeScript and Angular. Employed a range of communication technologies, such as REST, GraphQL, message queues, and event streaming for seamless system integration.
I played a pivotal role in the architectural transition from a single-tenant platform to a scalable multi-tenant SaaS solution. I helped maintain and scale the infrastructure as we grew to hundreds of customers all while driving down cloud computing costs. Dev-ops work included: CI/CD pipelines, monitoring/logging, alerting, test automation, and dynamically built infrastructure to support self-onboarding.
Additionally, I mentored junior engineers, imparting best practices and in-depth product knowledge.


Kodak Alaris

Cloud Software Engineer

2019-2021

On the "Platform 2.0" team, whose goal is to bring the company's back-end code up to date with modern cloud standards on Azure. Experience writing C# code on IaaS, PaaS, and FaaS. Helped architect an event-driven serverless back-end for Kodak Picture Kiosks. Wrote the core code for high-performance event producers and consumers. Created new microservices to replace legacy systems.
Maintained a system for Disney theme parks that took images from rides and rendered them, tagged them with metadata, and made them accessible to users. Created a new API for image storage with the ability to handle 200,000 4MB images uploaded a day.
Beyond coding and architecture design I was also heavy on dev-ops practices. I helped create and maintain terraform scripts for our infrastructure as code. Built and maintained CI/CD pipelines. Created logging, error alerting, and SLO/SLA standards for our various microservices. Presented the standards to the entire company's software engineers.


Reward Gateway  (Formerly Brand Integrity)

Senior Software Engineer

2014-2019

Startup company where I wore lots of hats, but focused on scalability problems due to our fast growth. Our core software was an employee engagement web application written using C# on ASP.NET and hosted with Azure. Our multi-tenant platform supported companies with anywhere from 100-100,000 employess. Coordinated with a small agile team to implement a RESTful API used by our mobile app and third parties. Communicated with vendors to build out SSO workflows, push notifications, and ETL pipelines. Worked on continual improvements to the sites architectural scalability to meet the constantly increasing traffic. Back-end development interfaced with both MongoDB and SQL data layers which also included an intermediate Redis cache layer. Front-end development included several javascript libraries; knockout.js being the primary view-model framework. Introduced asynchronous programming standards, queued tasks, and globalization/DateTime localization to the company which helped scalability and usability. When Brand Integrity was acquired in 2018, I learned PHP 7 and Vue.js to fill the feature gap between the two platform's surveys and reporting.


Calero Software  (Formerly Windstream Communications - PINNACLE)

Software Engineer

2013-2014

Worked part-time for a year and a half while in college. Built data driven engines that generated real-time analytic dashboards and other customer service tools. The business logic was written in Java and was packaged as microservices. Data was contained in an enterprise sized PL/SQL database. Front-end work was with Jquery, backbone.js, and APEX.


Rheonix

Software Engineer co-op

2012

Six month co-op. Wrote Java code which interfaced with hardware for a molecular testing machine. Part of the co-op was building a data plotting application that applied different algorithmic graphs to visually understand the molecular diagnostics results. Also maintained C and Assembly code.

Education

Rochester Institute of Technology

BS Software Engineering

2014

Projects

grouppartygames.com - 2020

Online party game to play remotely while on quarantine. Cloudflare Workers, AWS, React.js, Node.js, MongoDB.


thepigeoncard.com - 2019

Send a postcard anywhere in the world for $2. AngularJS SPA with an ASP.NET Core 2 back-end.


pikamaps.com - 2016 (offline)

A viral website when Pokémon Go was released which plotted Pokémon locations on a map.
Website peak traffic of 200 visitors/min.

Certificates

Exam AZ-900 - Microsoft Azure Fundamentals