<?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: Zakaria Haruna </title>
    <description>The latest articles on DEV Community by Zakaria Haruna  (@zakaria_haruna_b4d3cfd189).</description>
    <link>https://dev.to/zakaria_haruna_b4d3cfd189</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3282957%2F147893ed-d9a7-40b7-8a3d-01f6a13f98e0.jpg</url>
      <title>DEV Community: Zakaria Haruna </title>
      <link>https://dev.to/zakaria_haruna_b4d3cfd189</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zakaria_haruna_b4d3cfd189"/>
    <language>en</language>
    <item>
      <title>My First Hackathon Experience: What I Learned as a Beginner Developer</title>
      <dc:creator>Zakaria Haruna </dc:creator>
      <pubDate>Mon, 24 Nov 2025 19:46:36 +0000</pubDate>
      <link>https://dev.to/zakaria_haruna_b4d3cfd189/my-first-hackathon-experience-what-i-learned-as-a-beginner-developer-2n50</link>
      <guid>https://dev.to/zakaria_haruna_b4d3cfd189/my-first-hackathon-experience-what-i-learned-as-a-beginner-developer-2n50</guid>
      <description>&lt;p&gt;Hackathons have always been one of those things I heard a lot about ever since I started learning to code. People talk about how intense and competitive they can be, and for the longest time, that made me both curious and a little nervous 😓.&lt;/p&gt;

&lt;p&gt;I used to believe that hackathons were meant only for seasoned developers, so I never paid much attention to them—until an unexpected opportunity forced me to step out of my comfort zone.&lt;/p&gt;

&lt;p&gt;This is the story of how I joined my first-ever hackathon, what the entire process looked like, and the most important lessons I took away from it as a growing developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It All Started
&lt;/h2&gt;

&lt;p&gt;As someone passionate about technology, I make a point to connect with developers whenever I can. Through one of these connections, I ended up joining a local developers’ WhatsApp group where members share upcoming tech events, job opportunities, and project collaborations.&lt;/p&gt;

&lt;p&gt;One day, a message popped up:&lt;br&gt;
“Weekend Hackathon—Developers Needed.”&lt;/p&gt;

&lt;p&gt;Instantly, my mind went to the same old thought:&lt;br&gt;
“This is for experienced developers… and you’re not one of them.”&lt;/p&gt;

&lt;p&gt;But my curiosity took over, and I applied anyway—just to see what would happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Selected
&lt;/h2&gt;

&lt;p&gt;A few days later, I received an email saying I had been selected. I was excited and nervous at the same time. On the morning of the hackathon, participants received a Google Meet link to kick off the event.&lt;/p&gt;

&lt;p&gt;The hackathon was organized by a new startup searching for developers. Because of this, they already had a list of real-world projects they wanted participants to work on. These projects were categorized into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;T1 – Beginner level&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;T2 – Intermediate&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;T3 – Advanced&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each project also had a reward attached, and participants would receive the prize if they completed at least 90% of the tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choosing My Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I chose a T1 project and received a GitHub invitation. After accepting it, I forked the repository, cloned it to my local machine, and began reviewing the code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The startup’s instructions were clear:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Understand how the project works&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identify the working and broken features&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix the issues&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add extra features if time allowed&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since this was my first hackathon, everything felt new. I quickly went through the onboarding guide, took a deep breath, and jumped straight into coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 8-Hour Coding Marathon
&lt;/h2&gt;

&lt;p&gt;I spent the entire 8 hours in my room—just me, my laptop, and the project. I debugged, fixed errors, added functionality, and tested everything repeatedly.&lt;/p&gt;

&lt;p&gt;Surprisingly, it was fun!&lt;/p&gt;

&lt;p&gt;There’s a different kind of excitement that comes with working under pressure, knowing there’s a deadline and a goal you're trying to reach.&lt;/p&gt;

