<?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>Forem: Terry-Diana</title>
    <description>The latest articles on Forem by Terry-Diana (@terrydiana).</description>
    <link>https://forem.com/terrydiana</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%2F915902%2F0e4759b5-58cd-44fe-b204-56d62bcbb7bc.jpeg</url>
      <title>Forem: Terry-Diana</title>
      <link>https://forem.com/terrydiana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/terrydiana"/>
    <language>en</language>
    <item>
      <title>Fortify Your Code: A Junior Developer's Guide to Crafting Bulletproof Software</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Mon, 29 Jan 2024 08:49:43 +0000</pubDate>
      <link>https://forem.com/terrydiana/fortify-your-code-a-junior-developers-guide-to-crafting-bulletproof-software-3dc0</link>
      <guid>https://forem.com/terrydiana/fortify-your-code-a-junior-developers-guide-to-crafting-bulletproof-software-3dc0</guid>
      <description>&lt;p&gt;Hey fam! Today, let's dive into the fascinating world of writing code that stands strong against bugs and errors. Imagine it like building a fortress, where every line of code is a resilient brick. As you embark on this coding adventure, let's explore the essential tools that will transform your software into a bastion of reliability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Version Control: Your Code's Time Machine 🕰️&lt;/strong&gt;&lt;br&gt;
Think of version control like a magical time machine for your code. Git is your trusty sidekick, allowing you to revisit different stages of your project's history. Branch out like a botanist experimenting with new code features while keeping the main garden (master branch) secure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Code Linters: The Grammar Police for Developers 🚔&lt;/strong&gt;&lt;br&gt;
Ever had a grammar-savvy friend proofread your writing? Code linters do the same for your code! ESLint and Prettier ensure your code follows a consistent style guide, making it clean, readable, and easily understandable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Testing Suites: The Guardians of Functionality 🛡️&lt;/strong&gt;&lt;br&gt;
Imagine testing suites as superheroes that protect your code's functionality. Jest and Mocha are your dynamic duos, ensuring each function in your codebase performs its role flawlessly. Unit tests act like loyal sidekicks, catching bugs before they even think about causing trouble.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Continuous Integration (CI): Your Code's Personal Trainer 💪&lt;/strong&gt;&lt;br&gt;
CI is like having a personal trainer for your codebase. Travis CI and Jenkins ensure that every piece of code you write is strong and fit for deployment. Automated builds pump up your code's muscles, making sure it can handle anything thrown its way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Code Reviews: The Collaborative Brainstorming Sessions 🧠&lt;/strong&gt;&lt;br&gt;
Picture code reviews as collaborative brainstorming sessions. Submitting pull requests is like putting your idea on the table. Peer reviews bring fresh perspectives, constructive feedback, and the collective wisdom of the team, making your code even more resilient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Static Code Analysis: The Detective Uncovering Hidden Clues 🔍&lt;/strong&gt;&lt;br&gt;
Static code analysis tools are like detectives searching for hidden clues in your codebase. SonarQube and CodeClimate play the detective role, revealing potential vulnerabilities and ensuring your code is secure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Documentation: Your Code's User Manual 📚&lt;/strong&gt;&lt;br&gt;
Consider documentation as your code's user manual. READMEs, API documentation, and well-placed code comments guide future developers, making it easy for them to understand and extend your work.&lt;/p&gt;

&lt;p&gt;In conclusion, crafting bulletproof code is not just a skill; it's an art. These tools are your brushes and shields, helping you create a masterpiece that stands resilient against the test of time. Embrace them, learn from their wisdom, and let your code fortresses inspire the developers who come after you.&lt;/p&gt;

&lt;p&gt;Cover image by Photo by Mati Mango&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Elevating Your Interface: SEO Optimization Tricks Every Developer Should Know</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Mon, 15 Jan 2024 07:49:34 +0000</pubDate>
      <link>https://forem.com/terrydiana/elevating-your-interface-seo-optimization-tricks-every-developer-should-know-4476</link>
      <guid>https://forem.com/terrydiana/elevating-your-interface-seo-optimization-tricks-every-developer-should-know-4476</guid>
      <description>&lt;p&gt;Buckle up as we explore some effective ways to ensure your web creations not only look stunning but also shine in the eyes of search engines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Responsive Design is King:&lt;/strong&gt;&lt;br&gt;
