Stephen Porter

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
– Martin Fowler

I am confident and experienced in solving large, complex problems while working in an iterative, agile team environment. I love to learn and take on new challenges while mentoring others around me. Aside from being a husband and father, Software Development is one of my major passions in life followed by gaming, content creation, and fitness & nutrition.

Experience

Below is a list of my most recent, relevant experience. Digital copies of my resume can be found HERE.

Staff Software Engineer

Mastery Logistics Systems

I work to help build a comprehensive cloud-based transportation management system (TMS) built from the ground up to help large shippers, carriers, and logistics service providers manage complex transportation needs in an efficient, cohesive and intelligent way.

Some notable work includes:

  • Currently leading and mentoring a team of two Engineers and a Senior Engineer while also contributing to core engineering initiatives and overseeing and providing architectual insights into domain wide projects and initiatives.
    • Rebuilt a legacy CRUD based system and designed an event driven, CQRS system with write time data aggregation into flattened materialized views to highly optimize for front end responsiveness as well as backend and data scalability.
    • Rebuilt several legacy imperative/functional systems using NestJS with Nx utilizing OOP best practices. This included building out the local project framework which includes project generators, a full local containerized environment, core packages/frameworks, end-to-end DevOps, etc.
    • My team quickly grew to be the most performant team in our domain and the company with the reputation for getting things done quickly while utilizing best practices. I am particularly proud of this as I've watched the engineers I've mentored flourish into strong engineers making big impacts within the company. The engineers I've mentored were quickly promoted to Senior Level as well as one moving into a Staff Engineer position.
  • Built centralized DevOps infrastructure and automation tooling utilizing GitHub Actions, Azure, Docker, Helm, and Kubernetes.
    • Led a team to design and coordniate DevOps efforts across our vertical.
    • Much of the DevOps patterns I've implemented have been re-used company wide, across multiple teams and verticles.
    • Built a large portion of our "release train" system which is responsible for the coordination and deployment of each microservice/component of our system.

I work with the following technologies:
  • Node/Typescript
  • NestJS
  • React
  • GraphQL
  • MSSQL
  • .NET Core
  • PostgreSQL
  • Azure
  • Docker
  • Kubernetes
  • Helm
  • Kafka
  • GitHub Actions
  • June 2020 - Present

    Senior Software Engineer

    InventoryLab, Inc.

    InventoryLab was a small company where we wore multiple hats as Software Developers. The hats I wore most often were the DevOps, Software Architect, Back-end API Dev, and Database Dev hats. However, I did work in the front-end quite a lot as well.

    Some notable work includes:

    • Built a continuously deployed DevOps infrastructure complete with a local build environment using Thoughtworks GoCD, a local integration testing framework using throwaway Docker containers, a remote build server using Azure DevOps, swappable deployment tokens for configuraiton values, and a custom CLI to manage the local build system as well as common dev tasks
    • Built and event-driven framework using Cosmos DB change feeds and a generic message handler built as an Azure Function
    • Implemented an entire Database rework and optimization including documentaiton of current Database structure/design, cleanup of unused resources, creation of necessary indexes, and the creation and implementaiton of a data retention policy
    • Restructured the legacy development workflow to be much leaner, less confusing, and overall more productive

    I worked with the following technologies:
  • .NET and .NET Core (C#)
  • Angular
  • NGXS and RxJS
  • VueJS
  • Typescript
  • MSSQL
  • Azure
  • Azure DevOps
  • Event Hub
  • SignalR
  • Service Fabric
  • Service Bus
  • May 2017 - May 2020

    Sofware Engineer

    Scentsy, Inc.

    Scentsy was my first Software Development position after attending Boise State University. The IT department, at the time, had over 100 employees with about 35 of them in the Software Application Development side. I learned an incredible amount working at Scentsy and carried that experience on to InventoryLab as I continued to grow and take on new challenges.

    Some notable work includes:

    • Lead a project on real-time, event driven software devlopment using SignalR and Azure Service Bus
    • Contributed to a Command/Query framework used to architect a CQ based order management system
    • Designed and implemented several third party integrations into the existing system (LightSpeed and LightSpeed Cloud, Verint, Zendesk, etc.)

    I worked with the following technologies:
  • .NET (C#)
  • Knockout.js
  • MSSQL
  • Service Bus
  • SignalR
  • MongoDB
  • Thoughtworks GoCD
  • SAP
  • May 2014 - May 2017

    Co-Founder, CTO, and Software Engineer

    OwnApt, LLC

    I spent two years with two business partners building and running a startup company, OwnApt, LLC. Unfortunately, this business venture is no longer active as my partners decided to back out and I decided I wanted to focus my time on software development and not on running a business. The focus of OwnApt was the automation of real property management and it was profitable at the time of it's dissolvement.

    I was the sole Software Developer during this project and I was responsible for building the entire software infrastructure from the ground up. This included

    • Design and implementation of the development lifecycle and workflow
    • Research of and decisions to use which frameworks, tools, languages, et. in the stack
    • Design and implementation of the Continuously Deployed DevOps pipeline using Thoughtworks GoCD, Docker, and .NET Core
    • And a whole heck-of-a-lot more that really challenged me and taught me more about myself and software development

    I worked with the following technologies:
  • .NET and .NET Core (C#)
  • Docker and Docker Cloud
  • MySQL and MongoDB
  • Thoughtworks GoCD
  • 2015 - 2017

    Coding Skills

    8 Years

    C#, .NET, and .NET Core

    4 Years

    Java

    8 Years

    JavaScript/Typescript

    5 Years

    Angular/React/Vue

    5 Years

    Node.js

    8 Years

    MySQL/PostgreSQL/MSSQL, Mongo/Cosmos DB

    8 Years

    Docker

    10 Years

    Bash and Powershell

    10 Years

    Git

    6 Years

    Azure and Cloud Computing

    8 Years

    DevOps, Continuous Delivery, and Automation

    12+ Years

    In many languages, frameworks & platforms

    Publications

    Jan 18, 2016

    Automated measurement of fracture callus in radiographs using portable software

    Journal of Orthopaedic Research

    The development of software applications that assist the radiographic evaluation of fracture healing could advance clinical diagnosis and expedite the identification of effective treatment strategies. A radiographic feature regularly used as an outcome measure for basic and clinical fracture healing research is new bone growth, or fracture callus. In this study, we developed OrthoRead, a portable software application that uses image-processing algorithms to detect and measure fracture callus in plain radiographs. OrthoRead utilizes an optimal boundary tracking algorithm to semi-automatically segment the cortical surface, and a novel iterative thresholding selection algorithm to then automatically segment the fracture callus.

    See Publication
    Sep 10, 2015

    Comparison of Callus Detection using 2D Computerized Radiographic Image Analysis and 3D Computed Tomography Scans

    American Academy of Orthopaedic Surgeons

    This abstract outlines a comparison of three dimensional CT scans with four two dimensional radiograph images segmented using OrthoRead (a portable software application developed to measure fracture callus in radiographs I developed as an undergrad).

    See Publication
    Nov 2013

    A Portable Software Application to Measure Fracture Callus in Radiographs

    Orthopaedic Research Society

    This abstract outlines the Java application I programmed during my time as an Undergraduate Research Assistant at Northwest Tissue Mechanics Lab. On this abstract, I am listed as first author and it was submitted and accepted by the Orthopedic Research Society.

    See Publication