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 pr...
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 ...
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 ...
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 grasp on RESTful API design and implementation, and GraphQL didn't seem like something I'd really "need". Having had a bit more exposure to GraphQL, though, I'...
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...