Search engines adore responsive design, and so do your users. Ensure your interface is mobile-friendly and adapts seamlessly to different screen sizes. Google's mobile-first indexing favours websites that prioritize mobile responsiveness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Mind the Loading Speed:&lt;/strong&gt;&lt;br&gt;
Users are impatient, and so are search engines. Optimize your images, minify CSS and JavaScript, and leverage browser caching. A lightning-fast interface not only pleases users but also earns you brownie points in SEO rankings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Intuitive Navigation Structure:&lt;/strong&gt;&lt;br&gt;
A well-thought-out navigation structure not only enhances user experience but also helps search engines crawl your site efficiently. Keep it simple, logical, and ensure every page is accessible within a few clicks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. SEO-Friendly URL Structures:&lt;/strong&gt;&lt;br&gt;
Craft clean, readable URLs that reflect the content of your pages. Avoid messy parameters and embrace simplicity. Search engines appreciate URLs that are easy to understand and share. Here are some examples of good and bad URLs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Descriptive and Readable:&lt;/em&gt;&lt;br&gt;
Good Example: &lt;a href="https://www.example.com/blog/seo-friendly-url" rel="noopener noreferrer"&gt;https://www.example.com/blog/seo-friendly-url&lt;/a&gt;&lt;br&gt;
Bad Example: &lt;a href="https://www.example.com/post?id=123" rel="noopener noreferrer"&gt;https://www.example.com/post?id=123&lt;/a&gt;&lt;br&gt;
Ensure your URLs are descriptive and readable. A user should have an idea of the page's content just by looking at the URL. Search engines also prefer URLs that convey the topic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Use Hyphens to Separate Words:&lt;/em&gt;&lt;br&gt;
Good Example: &lt;a href="https://www.example.com/web-design-tips" rel="noopener noreferrer"&gt;https://www.example.com/web-design-tips&lt;/a&gt;&lt;br&gt;
Bad Example: &lt;a href="https://www.example.com/webdesigntips" rel="noopener noreferrer"&gt;https://www.example.com/webdesigntips&lt;/a&gt;&lt;br&gt;
Use hyphens (-) to separate words in your URLs. Search engines interpret hyphens as space, helping them understand the individual words in the URL. This improves readability for both search engines and users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Include Target Keywords:&lt;/em&gt;&lt;br&gt;
Good Example: &lt;a href="https://www.example.com/ecommerce-web-development" rel="noopener noreferrer"&gt;https://www.example.com/ecommerce-web-development&lt;/a&gt;&lt;br&gt;
Bad Example: &lt;a href="https://www.example.com/page1" rel="noopener noreferrer"&gt;https://www.example.com/page1&lt;/a&gt;&lt;br&gt;
If possible, incorporate relevant keywords into your URLs. This not only helps search engines understand the content but also improves the chances of your page ranking for those keywords.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Content is Still King:&lt;/strong&gt;&lt;br&gt;
Engaging, relevant content is the heart of SEO. Craft compelling copy that incorporates your target keywords naturally. Regularly update and expand your content to keep both users and search engines coming back for more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Build Quality Backlinks:&lt;/strong&gt;&lt;br&gt;
While not directly related to interface design, quality backlinks remain a crucial SEO factor. Engage in outreach, guest posting, and networking to build authoritative links that boost your website's credibility.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In conclusion&lt;/em&gt;, optimizing your interface for SEO is a dynamic dance between aesthetics and functionality. Embrace these tips, continuously evolve your design strategies, and watch as your creations not only captivate users but also climb the SEO charts.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Navigating the Salary Maze: Common Programming Salary Negotiation Mistakes and the Power of Clear Communication</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Thu, 11 Jan 2024 11:56:11 +0000</pubDate>
      <link>https://forem.com/terrydiana/navigating-the-salary-maze-common-programming-salary-negotiation-mistakes-and-the-power-of-clear-communication-52ib</link>
      <guid>https://forem.com/terrydiana/navigating-the-salary-maze-common-programming-salary-negotiation-mistakes-and-the-power-of-clear-communication-52ib</guid>
      <description>&lt;p&gt;Entering the realm of salary negotiation can be as intricate as writing a complex code. Yet, some pitfalls are more common than others. Let's explore the landscape of programming salary negotiation, with a spotlight on the game-changing factor: clear communication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Silence Speaks Volumes:&lt;/strong&gt;&lt;br&gt;
