- Understand callbacks, EventEmitter and error handling
- Understand both async and sync Filesystem API
- Feel comfortable writing Node.js modules
- Write http server and clients
Good to know
- npm and userland ecosystem
- Streams API
- Execute external processes using child_process
- Work with networking API (dgram, net)
- Testing and Debugging
- Read lots of code.
- Write lots of code.
- Don’t be afraid to throw it away.
- Don’t be afraid to share it.
- Find your happy place writing tests.
- You’ll probably spend more time writing tests and debugging than writing code. Embrace this. Make it a key part of your workflow.
- Tests are one of the first things I read in a module. That and the example(s). Probably before API docs.
- Don’t know where to start. Write some tests for a module you like. This benefits everyone.
- You’ll improve your overall skill set most effectively by choosing something that really clicks for you and diving deep into that thing.
If something isn’t clear, write something yourself. Share this with someone you trust. Avoid pedantry. Contribute what you and others find meaningful.
Leveling-up even more
- What worked for you?
- What was hard? What help you break through?
- There is always someone who isn’t quite as far along on their journey as you are. Help them. Help those who are sincerely interested.
- Teaching others will force you to understand things more deeply.
- Often in explaining something to someone else, you will improve your own understanding of that thing.