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

Comments Suck and Your Probably Write Too Many

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

How to Make Pure Functions (Go)

Pure Functions in Go

Pure functions are often hyped up in the JavaScript world, probably because of the abundance of stateful front end applications. While pure functions have their downsides (i.e. inconvenience, potentially large argument lists), they should be used as much as reasonably possible. We’ve made a lot of changes in the Qvault app codebase recently to use … Read more

Guard Clauses – How to Clean up Conditionals

Guard Clauses - How to Clean up Conditionals

One of the first concepts new developers learn is the if/else statement. If/else statements are the most common way to execute conditional logic. However, complex and nested if/else statements can quickly become a cognitive burden and compromise the readability of a program. Guard Clauses Guard Clauses leverage the ability to return early from a function … Read more