Software developer, Christ follower, small town kid.

I’m Mark, a software engineer based in Southern Wisconsin. I primarily build web applications with a strong focus on developer experience, automated testing, and accessibility. And yes, I use Vim.

Better Code Highlighting with Shiki

Maintaining a developer blog almost always includes code highlighting. I recently switched from Prism to Shiki for more accurate and familiar code highlighting.

Embracing Shell Scripts

In the world of modern editors and tools, shell scripting has become somewhat of a lost skill or a dark art. In this article, I'll show practical, real-world examples of shell scripts to encourage you to re-explore shell scripting to enhance your workflows and increase your productivity.

My Journey to Become a Staff Software Engineer

A common question I hear from junior-level software engineers is what it takes to advance in their career as software engineers. In this article, I discuss my journey to becoming a staff software engineer and what I learned along the way.

Using Yarn Constraints

Yarn 2 introduced a new feature referred to as "constraints" to help you manage packages in your monorepo. In this article, I explain how constraints work and show you how you can use them to enforce consistency in your monorepo.


  1. Widen, an Acquia Company
    Widen, an Acquia Company
    Staff software engineer
  2. CKH Consulting
    CKH Consulting
    Software developer
Download resume