One of the most frequent mistakes is letting silence dominate the conversation. Whether you're hesitant to state your expectations or unsure how to respond, silence can be misinterpreted. Break the ice by clearly expressing your thoughts and expectations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Avoiding Transparency:&lt;/strong&gt;&lt;br&gt;
Lack of transparency is a roadblock to successful negotiation. Be upfront about your salary expectations and requirements. Clear communication from the start sets the tone for a collaborative and open discussion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Ignoring Market Research:&lt;/strong&gt;&lt;br&gt;
Not doing your homework on industry standards is a classic error. Clear communication involves presenting well-researched data supporting your salary expectations. Knowledge is power, and it strengthens your negotiating position.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Vague Responses:&lt;/strong&gt;&lt;br&gt;
Responding to salary inquiries with vagueness can hinder progress. Instead of being ambiguous, clearly articulate your needs. Specifics create a foundation for constructive dialogue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Forgetting Non-Monetary Perks:&lt;/strong&gt;&lt;br&gt;
It's not all about the salary figure. Communication extends to non-monetary benefits. Clearly express your interest in additional perks such as flexible working hours, professional development opportunities, or remote work options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Ignoring Company Constraints:&lt;/strong&gt;&lt;br&gt;
Failing to acknowledge the company's budget constraints is a common misstep. Understand the limitations, and if needed, propose creative solutions. Clear communication involves finding a compromise that benefits both parties.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Lack of Follow-Up:&lt;/strong&gt;&lt;br&gt;
The conversation doesn't end with an accepted offer. Follow up on agreed-upon terms and continue clear communication as you transition into your new role. It sets a positive tone for your future within the company.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In conclusion,&lt;/em&gt; the art of salary negotiation in programming hinges on clear communication. Don't let avoidable mistakes hinder your career growth. Embrace transparency, articulate your needs, and navigate the negotiation process with confidence.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Unlocking Creativity: Breaking the Monotony in Repetitive Programming Projects</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Thu, 04 Jan 2024 09:13:46 +0000</pubDate>
      <link>https://forem.com/terrydiana/unlocking-creativity-breaking-the-monotony-in-repetitive-programming-projects-1h04</link>
      <guid>https://forem.com/terrydiana/unlocking-creativity-breaking-the-monotony-in-repetitive-programming-projects-1h04</guid>
      <description>&lt;p&gt;Ever find yourself stuck in the loop of repetitive programming tasks, where creativity seems to take a backseat? Don't fret! Embracing monotony doesn't mean bidding farewell to creativity. In fact, it's an opportunity to unleash your imaginative prowess. Let's explore some strategies to infuse creativity into those seemingly mundane projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Embrace the Challenge:&lt;/strong&gt;&lt;br&gt;
