Programmers are fiends for productivity methodologies — ways to estimate tasks more accurately, get more done in less time, and get work…
The juxtaposition of the term “software engineer” against other engineering disciplines strikes me as particularly awkward, in the same…
Due to the pandemic, my love of good coffee has turned into more of a hobby. I can no longer grab a cappuccino on the way to work, or get a…
Apollo is a company which provides a nicely-written and open-sourced client and server combination for GraphQL. As of this writing, it is by…
I’ve had a strange relationship with biology. My father is a chemical engineer, and he did a great job of instilling interest in the…
In my home, I use a Synology NAS (Network Attached Storage) as a web server, computer backup, and media content provider for video/picture…
I like to personally review every pull request that goes into the code base; I believe that it gives me a greater ability to speak to what’s…
If you’re a football (the real kind, not soccer) fan, you’re well-aware of the yearly schedule release. At some point between April and…
At one point in my career, I enjoyed the perhaps overly-lavish digs over at Google’s NYC office. While I believe much of the hype regarding…
Regardless of how polished your fundamentals are, it’s inevitable that mistakes will happen. Much of what differentiates a productive and…
For better or worse, many of the biggest performance gains in front-end engineering regard lowering network payload, and the biggest…
Code Review is a great way to ensure that code that goes in is high-quality. A lot of value here isn’t from the review itself, it’s from the…
Code smells are patterns indicate a potential problem with a section of code. While the associated code typically does actually work, it…
xkcd What is code style? Code style is a term of quality used to describe code that is authored to be readable and comprehensible. This…
High-quality code has the dual properties of high cohesion and low coupling. Cohesion represents the degree to which the elements inside a…
Command-Query Separation is a guideline to help you write clean, reusable code. It helps you mentally separate responsibility in functions…
Comments are a useful, but often abused, tool. You should actually avoid comments where possible. Comments (including jsdoc) should be…
Container/Presentation Separation is a mode of organizing front-end functionality so that changes are easier to adapt to and testing is…
The “Five Point System” is a way to organize explicit work towards refactoring React code into best practices. While all new work should…
Why do components update? In React, components update when a value in prop or state changes. When this happens, the component itself runs…
What does a good function look like? Most of us know when we see a really bad function, but noting a great, delightful function is much…
If you use an object literal within a component, it will cause unnecessary re-renders (in other words, slow performance). There are 3 types…
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” The main point of modern…
“There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.” Much of the difficulty in…
Pair Programming is a great way to write better code and disseminate knowledge through the team at the same time. Counterintuitively…
The following are thresholds that I believe should be measured and analyzed against before a deploy can occur. The values will differ from…
The Principle of Least Surprise is a concept that is used to frame your mindset as you code. If a necessary feature has a high astonishment…
Readability is a system internal at Google that I brought over to Jet for great effect. It’s a system for ensuring that code quality stays…
Why bother refactoring? Refactoring is a core part of all development work. You should have some form of refactor in every PR you make. Each…
The Render Cycle By default, React re-renders a component when it receives a render trigger. What happens during that process? Something…
Linting is a set of metrics that are statically analyzed against the code. This static analysis can inform the user about known bad code…
SOLID is an acronym for a set of best-practice principles that have been shown over time to result in higher-quality code. They’re concepts…
Test-Driven Development (TDD) is a technique that helps developers write better and more high-quality code. Some experts even argue that the…
Why bother with testing? Testing is important for many reasons: It catches bugs early on. It describes the intent of the code (in other…