Words by Noah Mandelbaum, Distinguished Engineer
Illustrations by Mike Damrath, Senior Manager
It takes a large amount of effort to develop applications.
We stand up and then we sit down. We work for weeks to write clean code and to create code coverage. We think hard about how we can make our applications maintainable (using the ideas that Santhi Sridharan laid out in her article on developing maintainable software). Sometimes, we refactor until our vision becomes slightly blurry.
And few things are as frustrating as finding out on release that the application that you lovingly labored to create is flawed…
I’ve found that most explanations about how Node.js handles asynchronous control flow are difficult for me to understand because those explanations assume either 1) a deep knowledge of computer science or 2) the reader is only interested in Node.js, not the foundational pieces it is built on.
This post is my attempt to fill this gap.
Concurrency is everywhere in the modern programming landscape:
Software Engineer at Capital One | Husband/Father | Cat Servant