Employment
Foliotek Inc
Lead Infrastructure Engineer
2017 - PRESENTManaged production and development environments. Performed numerous major releases of critical infrastructure components.
Lead Software Developer
2015 - PRESENTCollaborated with clients, designers, directors and other developers to guide development efforts.
Software Developer
2010 - 2015Full stack developer working on all aspects of the environment including: Dev-Ops; Client-Side; Server-Side; Database; Hosting.
Education
University of Missouri
Information Technology
Minor: Mathematics
Skills
Javascript
Vue
Azure
C#
NodeJS
SQL Server
Experience
Client-Side Development
Built and maintained font-end heavy applications with 100,000+ lines of javascript. Ensured bundling and file sizes stayed manageable for clients, while delivering a smooth user experience.
Analyzed and implemented enhancements based on User Experience Study results.
Created an open source plugin with around 2,000 followers on Github. Contributed to and mainted other OSS javascript projects as well.
Server-Side Development
Managed and worked in several C# codebases. Migrated existing structures to more standard practices like Web API and dependency injection. Also, developed hybrid approaches to legacy systems (such as web forms) to live side-by-side with more modern client-side heavy patterns.
Coordinated development between internal and external teams to design API's to exchange sensitive information using technologies like Oauth, JWT, JOSE, and others.
Designed and constructed multiple microservices to process tasks in the background using tools like Docker, RabbitMQ, Redis, Puppeteer, NodeJS, and others.
Infrastructure Management
Proposed, supervised, and participated in multiple migrations including: migrating from physical servers to cloud-based servers; cloud-based servers to infrastructure as a service; and database migrations.
Directed infrastructure management with a budget around $60k-70k/year. Identified cost savings in backup strategies to save $50k over a 10 year period. Implemented more efficient solutions to host development and production environments.
Conducted resolutions in high pressure situations caused by software, hardware, and networking issues.
Leadership and Communication
Communicated with all parties involved in the software development process: other developers; designers or product owners; clients; end-users; quality assurance teams; and more.
Improved dev-ops processes including migrating source controls, implementing code reviews, switching ticketing systems, and automating development/quality assurance environment creation.
Experienced in efficient technical communication among other developers, as well as non-technical team members, to arrive at the best solution for a given task.
Awards
Static Showdown - 3rd Place
2016Collaborated with another teammate to develop an application that would accept a user-uploaded image, and turn it into a puzzle that the user could then put together.
Node Knockout - Top 20
2013Lead and worked with a team to develop a crowd-sourced mosaic generator over the course of a weekend. Users would upload images which would then be turned into a mosaic of other users' images.