Blog Posts

  • Array Methods in JavaScript

    A few months ago, I gave a Lunch and Learn talk at work about some common methods and patterns for working with arrays in JavaScript. I had noticed some common confusion among some of the junior engineers on my team when working with collections of data, so I decided to collect some patterns and…

  • Quick Tip: Guard Clauses

    There are a few things that I find come up more often than others in code review. Whether I'm the one doing the review, or I'm receiving code review from a peer, there are some things that are just more obvious to someone with an outside perspective. One of these things, I've found, is the concept…

  • Software Engineering Jobs: Product Teams vs Agencies

    In the software engineering industry, it's common to divide jobs into two broad classifications: product and agency. A product job involves working for a company who sells or actively develops some software product that's consumed by end users. The company owns the product, and the product in some…

  • Intro to GraphQL

    When I first heard about GraphQL, I was unconvinced about its usefulness or applicability to the way I write web applications. I had a good grap on RESTful API design and implemenation, and GraphQL didn't seem like something I'd really "need". Having had a bit more exposure to GraphQL, though, I'm…

  • Async patterns in JavaScript

    JavaScript is regularly referred to as "async by default", but the way in which async code is commonly handled has changed over JavaScript's lifetime. We've moved from callbacks to promises to async/await over the years, but each of these approaches in related to its predecessors in one way or…