Hey there! I’m on the lookout for my next engineering leadership adventure. If you know of any roles let me know through my contact page or on LinkedIn.
August 20, 2025
Discover the 100-year-old Ivy Lee Method—a simple daily routine of six tasks that can sharpen focus, build momentum, and boost productivity.
August 14, 2025
Stop testing nerves. Start testing skills. Here’s a coding interview that’s fair, real, and actually worth everyone’s time.
August 4, 2025
Promotions go to those who do the job before they get the title. Discover how to mind the gap and position yourself for the next step in your career.
July 25, 2025
I got laid off. Then came the questions: what happened, what now, and what’s next? This is a personal reflection on losing a job, dealing with the aftermath, and finding a way forward.
March 16, 2023
1-1s are intended for the team member, not the manager. In this article we look at how we come to that conclusion and what we can do to make the most of our 1-1s.
April 11, 2022
With everything we have to do, is another meeting necessary? It is if you want to engage your engineering staff and taking ownership over the product they work on.
June 27, 2020
Thinking in processes is already difficult; writing automated tests for those processes shouldn't make it worse. Elixir provides the necessary tooling to ensure your processes are rock solid. This article explains how to use them.
May 29, 2020
Observability in most programming languages is really just guesswork, but Elixir gives you the tools to know exactly what's happening in your processes and applications. This article shows you how.
April 16, 2020
Erlang's motto is "Let it crash." But what then? What do you do with a dead process and how do you even know it's passed on? Linking and monitoring is the answer, but which one do you choose and when? Let's find out.
March 14, 2020
Most programming languages use thread pools to improve performance; in Elixir, we use them to constrain our applications. In this article, we explore both why and how to do that with the excellent Poolboy library.
December 8, 2019
All of OTP is built on a handful of process primitives. In this article, we'll explore three in particular – spawn, send, and receive – to see how they work together.
October 21, 2019
Broadway is Plataformatec's fourth attempt at streamlining the retrieval and processing of data in Elixir. This article gives you a glimpse into that journey, provides a deeper understanding of the library, giving you everything you need to build your own Broadway application.
September 2, 2019
For measurements to be valuable, they must be collated into metrics. Elixir's Telemetry.Metrics library enables us to aggregate measurements from functions and processes into valuable metrics to aid us in making decisions about our projects.
August 1, 2019
Erlang can be an intimidating language, but it doesn't have to be. This article explores the more common features with the goal of enabling you to more easily include Erlang libraries in your Elixir projects, and to read and understand the documentation.
June 24, 2019
It's commonly quoted that 'What gets measured gets managed,' but how do you do that? Elixir's Telemetry library enables you to stop worrying about *how* to capture your system's data and more time thinking about *what* data to capture.
May 9, 2019
Is there anything to be gained by not using search engines? Do we rely on them too much and think too little?
March 31, 2019
A look into what Elixir protocols are, why we should use them, how to implement a protocol on a struct or type, and finally how to create our own.
February 17, 2019
Literally a exposition of what parameters I consider for rating a book on a 1-5 star scale.
January 1, 2019
In this article we look at how to render templates from within Views, Controllers, and even other Templates. We also look at how to work with Layouts and Nested Layouts.
December 16, 2018
A look at why Phoenix templates are so performant and an introduction into how to build them.