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.