Embracing repetition as a challenge rather than a chore is the first step. View each task as a unique puzzle piece, contributing to the larger picture. This mindset shift can spark new ideas and solutions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Automate the Repetitive:&lt;/strong&gt;&lt;br&gt;
Invest time in automating mundane tasks. By doing so, you not only save time but also open up space for more engaging and thought-provoking aspects of your project. Automation can be a creative task in itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Mix Up Your Environment:&lt;/strong&gt;&lt;br&gt;
A change in scenery can do wonders for your creativity. Consider switching up your workspace or taking your code to a new location. A different environment can inspire fresh perspectives and ideas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Collaborate and Communicate:&lt;/strong&gt;&lt;br&gt;
Engage with your team or the programming community. Discussing ideas, seeking feedback, and collaborating can bring fresh insights and innovative solutions to the table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Take Breaks and Rest:&lt;/strong&gt;&lt;br&gt;
Avoid burnout by incorporating breaks into your routine. A refreshed mind is more likely to come up with creative solutions. Walk away from your desk, indulge in a hobby, or simply take a few moments to clear your mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Celebrate Achievements:&lt;/strong&gt;&lt;br&gt;
Acknowledge and celebrate milestones, no matter how small. Recognizing your achievements boosts morale and instills a sense of accomplishment, making the repetitive grind more satisfying.&lt;/p&gt;

&lt;p&gt;In conclusion, breaking the monotony in repetitive programming projects is not just about surviving; it's about thriving. Embrace the challenge, automate where you can, and infuse creativity into every line of code. Remember, creativity knows no bounds; it just needs the right environment to flourish.&lt;/p&gt;

</description>
      <category>career</category>
      <category>devjournal</category>
      <category>programming</category>
    </item>
    <item>
      <title>Introduction to Algorithms</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Fri, 03 Feb 2023 15:42:51 +0000</pubDate>
      <link>https://forem.com/terrydiana/introduction-to-algorithms-176k</link>
      <guid>https://forem.com/terrydiana/introduction-to-algorithms-176k</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is an Algorithm?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These are a set of instructions for completing a task. Can also be defined as a set of steps a program takes to complete a task.&lt;/p&gt;

&lt;p&gt;It is important for developers to know when and why they should use a certain algorithm by understanding the problem and breaking it down into steps. This is called Algorithmic Thinking.&lt;/p&gt;

&lt;p&gt;An algorithm must contain a specific set of instructions in a particular order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start from the beginning.&lt;/li&gt;
&lt;li&gt;Compare the current value to the target value.&lt;/li&gt;
&lt;li&gt;Move sequentially.&lt;/li&gt;
&lt;li&gt;Reach the end of the list.&lt;/li&gt;
&lt;li&gt;Each step in an algorithm needs to be explicitly clear and not have substeps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An algorithm should have &lt;em&gt;correctness&lt;/em&gt; and &lt;em&gt;efficiency&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Correctness&lt;/em&gt;&lt;/strong&gt; is when an algorithm takes in an input and gives an output without taking an infinite amount of time.&lt;br&gt;
Efficiency. This can be broken down into two; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Time Complexity&lt;/em&gt;: This is the amount of time taken to complete a task&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Space complexity&lt;/em&gt;: This is the amount of memory taken by the computer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What exactly is Time Complexity?&lt;/strong&gt;&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%2Fzu0wprz9qlfmdxjwzyco.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%2Fzu0wprz9qlfmdxjwzyco.png" alt="Image description" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ll explain using the Big O notation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What is the Big  O?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Big O notation is a mathematical notation used to describe the time complexity of algorithms. In other words, It calculates the time taken to run an algorithm as the input grows.&lt;/p&gt;

&lt;p&gt;Reading the runtime of a &lt;em&gt;&lt;strong&gt;Linea Search&lt;/strong&gt;&lt;/em&gt; is O(n), which can be read as Constant Time. This means that no matter where we are on the search we take the same amount of time to compare a number to the target number&lt;/p&gt;

