Summary
As a motivated and self driven full stack application developer, I love solving integration problems with challenging constraints. Much of my professional life has taught me that the most complex problems involve the intersection of technology and human behavior. There is nothing I love more than working with a team to solve business problems with a holistic view of the people, processes, and how technology can help.
Education
Georgia Institute of Technology
- Master’s Profile: Machine Learning & Interactive Intelligence
Clayton State University
Relevant Experience
Norfolk Southern Railway, Atlanta, GA
Engineering Lead, Mobility
October 2019 - Current- Led a team of mobile developers building mobile applications in Angular + Ionic with Cordova.
- Coordinated with local and offshore SAP teams to develop and tune APIs.
- Built and shipped a product for our engineering department to track and record inspections for bridges and structures across NS territory.
- Built and shipped a product for our mechanical department to track locomotive and railcar inspections, consolidating multiple Federal Railroad Administration reportable tasks formerly done on paper or on separate disparate systems. Its most complex feature was interfacing and controlling a DPS Electronics Yard Air Controller device for performing air pressure tests for brake inspections for cars and locomotives.
Developer Advocate
April 2018 - Current- Supported recruitment days at campuses and career fairs throughout the Southeast.
- Gave talks at the Georgia Institute of Technology to prospects about the intersection of tech and railroading.
- Worked with a cross organizational team to develop Jenkins CI/CD pipelines for Java, .NET, and Node applications.
- Assisted teams with migrating their builds from Team Foundation Server to Jenkins.
- Taught small-group courses to educate employees on GitHub, Jira, and our CI/CD pipelines.
- Worked with a cross organizational team to evaluate software to better assist IT with various development efforts. This resulted in replacing legacy software generally enhancing developer quality of life; such as replacing multiple VCS systems with GitHub, and TFS Boards with Jira.
- Worked with IT sourcing to evaluate purchase GitHub Enterprise and Jira then assisted the organization with integration.
- Assisted teams with migrating projects from PVCS and TFVC to GitHub and documented processes and procedures.
Team and Technical Lead
January 2016 - April 2018- Led a team and provided technical guidance for a collection of applications servicing the Safety & Environmental Department.
- Developed a project template for an internal VueJS + Nuxt frontend project. It utilized Vuetify with a customized color template and basic layouts based on the NS corporate style guide. The template was backend agnostic and came preconfigured for GraphQL (with apollo-nuxt) and REST (axios) endpoints. A simple styled form component demonstrated a simple CRUD operation with vee-validate. This template was configured for OpenShift deployments following common NS architectural standards.
- Developed a project template for an internal .NET Core API. This template was preconfigured to handle application secrets, and connections to other internal applications through Layer7, SAML, Basic, or Windows Authentication. The template was run using docker-compose which additionally ran a SQL Server container, applying Entity Framework migrations with seed data. This template was preconfigured to run on OpenShift following NS architectural patterns.
- Built and shipped a web application for tracking safety incidents across the railroad; consolidating a manual process which differed by department and location. This project allows the company to build a common picture of incidents from multiple perspectives and data points, assisting leadership with decision making to help prevent future incidents. This application was built using the Vue and .NET Core project templates and deployed to OpenShift. TIBCO Spotfire was used to generate reports for the application.
- Built and shipped a web application for tracking Conductor Trainee education from initial hire to graduation into regular service. This application replaced evaluations previously done on paper allowing training coordinators to report on and discuss each activity. A dashboard was built with graphs using d3.js and additional reporting using TIBCO Spotfire. This application was developed on the Vue and .NET Core templates previously mentioned and deployed to OpenShift.
- Led an effort to migrate legacy WinForms, Silverlight, and WPF line of business applications to React with NextJS, deployed to OpenShift. The backend services were built using the defunct Web Service Software Factory, so I made the decision to convert them from ASP.NET 3.5 WCF SOAP to a more modern ASP.NET 4.5+ REST Web API. The primary benefit for this decision was cleaning up long running technical debt and requests from other consumers to make a REST endpoint available.
Scrum Master
November 2013 - January 2016- Acted as scrum master for two engineering teams using TFS Boards to manage features, transitioning the team workflow to an agile methodology from waterfall.
- Held workshops to educate other engineering teams, business partners, and management interested in transitioning to an agile methodology.
- Worked with the Project Management office to automate updating project plans with stories being worked on from TFS Boards to Microsoft Project.
Software Developer
April 2012 - January 2016- Built and launched a web application for agreement employees to anonymously report non-life threatening safety issues at their work location. This was built with React + Redux running on an ASP.NET Core Web API application running on IIS.
- Built and launched a web application using ASP.NET 4.5 MVC with Razor Pages to track and report on safety activities for each location across each operational department.
- Maintained and enhanced a WinForms desktop that asynchronously aggregated data from disparate systems and allowed field users to perform FRA mandated checks in locations with little or no connectivity.
Talks
Georgia Institute of Technology
Positive Train Control (automated trains) and Robotic Systems for Inspections and Operations.
November 2018
Coding the Path Podcast
Web Stack: things you may have missed
September 2013
Technical Skills
Frontend
Vue, Nuxt, Gridsome, Angular 9+, TypeScript, React, Next, ASP.NET Razor, JavaScript
Backend
C# (Complete .NET Framework), Node, Python
Supporting Technologies
VCS
Team Foundation Server, git, pvcs
Styling
Vuetify, Material-UI, Tailwind CSS, Bootstrap, OpenUI5
DBMS
SQL Server, Firebase, PostgreSQL, MongoDB, DB2 LUW, Cosmos DB, CockroachDB, Teradata
Operating Systems
Windows NT and subfamilies, macOS, Ubuntu, CentOS, RedHat 7+, iOS 11+, Android (API level 22+)