<?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: Ahmed Farooq</title>
    <description>The latest articles on DEV Community by Ahmed Farooq (@ahmedfarooqdev).</description>
    <link>https://dev.to/ahmedfarooqdev</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%2F1607442%2F5877333d-0530-4953-853f-d664fa1e5ece.png</url>
      <title>DEV Community: Ahmed Farooq</title>
      <link>https://dev.to/ahmedfarooqdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahmedfarooqdev"/>
    <language>en</language>
    <item>
      <title>Why I choose Go over Node</title>
      <dc:creator>Ahmed Farooq</dc:creator>
      <pubDate>Fri, 06 Jun 2025 08:07:19 +0000</pubDate>
      <link>https://dev.to/ahmedfarooqdev/why-i-choose-go-over-node-54ng</link>
      <guid>https://dev.to/ahmedfarooqdev/why-i-choose-go-over-node-54ng</guid>
      <description>&lt;p&gt;As a node js developer it's really - really hard for me to admit that node is not built for complex multithreading applications. Somethings which would be as easy as hello world in some other language or runtime - it would be near impossible to implement in node js espically due to it's single threaded nature. Go on the other hand comes with built in support for multithreading.&lt;/p&gt;

&lt;p&gt;I had been tackling an issue where I needed to synchronize my database with a CRM database which had strict limit on how many API requests I could make per 5 secs. I tried everything from shifting framework (Node to Nest), tried using event driven architecture with REDIS as transport, and tried using BullMQ. But nothing worked; I needed my application to run 24/7 and keep data in sync - node just couldn't do it. It lacks alot in this domain due to it's internal acrhecture. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl5li8ekc42yy25nnsdy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl5li8ekc42yy25nnsdy.png" alt="Sample architeture for api polling" width="717" height="653"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go on other hand had shined here - it came with built in support for background jobs running on multiple threads. I could make 100s to 1000s of background jobs using go routines on same machine where I could barely run 3 or 4 in node js. Go allowed me to run the application 24/7 without any downtime - yes I mean any. Not once was heap memory full or some other internal issue. &lt;/p&gt;

&lt;p&gt;But even go had it's downside. Not a lot of community support espically in niched areas. I had to build a lot of stuff which is easy to implement in node js by installing third party libraries. &lt;/p&gt;

&lt;p&gt;if anyone has worked or is working on API polling database's, or similar task - I would love to connect with you&lt;/p&gt;

</description>
      <category>go</category>
      <category>polling</category>
      <category>typescript</category>
      <category>node</category>
    </item>
  </channel>
</rss>
