About

I live and breathe software engineering and data analysis. I have professionally worked with Java, Kotlin, C#, GoLang, PHP, Perl, Javascript, Typescript, SQL, Terraform, and more.

I have a wealth of experience using web development and API development frameworks. Most of my time has been spent in Spring and dotnet core, but I’ve also worked with Azure Function apps, Nodejs, Reactjs, Angular and other various front- and back-end toolchains. I have also worked on projects without much of a framework supporting it. (As far as I can tell, this is relatively common with GoLang.)

I’m cloud capable and good at helping with deployment pipelines and uptime management. I’ve worked pretty extensively in Terraform for cloud infrastructure platforms like AWS and Azure. I’ve also worked in non-cloud environments where individualized deployments are carried out on dedicated, in-house servers. I’ve used CI/CD tools like Jenkins and GitHub actions to make the infrastructure management and deployment processes that much cleaner, safer and less-risky.

I am well-versed in database programming. I’ve spent my time in PostgreSQL, MySQL, Oracle and Microsoft SQL Server, among others. Database programming is the one area of my skillset where I have formal training. I thrive on well-modeled, well-documented, and (usually) robustly normalized data models.

In business terms, I’ve solved some pretty neat problems. I have managed massive data pipelines that shuttle gigabytes worth of data for things like billion-dollar loan portfolios and virtual reality training simulations. I’ve helped make insurance processes and government services more accessible and easy to use for end consumers and constituencies. I recognize that engineers exist to solve real-world problems. While I’m rarely willing to compromise on quality (if I can help it), I understand that without a problem to be solved, I don’t have a raison d’etre. I’m glad there are so many fun and interesting problems to solve!

Accomplishments

Where I've been and what I've done

My career of 13 years has been full, fun and adventurous. It’s also been unconventional.

I am a software engineer. I have worked on green-field applications, building everything fresh from the ground up, but I also have inherited inherited massive existing projects with large amounts of technical debt. I have worked in multiple, varied industries, namely government services, financial technologies, insurance technologies, public safety, customer relationship management, and more. In all cases, I strive to use my talents to make life better and easier for those around me.

Towards the beginning of my career, I worked in digital media, focused on visual display, web layouts, and production of news content. In those days, I managed a publication that won the 2013 EPPY award for best sports website in America. I’ve was an editor, a writer, a producer, a reporter, a photographer, a videographer, a designer, and a brand manager.

I’m also a decorated scholar. I have an MBA and two Bachelor’s degrees.

Axon

Software Engineer II

Remote position based in Utah

I support Axon’s Virtual Reality Training Simulation software. In this role, I contribute heavily and drive the direction of the cloud environment as part of a small team of three. Axon’s VR cloud infrastructure includes multiple APIs development in C# and dotnet, asynchronous message buses, OTLP and NoSQL data storage systems.

Axon’s VR stack is deployed into an Azure-based cloud infrastructure managed by terraform and terragrunt Infrastructure as Code tools. I contribute to the development and management of this cloud infrastructure in my role.

Supporting the VR training application also involves development of Unity library packages that can be seamlessly integrated into Axon’s Unity app development SDLC. I lead development and distribution of Unity library packages relating to Axon’s VR cloud APIs, which simplifies and streamlines the process of integrating the actual devices with Axon’s cloud infrastructure.

I work with these technologies at Axon:

  • C#
  • .NET Core
  • Azure Function Apps
  • Azure Cosmos DB
  • Azure Data Storage Engine
  • Microsoft Transactional SQL
  • Azure Messaging Buses
  • Terraform
  • Terragrunt
  • GitHub Actions

Pathpoint

Sr. Software Engineer

Remote position, based in Utah

Member of the platform development team, responsible for optimizing application performance, development of engineering platform tools, maintenance and organization of cloud infrastructure, and integration of tooling to improved observability into application performance.


Technologies used:

  • Golang
  • NodeJS / Typescript
  • GraphQL
  • AWS CDK + CloudFormation
  • AWS Services:
    • SQS
    • RDS
    • CodePipeline
    • Others

SoFi

Senior Software Engineer

Helena, MT & Salt Lake City, UT

July 2018 – Apr 2022


  • Member and Senior Developer on the loan servicing group, a team that builds tools that actively manage a multi-billion dollar personal loan portfolio, which is among SoFi’s best-reviewed and best-performing products.
  • Areas of focus:
    • Loan amortization and loan repayment schedule generation
    • Principal, interest, and fee calculation and allocation
    • Payment processing
    • Credit reporting
    • Forbearance and loan modification programs for customers facing hardship
    • Automated consumption and distribution of inordinate amounts of credit reporting data
    • Customer relations and communications tools, including SMS, Email, and telephony
    • Third-party integrations
  • Full-stack web development using these tools:
    • Spring Framework for DI & IoC
    • Spring Boot for containerized deployments in Kubernetes
    • Spring Batch for automated file processing
    • Spring Data JPA and Hibernate for data layer integration
    • Spring Kafka for inter-application decoupled communication
  • Languages / Libraries
    • Java
    • Kotlin
    • React
    • AngularJS
    • Bootstrap 3/4

NIC Montana

Web Applications Developer

June 2016 – June 2018


Development of web applications in cooperation with numerous agencies and departments of the State of Montana.

Among the applications to which I have contributed are:

nic logo

Lee Enterprises

Helena, Montana

Digital Project Specialist

   


  • Development of business and marketing plan for overhaul of digital classifieds product
  • Design management of HelenaIR.com and MTStandard.com
  • Technical consultant to the newsroom | Live-streaming and blogging
  • Contests and promotions | Designer-in-chief | Increased promotional engagement by 2000+ percent
  • Email marketing | Grew email distribution base by 1000+ percent
  • Analytics guru | Deep insight into daily traffic numbers to drive content strategy
  • Social media management | Consistent growth in social audience and reach
  • Strategic vertical strategy development
  • Writer | Here’s one piece of mine that went viral in our local market

Deseret Digital Media

Salt Lake City, Utah

DeseretNews.com Sports Web Producer | Oct. 2012 – Nov. 2013

Family Initiative Producer | Feb. 2012 – Oct. 2012

The point man for Deseret News Sports Digital Properties

Deseret Digital Media owns these brands


  • Winner: 2013 EPPY Award for Best Sports Website in America
  • Managed Deseret News Sports digital staff and contribution network of 20+ writers
  • Managed and grew external contributor network by 600 percent
  • Interfaced with editors, executives and jouralists to execute our plans.
  • CMS guru to coworkers and teammates
  • Ad Hoc WordPress development
  • Content marketing to key influencers outside the organization.

Blog

Abusing an ECB cipher to extract unknown encrypted text

July 11, 2024

Trying to see ECB-encrypted image shadows

June 21, 2024

How I set up my own private, home-based VPN

May 10, 2024

Bleichenbacher ’06 RSA Signature Forgery: What they assume you know

December 17, 2021

RSA for those who aren’t number theorists

October 29, 2021

Secure Remote Password Demystified

September 16, 2021

Timing leaks and multi-threading

August 24, 2021

SHA1 and MD4 Length Extension Attacks Explained

July 13, 2021

Breaking Counter Mode Encryption

June 4, 2021

Cloning a Mersenne Twister Random Number Generator from its output

May 26, 2021

Post categories