Exercise-driven course to Node.js
operating principles.

Node.js seems great until you have to make an asynchronous call

You know how Node.js seems great until you have to write an asynchronous call. You google like crazy, copy & paste code from tutorials and eventually raise your hands and give up. When are callbacks run? Who runs them and are they run in parallel or not? How do worker threads fit into this? It looks like it takes five months and reading half of Github to "get" callbacks, worker threads, and asynchronicity.

You know using JavaScript both on the front and back-end has benefits but looks like Node just wasn't meant for you.

Asynchronous call tree

What if you knew exactly what happens behind the scenes

Imagine writing your next program in Node - one that calls three web APIs, posts to Twitter and scrapes two other web pages all at the same time asynchronously. You'd write performant apps and use technology stack that's from this decade. And you'd be hot stuff on the job market, too.

It's true, asynchronicity can scare off people from learning Node, but it doesn't have to.

Learn the right mental model to write Node apps

The operating principles of Node are simple and straightforward when you zoom out from the level of individual statements and for-loops. When you focus on the system that operates outside user code, you'll grasp the right mental model for writing Node programs.

What if you could turn any spec into working code

On this email course, you learn Node.js operating principles. It's the foundation that you can use to start your Node journey on the right foot. You'll receive 21 emails and have 5 compelling home assignments to work on. Practice is crucial for learning any new skill, that is why you'll submit your answers the exercises before the course continues.

Everything needed to learn Node.js operating principles in one place.

Don't miss the opportunity to take exercise-driven course to Node.js operating principles

Asynchronous call tree

Tick 21 Emails

Tick 5 Home Assignments

Tick All-in-one PDF

Tick Source Code


Counterintuitive Callbacks

β€œComing from traditional programming background, I always thought callbacks are a little counterintuitive. β€œ

- Java programmer, new to JavaScript -


Documentation Hard to Find

β€œOne thing that always surprised me is that how little documentation the main Node.js site has on the operating principles.β€œ

- Developer for 8 years, new to Node.js -

Course Contents

  • mental model how to approach writing Node programs
  • system outside of user code
  • timers, setTimeout()
  • πŸ† Breathing Relaxation App
  • system calls initial user code
  • pseudo-code of the system
  • πŸ† Common Stack Overflow Question
  • knows callbacks are not run in parallel
  • can read files
  • asynchronous call starts immediately and returns without results
  • function is called when results are in
  • can use error argument
  • πŸ† MD5 File Hasher
  • can use streams
  • can calculate hashes
  • can read asynchronous code
  • knows difference between function arguments passed to forEach() and setTimeout()
  • can visualize program execution and outstanding operations
  • can put dependent logic inside callback
  • can make HTTP calls
  • πŸ† Twitter Weather Bot
  • can make use of waiting time
  • can start multiple calls right away or after each other
  • knows about worker threads
  • πŸ† News Aggregator
  • can care for other computations
  • can use setImmediate()
  • πŸ† Prime Number Calculator
  • knows about externalizing cpu-heavy calculation to own process
  • knows about process.nextTick()
  • knows in detail how the system outside user code operates

Q & A

Should I know JavaScript before taking the course?

You should know entry level JavaScript and have some previous experience in programming. You don't need in-depth experience with Node. All advanced Node topics are introduced with links to additional material.

Do you offer refunds?

Yes. If you're not happy with the course, hit us an email within 30 days and you'll get a full refund.

Does the course teach async-library, Promises, generators or async/await?

No. This course is for learning the operating principles behind Node.js. We'll use callbacks and plain Node. Learning async-library, Promises, generators and async/await is much easier after you've learned the basics, though.

Does the course use ES6?

The examples use ES5 version of JavaScript. ES6 is worth learning, but you should learn only one new thing at a time so the course sticks to ES5.

How much time should I allocate for the course?

You should allocate 30-60 minutes a day for the course. Each lesson is bite-sized in length and is digestible in one session.

How long does it take to finish the course?

If you submit each homework assignments within a few days, you'll finish the course in three weeks.

Can I work at my own pace?

The course pauses on homework assignments, and you can take as long as you need. The course continues when you submit your answer.

What format is the course in?

The course is delivered through email. You'll receive one email a day. And at the end, you'll have access to all-in-one PDF with all the lessons and a ZIP of all source code.

Are the exercises mandatory?

Yes. The course pauses until you submit your answer. The answers are kept private and are first and foremost for yourself.

Get free sample lesson and short email course on Node asynchronicity

Your email address

Write Asynchronous Programs course is brought to you by Byte Archer. On this site you'll learn JavaScript, Node.js and TypeScript so you can be at home in today's all-JS web development world.