Check for Standards Before Creating a New One

flags

I recently had a ticket opened on my team’s backlog board requesting the ability to bypass our API’s caching system. For context, our front-end team uses my team’s API to make fairly heavy requests to ElasticSearch, and one of the features of our API gateway is to cache the results of heavy aggregations for ~30 …

Read more

Continuous Deployments != Continuous Disruptions

stream running down hill continuous

Luckily, I’ve met very few engineers in my career who are outright opposed to continuous deployment. That said, I have met some, and I think their hesitation is usually rooted in the myth that continuous causes more disruptions to end-users than a batched release cycle. What is continuous deployment? Before we get into the nitty-gritty …

Read more

Backend Developers are UX Designers Too

design notebook

Too often I neglect the idea of UX design in backend work. The goal of user experience design is to give users a product that’s easy to use. In the world of front-end development, that typically means making it obvious how to navigate your site, using commonly-understood icons, or implementing well-contrasted colors for foreground and …

Read more

Naming Variables the Right Way

yelling at computer

I’ve noticed that more and more often that bugs introduced into an existing codebase are due to the poor naming of variables way more often than I think you would expect. Someone uses a rateLimit variable expecting it to be denominated in seconds but instead, it’s in minutes, resulting in a wildly different polling schedule. …

Read more

Top 8 Benefits of Functional Programming

calculus on a chalkboard

Functional programming is a way to writing code where programs are created strictly through functions. Functional programming has gained quite a bit of traction in recent years among the development community, mostly because of the benefits it provides. Functional programming is a declarative way to write provably correct code. Function definitions are expressions that simply map inputs to outputs, rather than a …

Read more

The Pros and Cons of DRY Code

desert landscape

Clean code is like clean garbage – it’s only clean if it doesn’t exist. In other words, the only clean code is no code. Let’s start with an acknowledgment that a perfectly clean (empty) codebase is useless. With that in mind, our pursuit of clean code will necessarily consist of tradeoffs. We’ll trade usefulness for …

Read more

Best Practices for Commenting Code

code comments

I often hear that we need more and better comments in the code we write. In my experience, we often need better comments, we rarely need more, and often we need less. Before you crucify me for my sacrilege, let me explain. #1 – Incorrect Comments Incorrect documentation is worse than no documentation, and redundant …

Read more

Practical Patterns for Technical Writing

Practical Patterns for Techincal Writing

Writing technical documents like API or architectural documentation which exceeds a simple flow diagram can be a daunting task. If you have some experience with technical documents, you will probably agree that there is nothing more frustrating than bad documentation. Lately, technical writing has become a more important part of my job, so I put …

Read more