About Ryan

picture of Ryan

Hobbies

Ryan enjoys
DIY projects for the camping/adventure van, Goldie
Visiting breweries and beer gardens in new towns when traveling
Taking photos of the pets
Video games
woodworking
welding
small electronics
music festivals

Skills

  • Frontend development
    • basic websites using static generators like hugo and jeykll
    • complex web applications using react, redux, javascript, and typescript on UI frameworks like bootstrap or material
    • re-usable modules with webpack and npm
    • testing with jest, karma, jasmine, browserstack, and cypress
  • Backend development
    • restful APIs with HTTP and JSON using C#/ASP.NET Core and python/flask
    • authentication and authorization using oauth and JWTs
    • event-driven architecture using AMQP, rabbitmq, and Azure Storage Queues
    • serverless architecture using Azure Functions with C#, F#, and nodejs
    • re-usable modules with nuget
    • testing with mstest and pytest
  • Relational Databases
    • data modeling
    • query optimization
    • authentication and fine-grained authorization using GRANT
    • monitoring, backups, restores
    • deployment using Entity Framework Migrations and flyway
    • experience with SQL Server, Azure SQL DB, postgresql, mysql, and sqlite
  • DevOps
    • create independent development environments using docker and docker-compose
    • deploy containerize applications using Kubernetes and helm
    • monitor and debug applications using prometheus, alert manager, grafana, kibana, pagerduty, and bash scripts
    • create build pipelines with automated testing and static analysis using Github actions and Gitlab pipelines
  • Documentation
    • convey complex ideas with flowcharts, sequence diagrams, and C4 diagrams using mermaid and graphviz
    • capture important contextual information using git commit messages, ticket comments, architectural decision records, and code comments
    • make the software development lifecycle transparent using ticketing systems and keeping them up-to-date
    • experience with Jira, trac, Github, Gitlab, pivotal tracker, trello, mediawiki, and Confluence

Notable Work

Custom application development

Interview clients to design user interfaces and business processes, then implement those using a wide variety of web and RDBMS technologies. Work with clients to evolve the system to better meet their needs and reduce operating costs.

Technical debt collection

Adopt old systems, introduce automated tests, documentation, and de-duplicate code. Upgrade user interfaces to use modern UI conventions. Clean up systems incrementally in concert with bug fixes and new feature development.

Energy conservation and data display

Import utility consumption data from diverse sources, efficiently store in a relational database, and display via web-based maps. Analyze data using statistical models.

Electronic voting for a college student government

Interface with third-party authentication systems, support high volume web traffic with high data integrity and security requirements.

Server and application monitoring

Design low-impact means to gather relevant performance and health metrics, minimize notification spam, analyze data to predict problems.

Woodworking - custom furniture and knick-knacks

Design, choose and re-use materials to minimize waste, measure, and construct in the garage workshop. Use power tools and retain possession of all fingers.

Job History

Infinite Energy

2015 - Present

Principal Engineer

Work with multiple development teams to guide architectural and design decisions toward consistent, modern solutions.

Software Developer 4

Work with CIS-focused team to modernize and improve maintainability. Introduced new-to-company test automation practices and tools. Led incorporation of angularjs as a stepping stone away from the older technologies then in use.

Accelerated Data Works, Inc

2001 - 2015

Director of Development / Programmer / Consultant

Led a small team on many IT projects with diverse requirements. Designed and built small to medium custom websites.

Education

  • Microsoft Certified Professional
  • Microsoft Technology Associate: Database Administration Fundamentals
  • Microsoft Specialist: Programming in C#
  • BS, Computer Engineering from the University of Florida