Summary

Over fifteen years experience building teams and high-quality software in many environments on multiple platforms.

Experience

Artist Growth, LLC, Nashville, Tennessee

Principal Software Engineer 2014-Present

Artist Growth provides software as a service that helps musicians and music industry professionals manage the business aspects of their and their clients’ careers. Among other features, it provides scheduling, financial tracking and reporting, and inventory management. Customers are able to build a team by adding collaborators with granular permissions, granting people the access they need to get their job done.

As Principal Software Engineer, I am responsible for and involved in all aspects of taking features from product development ideas to reality. My responsibilities include …

  • … working with the Product Development and Design team to refine feature requests, including feasibility assessments, scope refinement, building acceptance criteria, and prioritization.
  • … triaging bugs to determine customer impact and root cause.
  • … high-level design and technical direction.
  • … implementation of features and bug fixes from planning to deployment.
  • … establishing expectations and processes for technical work.
  • … working with the entire organization to build and improve a product development process.

Artist Growth is primarily a Django/Python web application. Almost all functionality is exposed through a RESTful API, allowing our partners to easily integrate their existing systems with our platform. All recent front-end development has been inside a single-page application which consumes the API. An incomplete list of the technology in use includes:

  • Python
  • Django
  • OAuth2
  • Django Rest Framework
  • Celery
  • Bootstrap
  • Durandal
  • TypeScript
  • Ionic
  • Angular
  • Electron
  • Jenkins
  • Various AWS offerings (EC2, VPC, S3, CloudFront, CloudFormation, CodeDeploy)

Artist Growth employs all commonly accepted development best practices, including: code hygiene checks, peer review of submitted pull requests, automated testing, and automated, “single-button” deployment of the entire platform.

Healthbox Technologies, LLC

Lead Software Developer 2012-2014

Healthbox provided project-based design and development of custom software for customers in healthcare. During my tenure as Lead Software Developer, we contributed to the server-side API of two significant mobile applications and the replacement of an aging web application. We were sought out by our customers, because our entire team had significant experience building high-quality, secure, healthcare-related applications that could operate at scale. My responsibilities included …

  • … working with the customer to build a picture of both the minimum viable product and long-term goals for the application.
  • … converting customer conversations into discrete user stories to be worked.
  • … identifying non-functional requirements related to performance, security, and HIPAA-compliance.
  • … contributing to the design and development of a set of common libraries to handle common tasks and patterns.
  • … planning and creating AWS application deployment environments that were both secure and cost effective.
  • … representing the development team during planning and discussion with customers.
  • … establishing project infrastructure (e.g. SCM repositories, build servers, test environment).
  • … designing and maintaining a virtual AWS data center for internal assets and development.

Healthbox blended “traditional” Microsoft .NET tools with the strategic use of AWS products to deliver applications that met the security, reliability, and performance expectations of our customers. I am very proud of what we were available to accomplish with a very small team in a short development cycle. Some of the tools and technology used include:

  • C#
  • ASP.NET Web API
  • ASP.NET MVC
  • Entity Framework
  • Bootstrap
  • Durandal
  • TypeScript
  • Microsoft SQL Server
  • AWS DynamoDB
  • AWS S3
  • AWS EC2/VPC
  • AWS CloudFormation
  • Windows Server 2012 R2
  • IIS 8
  • Ubuntu 12.04 LTS
  • OpenVPN

Press Ganey Associates, Nashville, Tennessee

Lead Software Developer
2010–2012

Press Ganey provides a wide range of offerings to help healthcare providers understand and improve all facets of patient care. As a Lead Software Developer, I worked primarily on products focusing on clinical quality measures. My team and I built two web applications which allowed providers and physicians to flexibly and quickly view quality statistics, trends, and benchmarks. My responsibilities included …

  • … assisting Product Development with the formulation and refinement of feature requests.
  • … triaging bugs to determine customer impact and root cause.
  • … high-level design and technical direction.
  • … implementation of features and bug fixes from planning to deployment.
  • … establishing expectations and processes for technical work.
  • … working with the entire organization to build and improve a product development process.
  • … allocation of team effort to ensure efficiency and timely delivery.
  • … translation of measurement definitions to efficient MDX queries.

The web applications were built using a variety of Microsoft products, which were selected for their ability to provide the desired performance and quality profile. One of our biggest accomplishments was a library that allowed MDX queries to be built as an abstract syntax tree in C#, which could have further filters — both security and user-defined — applied later in the request pipeline. Some of the tools and technology used include:

  • C#
  • JavaScript
  • MDX
  • Microsoft ASP.NET MVC
  • Microsoft Web API
  • Entity Framework
  • Bootstrap
  • Durandal
  • Highcharts
  • Microsoft SQL Server
  • Microsoft SQL Server Analysis Services
  • IIS
  • Windows Server 2008 R2

HCA, Nashville, Tennessee

Consulting Application Engineer/Domain Architect
2002-2010

Dollar General, Goodlettesville, Tennessee

Programmer/Analyst - Web/Windows 2000-2002

References

Available upon request