My name is Craig Taub, this is my blog
I am a software engineer living in London. I post mainly about JavaScript and NodeJS but also occasionally about performance, testing, databases, dev-ops and best-practices.
Also was on the MochaJS core team for over 3 years, testing and open-source is something I care deeply about. Lastly I am a big football fan and support QPR.

I hope you enjoy my blog.

On the web

Under-the-hood of NPM
May 30, 2021

NPM is the official package manager for the NodeJS ecosystem. Since the first release of NodeJS it has come with NPM built-in. The initial release date for NPM was 12 January 2010 and since then has grown into the Worlds largest software registry. I…

Under-the-hood of Git
February 27, 2021

For many years now Git has been the SCM (source control management aka version control) of choice. It offered many features which alternatives such as CVS did not, and combined with GitHub website created an entire CI pipeline which any teams Dev…

Under-the-hood of GraphQL
November 28, 2020

In recent years GraphQL has really taken off as a pattern/library/type system. It offers much which REST does not and its standardisation and flexibily has really helped in its adoption. When I began looking for a detailed explanation of how graphql…

4 techniques to improve as a software dev
August 16, 2020

I spent many years struggling to improve as an engineer. Learning how to use modern tools and frameworks is not the same as actual improvement and in the long run I had not found that it had any kind of meaningful impact on the kind of input I would…

Under-the-hood of VSCode auto formatters (e.g Prettier)
July 02, 2020

VSCode has become a staple for many developers local environment. One of the reasons is the powerful extensions which can be run from within the IDE itself, from type checking to code auto formatting. Here we will take a look at an overview of VSCode…

Feature team vs Product team, which are you?
June 13, 2020

There are many types of teams and cultures that exist inside of businesses which utilise groups of software engineers/developers. Over the past 10 years I have experienced many of them so today I thought I would write about what are, in my opinion…

How the Feature Lead role finally helped me grow
June 12, 2020

I have been a senior engineer for around 7 years. I definitely was not ready for it when I was hired by the BBC, but it pushed me to grow into the role and I eventually did. However the past 4 years or so I have really struggled to grow more. My…

Under-the-hood of test runners (e.g Mocha)
June 08, 2020

Test runners are a very important part to the modern JavaScript application. Without which we could not be able to run any tests at all. They are fairly straight forward to understand in terms of what they do, they run your tests and print output…

Introducing my under-the-hood of series
May 28, 2020

I am producing a blog and video series taking an indepth look at the mechanisms inside of different tools and libraries found in the JavaScript ecosystem. My approach is to start with an overview then build mini (~50 lines) working versions of them…

Under-the-hood of type systems (e.g. TypeScript)
May 08, 2020

I struggled to find an explanation from a low-level view of exactly how a "JavaScript type system compiler" is implemented. I understood many of the jobs of a type system but was unsure of the mechanisms involved and how they worked together. This…

Source maps from top to bottom
April 29, 2020

This article covers a basic overview and an in-depth explanation of the mechanics of JS code generators and source maps. Building our own from scratch, hence why it is quite long. Source Maps are something of a mystery to most people. They are found…

Under-the-hood of React Hooks
April 20, 2020

React is filled with interesting design patterns, when Hooks were introduced it cleaned up many of the issues people had with the more arguably frustrating features such as classes and lifecycle methods. Today we will have a look at building our own…

Under-the-hood of Web bundlers (e.g. Webpack)
April 19, 2020

Webpack is somewhat of a black box for most developers. Tools like "create-react-app" abstract most of the bundler functionality away. I did some research into it and began building my own light-weight web bundler to understand more about what it…