Richard Clayton

Custom Errors in Node.js

I'm surprised how little custom errors are used in Node.js and I don't understand why.

I was integrating an open source library last week into a project and I was trying to write unit tests covering all failure cases one could expect with the library. The library, however, didn't make use of explicit error cases. This . . .

Read More

Posted in: nodejs

March 04, 2018

Node.js Process Events

Make sure you are listening to them!

I was troubleshooting a bug recently when I noticed an unrelated issue with one of my microservices. We were experiencing a failure in a non-critical component responsible for notifying our internal staff of a minor issue in our business workflow.

This was an issue our development team, extremely thorough QA team, and Ops team missed . . .

Read More

Posted in: nodejs

March 02, 2018

Update - March 2, 2018

Hello friends! If you follow my blog you will have noticed that I haven't really posted any content in a long time (sorry). The reason is that I was extraordinarily busy for the last 2.5 years designing and building a complex microservice architecture at work (and pouring my soul into the endeavor).

Over the course of that . . .

Read More

March 02, 2018

Serverless isn't Effortless

Lessons we learned in our first serious Serverless project.

I've been working on a fairly substantial Serverless project over the last week and I wanted to offer some thoughts to developers considering Lambda-styled infrastructure.

Usually when I say "Serverless", I mean the architectural style of using Lambdas on hosted infrastructure and not the Serverless project. I will . . .

Read More

October 26, 2017

10 Things I learned Working Remotely

Tips for Professionals thinking about making a go of the remote lifestyle.

There are a lot of misconceptions about working remotely. Many people think it's the ultimate way to liberate themselves from the confines of a traditional office -- with their new found freedom they will be able to dictate their own hours, be location independent, and perhaps work less.

In practice, however, I've come to . . .

Read More

April 10, 2017

Speaking Intelligently about "Java vs Node" Performance

Please understand what's really important when it comes to the benefits of a platform.


Unless you know the differences in the process and concurrency models of Java and Node, don't write a benchmark comparing the two. It will be silly to those who know the difference and misleading to those who don't.

For those deciding between the two platforms understand that performance isn't the only . . .

Read More

March 14, 2016

The First 5 Imports

Essential Node/JavaScript Libraries I Can't Live With Out.

When I start a new JavaScript project, it's not uncommon that my first three imports are:

npm install --save lodash async moment

In fact, I find these three libraries so essential, I don't think you'll find a single project I've touched without them. Each library satisfies what I consider a general short coming in . . .

Read More

February 24, 2016