<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bruno Trindade Bragança</title>
    <description>The latest articles on DEV Community by Bruno Trindade Bragança (@brunotrbr).</description>
    <link>https://dev.to/brunotrbr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F341668%2F7f8e7bb8-7f61-4462-aa51-89643489042c.jpeg</url>
      <title>DEV Community: Bruno Trindade Bragança</title>
      <link>https://dev.to/brunotrbr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brunotrbr"/>
    <language>en</language>
    <item>
      <title>How node.js really works...</title>
      <dc:creator>Bruno Trindade Bragança</dc:creator>
      <pubDate>Fri, 25 Sep 2026 10:21:06 +0000</pubDate>
      <link>https://dev.to/brunotrbr/how-nodejs-really-works-3obk</link>
      <guid>https://dev.to/brunotrbr/how-nodejs-really-works-3obk</guid>
      <description>&lt;p&gt;I'll start here with a mantra:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop waiting on I/O. Let the event loop do the work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, why am I telling you this? Do you know how node.js handles each request, and how it may help you to have a better experience in your software?&lt;/p&gt;

&lt;p&gt;Imagine a restaurant with a single waiter.&lt;/p&gt;

&lt;p&gt;In traditional server architectures (synchronous by default, like Java or C#), when a customer orders food, the waiter takes the ticket to the kitchen and stands idle at the counter waiting for the chef to finish cooking. No other customer gets served until that single meal is ready. To handle 100 customers, you need 100 waiters—which gets expensive and chaotic to manage.&lt;/p&gt;

&lt;p&gt;Node.js changes this model completely!&lt;/p&gt;

&lt;p&gt;It operates on a single thread with a smart event loop. The waiter takes your order, sends it to the kitchen, hands you a call buzzer, and immediately moves to serve the next customer in line. The waiter never wastes time standing still.&lt;/p&gt;

&lt;p&gt;When your food is cooked, the buzzer rings (an asynchronous callback), and the waiter picks up the dish to hand it to you between taking new orders.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways for Node.js concurrency:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Non-blocking I/O&lt;/strong&gt;: Reading database records, files, or network calls happens in the background.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Single Thread Efficiency&lt;/strong&gt;: One process handles thousands of concurrent connections without CPU idle time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lower Complexity&lt;/strong&gt;: Eliminates thread synchronization bugs and heavy memory overhead.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, the real explanation direct from Node.js documentation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A Node.js app runs in a single process, without creating a new thread for every request. Node.js provides a set of asynchronous I/O primitives in its standard library that prevent JavaScript code from blocking. In addition, libraries in Node.js are generally written using non-blocking paradigms. Accordingly, blocking behavior is the exception rather than the norm in Node.js.&lt;/p&gt;

&lt;p&gt;When Node.js performs an I/O operation, like reading from the network, accessing a database or the filesystem, instead of blocking the thread and wasting CPU cycles waiting, Node.js will resume the operations when the response comes back.&lt;/p&gt;

&lt;p&gt;This allows Node.js to handle thousands of concurrent connections with a single server without introducing the burden of managing thread concurrency, which could be a significant source of bugs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Source: &lt;a href="https://nodejs.org/learn/getting-started/introduction-to-nodejs" rel="noopener noreferrer"&gt;introduction-to-nodejs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, stop waiting on I/O. Let the event loop do the work.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>node</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
