Some Node Skills to Explore


We are hiring a bunch of Node.js developers at the moment. You may be as well. I'm sure you have a good list of skills that you're looking for in developers that join your posse. Here are a few technical things I think about when getting the opportunity to sit down with a Node developer.

What might you add to the list?

Async Programming

  • What are options for async flow control? Favorites? Least? Pros? Cons?
  • Node event loop -- How does it work? What applications does it fit?

Error Handling

  • Limitations/advantages in handling async errors?
  • Handle errors in Promises?
  • Handle errors in callbacks?
  • What errors should be thrown?

Functional

  • What is immutability? Why want it?
  • Basic Array.prototype methods?
  • What does shared state give you?
  • Advantages to pure functions?
  • Applications of higher-order functions?

API

  • Specifically, how does CORS work?
  • Familiar with which request and response formats? Favorite? Worst? Why?
  • How does middleware work? When do you like to use it?

Ops

  • How can you use all CPUs on a server?
  • How to associate logs together with a single request path?
  • How to recover from fatal errors?
  • How do you load per-environment configuration?
  • How do you handle versioning of your apps and libs?

Modules

  • Why use modules?
  • How do you organize your API apps' modules?
  • Flavors of exports? When do use each?

ES Next

  • Which new features have you used? Like, not like?
  • async/await - Used instead of what?
  • Object literal extensions - How used?
  • Spread operator - Helpful usecases?
  • Arrow functions - What do they help with?