Resume

Personal Statement

I have a strong passion for software development and I'm looking to work with others who have a strong desire for excellence and getting things done. I work best in environments where I have the freedom to affect change and select the best tools available to meet our objectives.

I'm a web and mobile developer versed in Java, Kotlin, C#, JavaScript, and Swift.

I love learning new technologies, open source, and mentoring others.

Experience

Co-founder, CTO, & Principal Software Engineer, Slash Pine Tech

October 2021 — Current

Slash Pine Tech is a consulting company that builds high-quality software and solves business problems with technology.

Key Responsibilities:

  • Develop high-quality software for clients that delivers value.
  • Mentor developers throughout the company to ensure everyone is growing.
  • Work across projects to solve novel problems.

Senior Software Engineer, Infinity Software Development

April 2012 — October 2021

Infinity Software Development is a consulting company with clients throughout the U.S.

Key Responsibilities:

  • Design and develop custom software solutions for our clients. Make clients grin ear-to-ear.
  • Work with the marketing team to identify leads and pursue new business.
  • Work with the recruiting team to interview candidates and offer staffing recommendations.
  • Mentor other developers.

Project: Insurance Quoting System

Senior Software Engineer

April 2020 — June 2021

I worked on a team of 5-6 developers building a new enterprise insurance quoting system to replace a legacy system.

Key Responsibilities:

  • Leveraged design patterns to decompose complex domain logic into highly testable components.
  • Designed an integration test framework that used YAML to define scenarios for testing a variety of business cases in the domain layer.
  • Wrote long-form proposals to share with the development team for pitching refactors to streamline the system.
  • Created a custom integration between Auth0 and a legacy user database for authentication.

csharp dotnet sql-server redis git bitbucket

Project: Avalon

Software Architect / Technical Lead

May 2019 — December 2019

I overaw the creation of a workflow system for managing issuing and rescinding boil-water notices.

kotlin typescript react jax-rs jersey jetty dropwizard postgres jdbi jackson git gradle

Project: Insurance Microservices Project

Senior Software Enginner / Technical Lead

November 2018 — November 2019

c# dotnet-core entity-framework mssql rabbitmq mass-transit dbup git nuget angular typescript

Key Responsibilities:

  • Developed an OAuth2/OIDC authentication and authorization system using IdentityServer 4
  • Led development on multiple .NET Core APIs and Windows services in a microservices architecture
  • Developed several reusable Nuget package for use throughout microservice projects, including: ETag caching; OData filtering, searching, and ordering; health checks; and support libraries for configuring Entity Framework and MassTransit.

Project: Firefly

Software Architect / Technical Lead

September 2016 — October 2018

I worked with Talquin Electric (via Infinity Software Development) to design and implement a modern API and mobile apps to allow customers to pay bills, report outages, view their usage, and several other features. I also built a notification service, allowing their infrastructure to send out push, SMS, and email notifications to users.

RESTFul API

java kotlin jax-rs jersey jetty dropwizard postgres redis jdbi jackson soap git maven

Key Responsibilities:

  • Facilitated requirements gathering meetings with the client
  • Developed and maintained the project plan and handled status reports to to the client throughout the development process
  • Designed and documented the API using Swagger
  • Developed the API and notification service as Dropwizard (JAX-RS) applications
  • Integrated with SOAP APIs for various backend systems
  • Implemented an OAuth2 provider (server) for authentication and authorization
  • Implemented API rate limiting using Redis
  • Led code reviews and software design meetings
  • Provide ongoing support and enhancements
iOS App

swift alamofire promisekit git cocoapods

  • Led development effort
  • Handle deployments to TestFlight and the App Store via App Store Connect
  • Provide ongoing support and enhancements
Android App

kotlin jetpack dagger retrofit junit git gradle

  • Provided direction to UI designers throughout the design process
  • Led development effort
  • Performed code review of all feature branches via GitHub pull requests

Project: PRIVIT

Software Architect / Technical Lead

August 2012 — March 2015

java struts2 jsp spring hibernate tomcat mysql git mercurial maven puppet redhat hazelcast

As a contractor to PRIVIT (via Infinity Software Development), I was responsible for leading their entire SaaS effort. I was their software architect, lead developer, and database and system administrator. I worked with our hosting provider to setup and configure a hybrid cloud/physical server setup, including robust monitoring and alerting.

Key Responsibilities:

  • Reported to PRIVIT's CIO and COO.
  • Managed two hosting environments across two data centers in the U.S. and Canada (~20 devices & servers).
  • Identified and resolved performance and scalability issues, growing the service to meet the growing business needs.
  • Worked with designers and front-end developers to plan, design, and develop a new responsive UI for the service.
  • Implemented a lightweight, agile process for developing new features and enhancements.
  • Implemented gitflow to be able to quickly deliver software updates and hotfixes per our agile process.
  • Setup robust monitoring and alerting of all devices for the service and served as the primary on-call technician, responding to any performance issues or outages.
  • Ran ad hoc queries to help support PRIVIT's business development, marketing and customer service teams.
  • Scripted data imports and exports.
  • Scripted the deployment process.
  • Handled any customer support issues that were escalated to me by PRIVIT's front-line support team.
  • Led code reviews.

Senior Software Developer, Florida Department of Environmental Protection

January 2010 — April 2012

java jsp struts2 jpa hibernate lucene jax-rs resteasy weblogic

I returned to DEP to help them migrate their applications from Java 2 on OC4J to Java 6 on WebLogic. I also helped them modernize their application development frameworks and APIs and built several new applications.

  • Lead Java Developer for the Office of Technology and Information Services. Designed and developed key applications including DEP's Business Portal, payment gateway, executive dashboard, and e-permitting platform.
  • Designed, developed, and documented reusable Java APIs for application development, persistence, and security, used by other developers throughout the agency.
  • Administered the software development infrastructure (version control, continuous integration, project reporting, etc.)
  • Mentored other developers.

Software Developer, Social Strata, Inc.

February 2008 — December 2009

java jsp struts2 webwork tomcat mysql hibernate lucene debian

After being a customer and enthusiast of Social Strata's products for years, I moved to Seattle to join their team and contributed to two of their SaaS offerings.

Key Responsibilities:

  • Developed large-scale, clustered social web applications in Java/JSP, utilizing skills working with Webwork, Tomcat, and MySQL/Hibernate.
  • Supported customers directly and acted as the front-line support developer, assisting our support techs with advanced issues and providing resolutions to problems.
  • Performed functional QA and UI development.
  • Served as a 24/7 on-call system administrator for our SaaS application environment.
  • Jointly developed an application to manage deploying our software applications throughout our infrastructure.

Software Developer, Florida Department of Environmental Protection

August 2007 — December 2007

java jsp struts tiles oc4j oracle xslt

  • Developed web applications in Java/JSP, utilizing skills working with Struts 1.x, Tiles, and Oracle databases.
  • Participated in designing Java web applications, from written specification through to implementation.
  • Designed XML data models and wrote XSLT stylesheets for transforming XML data into Excel spreadsheets.
  • Audited the agency's software development infrastructure (source control and build tools) to make upgrade recommendations.
  • Maintained a legacy application in classic ASP.

Freelance Software Developer

July 2004 — May 2007

php mysql html css javascript apache xml xslt perl

  • Developed web sites and web applications for clients throughout North America
  • Provided customization and integration services for Social Strata's customers
Mastodon