&lt;p&gt;The runtime of &lt;strong&gt;&lt;em&gt;Binary Search&lt;/em&gt;&lt;/strong&gt; is written as O(log n). This is known as the logarithm time/sublime. Example: Log₂ 8 = 3; this means that to get to 8 on a binary search we will need three tries (2^3=8).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Quadratic Runtime.&lt;/em&gt;&lt;/strong&gt; This is presented as O(n²). This is an operation raised to the power of two.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Cubic Runtime.&lt;/em&gt;&lt;/strong&gt; This is a runtime raised to the power of three; n^3.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Polynomial Runtime&lt;/em&gt;&lt;/strong&gt; is all the runtime where we look at the worst-case scenario, O(n^k).&lt;br&gt;
&lt;em&gt;&lt;strong&gt;Exponential algorithm:&lt;/strong&gt;&lt;/em&gt; These are expensive methods/algorithms presented as O(xⁿ). These are algorithms that are inefficient because one change causes a significant change in the output. Such methods include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Brute Force&lt;/li&gt;
&lt;li&gt;Travelling Salesman&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>crypto</category>
    </item>
    <item>
      <title>Importance of joining a Tech Community</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Mon, 14 Nov 2022 14:36:39 +0000</pubDate>
      <link>https://forem.com/terrydiana/importance-of-joining-a-tech-community-17id</link>
      <guid>https://forem.com/terrydiana/importance-of-joining-a-tech-community-17id</guid>
      <description>&lt;p&gt;You might ask, “what’s the fuss about?” or “why are they even necessary?” &lt;br&gt;
Outlined below are some of the benefits of being a part of tech communities:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) Making Connections&lt;/strong&gt;&lt;br&gt;
Joining a community group is a great way to meet other tech professionals within the industry. Engaging with the community provides the perfect opportunity to network, collaborate, and innovate with individuals who share your interests. &lt;/p&gt;

&lt;p&gt;Alongside the professional advantages of making connections within the tech community, there are also personal benefits. Particularly in these uncertain times when many people are socially distancing and working remotely, joining a group within the community is an excellent way to connect with people and reduce loneliness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) An Emergency Helpline&lt;/strong&gt;&lt;br&gt;
Tech communities are your 911, literally. If you encounter problems or need guidance on something, you can share it with your community members, and you will get a timely solution or the help required. It saves you from spending longer-than-necessary periods, missing deadlines, or getting discouraged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) An opportunity to sell yourself&lt;/strong&gt;&lt;br&gt;
The most rewarding and lucrative reason for joining a tech community is that you get to sell yourself. Unlike the usual dropping of CVs, you might be fortunate enough to have an employer give yo an opportunity. It is often in the process of giving that you receive. In giving to your tech community, you’ll be making a name for yourself, impacting people who may recommend you for one or more deals.&lt;/p&gt;

&lt;p&gt;In conclusion,&lt;br&gt;
Online communities have made it easy for IT Professionals to crowd-source their knowledge, display their technical prowess, and reach out to like-minded techies and subject matter experts.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>writing</category>
      <category>career</category>
    </item>
    <item>
      <title>What is Web3?</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Sat, 22 Oct 2022 15:47:46 +0000</pubDate>
      <link>https://forem.com/terrydiana/what-is-web3-151i</link>
      <guid>https://forem.com/terrydiana/what-is-web3-151i</guid>
      <description>&lt;p&gt;Web3 has become a catch-all term for the vision of a new, better internet. At its core, Web3 uses blockchains, cryptocurrencies, and NFTs to give power back to the users in the form of ownership.&lt;/p&gt;

&lt;p&gt;Web3 is freedom, democracy, and ownership — an idealistic version of the web built for users. Web3 is still in development, a few years away from being usable. Web3 could be a massive overhaul of how we engage with the web and each other. It could just as well be a hyped platform for decentralized finance and trading NFTs.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does Web3 work?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Ownership of data&lt;/em&gt;&lt;br&gt;
When you use a platform like Facebook or Youtube, your data is collected, owned, and monetized by these companies. In web3, your data is stored on your crypto wallet. You'll engage with apps and communities on web3 through your wallet, and you'll take your data with you when you log off. Theoretically, since you own this data, you'll also be able to decide if you want to monetize it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Identity&lt;/em&gt;&lt;br&gt;
When it comes to identity, you are used to changing the display name or profile picture across every account. In certain circumstances, social sign-ins are an option, although censoring is a well-known issue that arises. Making an account on numerous sites, you must provide them with your personally identifying information. Luckily, Web3 solves these issues by enabling you to manage your online identity using blockchain technology. Web3 focuses on technology that runs in the background and is generally hidden from the user. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;How is Web3 different from the previous forms of web?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first version of the Web(Web1) was formed by creating web pages and material for a big audience of readers, enabling them to find the information they need. Most websites were read-only web pages.&lt;/p&gt;

