Tao of Node contains proven rules and guidelines to build better applications. You will learn more about architecture, design, tooling, testing and performance.
Contains 125 rules, grouped in 6 chapters, totalling 190 pages.
This is the question every beginner has once they learn the basics of Node. You know how to build an application and understand how the tools work. But once you start working on your first project, questions pop up. How do I structure it? Where do I put my business logic? How do I make it more reusable? What libraries should I use? What about the database?
There are many resources that can teach you the little pieces. No one tells you how to put them together to build real software. Most applications need to be extended, modified and supported. To work productively you need more than surface-level knowledge of Node.
Let me help you out. Through trial and error I've formulated a set of principles that I follow when building Node applications. I've learned them the hard way but you don't have to.
Tao of Node is made for beginners who want to get to the intermediate level. The best time to read it is when you've grasped the fundamentals and are starting to build real applications.
This book will not teach you Node.js from scratch. It builds on top of the core concepts and helps you form the right principles. So what knowledge do you need? Basic understanding of a router like Express, experience with any kind of database and one personal project to practice with.
If you've built an application following a tutorial and you're wondering how to structure it - this is for you. If you're unsure what's the best way to deploy it - this is for you. If you're not sure what you should focus on to make your code cleaner - this is for you.
Tao of Node will help you go to from beginner to intermediate by helping you understand the core principles of software design.
Each chapter contains a set of simple rules that will help you build great software. You don't have to read them in a particular order. Dive in and learn what's most interesting to you.
High level concepts and decisions that make a codebase modular and extensible - structure, abstractions and business logic.
The technologies and libraries to focus on for your next project - frameworks, databases, supporting tools, logging and monitoring.
Development is never final. We'll learn principles about testing that will help us maintain quality and stability as our application grows and changes.
It doesn't matter how good your product is if it's slow. We'll explore core performance principles to keep in mind.
Two technologies with great Node.js support that any engineer should understand. We will go over the best practices for each one.
A collection of common problems that you can face in your work. From extracting a microservice to how to apply these patterns to existing projects.
Each rule is a concise, self-contained principle that gives you actionable advice. No unnecessary explanations, no specific reading order. It always contains context to understand the problem.
Background about a design or architectural problem.
Examples of non-ideal solutions and anti-patterns.
A better way to solve that problem.
I believe that basic knowledge should be public and accessible so I have uploaded around a third of the book for free on my personal blog. It's been read by over 20K people in the last 6 months. You can take a look right now, no email required.
You buy me lunch and I tell you everything I know about Node.
I'm a software engineer by day, writer by night and Dungeons & Dragons enthusiast in between.
I started working with Node because I wanted to use the same language in the browser and on the server. Since then I've become passionate about this technology and I've used it in both startups and large corporations. Node's future is bright and I want to help others learn the best practices around it.
My aim is to pass down what I've learned about architecture and software design through my books. Tao of Node is the second in a series that started with Tao of React.
Why is it called Tao?
Tao is the absolute principle of the universe in Chinese philosophy. Tao of Node is a collection of my foundational principles for building applications.
Will this book teach me Node?
This isn't a book about the fundamentals. The best time to read it is when you are familiar with Node and Express (or another routing library) and want to take your skills to the next level.
Does it cover tools like databases?
The focus of the book is on software design and building web APIs. We cover popular tools and how to work with databases but it's not in depth.
How opinionated is it?
It describes the way I build Node services so you consider it opinionated. It's a good starting point that you can break out of depending on your problem.
Can I get a discount?
I want this book to be accessible. If you can't afford it message me on Twitter or LinkedIn and we'll sort it out.
What if I don't like it?
No worries, I'll give you a full refund.