&lt;p&gt;At the end of the 8 hours, all participants joined the Google Meet again to present our final demos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Winner Selection &amp;amp; Rewards
&lt;/h2&gt;

&lt;p&gt;After the demos, winners were selected based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Features implemented&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code quality&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Completion percentage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creativity in additional features&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each winner received a prize according to their project category—and I was one of them 🎉.&lt;/p&gt;

&lt;p&gt;For someone who started the day unsure of what to expect, walking away with a reward felt amazing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;p&gt;Here’s what this hackathon taught me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Take chances—even when you feel unprepared&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I almost didn’t apply because I doubted myself. Yet, taking that small chance opened the door to an incredible experience.&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Practice builds confidence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Working on a real project helped me apply the skills I’ve been learning far better than any tutorial.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;Hackathons are powerful learning grounds&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You get to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sharpen your problem-solving skills&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gain real-world experience&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;See how other developers approach problems&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;build your portfolio&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4.&lt;strong&gt;Networking matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I met talented developers I can collaborate with in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;If you’re learning software development, don’t wait for the “perfect moment” to test your skills. Hackathons, coding challenges, and small real-world projects are some of the best ways to grow as a developer.&lt;/p&gt;

&lt;p&gt;Software development is constantly evolving. The more you practice, the more confident and capable you become—and hackathons provide the perfect environment to push your limits.&lt;/p&gt;

&lt;p&gt;I'm a &lt;strong&gt;MERN-stack developer&lt;/strong&gt;, open to collaborations.&lt;br&gt;
Feel free to connect, like this post if it inspired you, and check out my &lt;a href="https://github.com/HarunaZakaria" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; to see what I’m currently working on.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>learning</category>
    </item>
    <item>
      <title>SQL vs NoSQL Databases: Key Differences Explained</title>
      <dc:creator>Zakaria Haruna </dc:creator>
      <pubDate>Thu, 21 Aug 2025 13:15:49 +0000</pubDate>
      <link>https://dev.to/zakaria_haruna_b4d3cfd189/sql-vs-nosql-databases-key-differences-explained-1agm</link>
      <guid>https://dev.to/zakaria_haruna_b4d3cfd189/sql-vs-nosql-databases-key-differences-explained-1agm</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Selecting the right database is crucial for ensuring optimal application performance, scalability, and effective data management. Two of the most widely used database types are SQL databases and NoSQL databases. Both store and manage data, but they differ in structure, use cases, and scalability. In this article, we’ll explore the difference between SQL and NoSQL databases, their advantages, and when to use each.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an SQL Database?
&lt;/h2&gt;

&lt;p&gt;SQL (Structured Query Language) databases are relational databases that store data in structured tables made of rows and columns. Each table has a predefined schema that ensures consistency and organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of SQL Databases
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Fixed and predefined schema&lt;/li&gt;
&lt;li&gt;ACID compliance (Atomicity, Consistency, Isolation, Durability)&lt;/li&gt;
&lt;li&gt;Strong data consistency&lt;/li&gt;
&lt;li&gt;Ideal for handling complex queries&lt;/li&gt;
&lt;li&gt;Popular examples: MySQL, PostgreSQL, Oracle, Microsoft SQL Server&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is a NoSQL Database?
&lt;/h2&gt;