&lt;p&gt;Platforms like Instagram, Twitter, TikTok, and other social media platforms represent Web2. Users began to communicate with other users, and the center of gravity of content production shifted from the platform to humans. Unlike Web1 portals that users only consume, Web2 relies heavily on user-generated content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web3 is young but quickly evolving. As a result, it currently depends mainly on centralized infrastructure (GitHub, Twitter, Discord, etc.). Many Web3 companies are rushing to fill these gaps, but building high-quality, reliable infrastructure takes time. As the the infrastracture used to support it is continuously being improved, the future of web looks bright. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>web3</category>
      <category>writing</category>
      <category>news</category>
    </item>
    <item>
      <title>Why you should hire junior developers</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Tue, 18 Oct 2022 12:06:13 +0000</pubDate>
      <link>https://forem.com/terrydiana/why-you-should-hire-junior-developers-13f8</link>
      <guid>https://forem.com/terrydiana/why-you-should-hire-junior-developers-13f8</guid>
      <description>&lt;p&gt;A junior is someone with less than 2 years of experience. Someone fresh from school, Bootcamp, self-taught or just changed careers. Someone who is probably still trying to figure out if this whole “software development” thing is for them.&lt;/p&gt;

&lt;p&gt;So, here's the thing. When you are a junior dev, it is really complicated to get a decent job or any job to start. I know it first-hand, I'm still on that journey.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hiring junior devs comes with its share of benefits:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Mentoring is rewarding for everyone&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Having some junior developers mentored by your seniors keeps both sets on their toes. It encourages pair programming and joint problem solving where juniors will ask questions resulting in the seniors reinforcing their own knowledge.&lt;/p&gt;

&lt;p&gt;It demonstrates to your seniors that you have confidence in them and their abilities whilst simultaneously developing their leadership skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. They bring passion and fresh ideas into your company.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bringing new developers on board will provide your company with a fresh crop of new ideas. Coding best practices change quickly, and junior developers may bring new ways of thinking and problem solving to the table. Plus, junior developers are excited to be entering the field and testing out their skills for the first time, and their passion often helps reignite others’ enthusiasm for old projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Avoids butting heads&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the main problems with having a company built of people at the same level, is everyone thinking they know best. If a problem crops up there is no hierarchy for difficult decision making. It is common for egos to get in the way of coming to the right solution.&lt;/p&gt;

&lt;p&gt;Having a team comprised of varied weights means there is always someone to defer to when this situation arises.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Upskilling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Upskilling is when companies offer training programs and continuous learning opportunities to help employees develop new abilities and close the skills gap in your workforce. Upskilling allows employers to promote from within their organization and invest in their junior developers to mold them into the senior developers of your dreams.&lt;/p&gt;

&lt;p&gt;In conclusion,these are some compelling reasons to add junior developers to your team make up. I believe a well balanced team is the cornerstone of a successful tech business and hope this post inspires you to make some junior hires this year.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Still using Sublime...</title>
      <dc:creator>Terry-Diana</dc:creator>
      <pubDate>Mon, 10 Oct 2022 14:21:43 +0000</pubDate>
      <link>https://forem.com/terrydiana/still-using-sublime-4ok1</link>
      <guid>https://forem.com/terrydiana/still-using-sublime-4ok1</guid>
      <description>&lt;p&gt;Ever wondered why you get bored while coding. The problem could be with the code editor you decided to use. Some people argue that sublime is text is fast while an editor such VSCode is fast enough. &lt;/p&gt;

&lt;p&gt;Any day anytime I would pick VSCode as my text editor. The editor has powerful developing tools and you can customize every feature to your liking and install any number of third-party extensions, supports macOS, Linux, and Windows, support for hundreds of languages and has robust and extensible architecture.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