&lt;p&gt;NoSQL databases are non-relational and designed for flexibility and scalability. They allow developers to store unstructured or semi-structured data in formats such as documents, key-value pairs, wide-column stores, or graphs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of NoSQL Databases
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Flexible and dynamic schema&lt;/li&gt;
&lt;li&gt;Follows the BASE model (Basically Available, Soft state, Eventually consistent)&lt;/li&gt;
&lt;li&gt;High scalability and performance&lt;/li&gt;
&lt;li&gt;Supports unstructured, semi-structured, and hierarchical data&lt;/li&gt;
&lt;li&gt;Popular examples: MongoDB, Cassandra, CouchDB, Redis, Neo4j&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SQL vs NoSQL: Major Differences
&lt;/h2&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%2Fkl1pbdj2tb50eg63o9ai.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%2Fkl1pbdj2tb50eg63o9ai.png" alt=" " width="551" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Use SQL Databases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Banking and financial applications that require strict consistency&lt;/li&gt;
&lt;li&gt;Enterprise apps with structured, stable datasets&lt;/li&gt;
&lt;li&gt;Projects where advanced queries and relationships are necessary
&lt;strong&gt;When to Use NoSQL Databases&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Big Data applications with massive, evolving datasets&lt;/li&gt;
&lt;li&gt;Real-time applications such as chat apps, social media, or IoT platforms&lt;/li&gt;
&lt;li&gt;Projects needing high scalability and flexible data structures&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The main difference between SQL and NoSQL databases lies in their structure and scalability. SQL databases excel in structured data and complex queries, offering reliability and consistency. NoSQL databases provide flexibility, speed, and scalability, making them ideal for modern, large-scale, and unstructured data applications. The right choice depends on your project’s requirements, data structure, and growth expectations.&lt;/p&gt;

&lt;p&gt;If you find this post helpful, then consider following me on this platform to get access to my posts anytime I write one.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>node</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How to convert a JSON string into a JavaScript object and vice versa</title>
      <dc:creator>Zakaria Haruna </dc:creator>
      <pubDate>Sat, 21 Jun 2025 21:26:23 +0000</pubDate>
      <link>https://dev.to/zakaria_haruna_b4d3cfd189/how-to-convert-a-json-string-into-a-javascript-object-and-vice-versa-215o</link>
      <guid>https://dev.to/zakaria_haruna_b4d3cfd189/how-to-convert-a-json-string-into-a-javascript-object-and-vice-versa-215o</guid>
      <description>&lt;p&gt;Are you a beginner starting your web development journey and feeling overwhelmed by the information you're receiving?&lt;/p&gt;

&lt;p&gt;Well, all these feelings are normal as you are now being exposed to information that wasn't in your normal daily life. Many people get overwhelmed when they start their coding journey, and it is now the norm for every beginner to experience this kind of feeling.&lt;/p&gt;

&lt;p&gt;In this article, I'm going to show you how to convert a JSON string into a JavaScript object and vice versa, as this is going to be a normal thing for you as a web developer.&lt;/p&gt;

&lt;p&gt;Web developers often work with a lot of data when building a project, and most of this data can be third-party data, that is, data acquired from external sources, which are mostly in JSON(Javascript Object Notation) form and before and anyone can used this in the project there is the need to convert it into javascript object. &lt;/p&gt;

&lt;p&gt;To convert a JSON to a JavaScript object, you have to follow these steps;&lt;/p&gt;

&lt;h2&gt;
  
  
  JSON string to JavaScript object
&lt;/h2&gt;

&lt;p&gt;Assuming you have the following JSON string: &lt;code&gt;{"fname": "John", "lname": "Mike", "gender": "Male", "country": "Ghana"}&lt;/code&gt;&lt;br&gt;
You have to assign it to a variable the same way you do when you are assigning a normal JavaScript variable. So let us do it in code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
const jsonStr = `{"fname": "John", "lname": "Mike", "gender": "Male", "country": "Ghana"}`;

const jsObj = JSON.parse(jsonStr);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code will change jsonStr, which is a JSON string, into a JavaScript object jsObj.&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript object to JSON string
&lt;/h2&gt;

&lt;p&gt;Now let us look at the other way round, that is, changing a JavaScript object into a JSON string. Let us use the above example by changing the jsObj back to a JSON string, let's code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jsObj&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the above code, your JavaScript object will be converted into a JSON string.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;So, sum everything up, we were able to use the built-in JavaScript parse() and stringify() methods to change a JSON string to a JavaScript object and vice versa.&lt;br&gt;
If you find this post helpful the like and comment, and you can also follow me on &lt;a href="https://github.com/HarunaZakaria/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

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