<?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: Joey The Dev</title>
    <description>The latest articles on DEV Community by Joey The Dev (@island_dev).</description>
    <link>https://dev.to/island_dev</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%2F400065%2F20e585ec-5773-46d3-be4e-7fc6408e0d72.JPG</url>
      <title>DEV Community: Joey The Dev</title>
      <link>https://dev.to/island_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/island_dev"/>
    <language>en</language>
    <item>
      <title>I built a to-do app that hatches creatures because I couldn't make myself do anything</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Sat, 26 Sep 2026 00:47:14 +0000</pubDate>
      <link>https://dev.to/island_dev/i-built-a-to-do-app-that-hatches-creatures-because-i-couldnt-make-myself-do-anything-4ac9</link>
      <guid>https://dev.to/island_dev/i-built-a-to-do-app-that-hatches-creatures-because-i-couldnt-make-myself-do-anything-4ac9</guid>
      <description>&lt;h2&gt;
  
  
  The confession first
&lt;/h2&gt;

&lt;p&gt;I am a software engineer. I ship things for a living. And I have never once, in my adult life, opened a to-do app and felt anything.&lt;/p&gt;

&lt;p&gt;I have a very specific flavor of procrastination. It is not "I'll do it tomorrow." It is "I will reorganize my entire dotfiles repo, migrate my terminal to a different shell, and read four blog posts about keyboard layouts before I touch the one task that's actually due." I am extremely productive, as long as it is not on the correct thing.&lt;/p&gt;

&lt;p&gt;At some point I stopped blaming myself and started looking at the tools. And I noticed two things that every abandoned to-do app had in common:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Nothing was holding me accountable.&lt;/strong&gt; A checkbox does not care if you ignore it. A friend does.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;There was no reward.&lt;/strong&gt; Finishing a task felt structurally identical to not finishing it. If you designed an incentive system that badly on purpose, you'd get fired.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, instead of doing my actual work, I built a to-do app. Naturally. I called it &lt;strong&gt;Dunbit&lt;/strong&gt;, and the whole idea is: you finish your daily tasks, and you hatch a little collectible creature. A friend can opt in as your accountability partner and gets pinged when you actually follow through. It's a Tamagotchi that quietly judges you, and it turns out I respond to that far better than to discipline.&lt;/p&gt;

&lt;p&gt;This post is half "here's how I built it" and half "here's the exact code I wrote to avoid doing something else." Both are true.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Dunbit actually is
&lt;/h2&gt;

&lt;p&gt;The loop is simple on purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complete your tasks&lt;/strong&gt; to earn one hatch per calendar day. One creature per day, enforced on the server so you can't fast-forward your phone clock and cheese it. (I tried. I closed the hole.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collect creatures&lt;/strong&gt; across a rarity spectrum — Common, Uncommon, Rare, Legendary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a streak&lt;/strong&gt; with a login flame and XP that quietly nudge your luck.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add an accountability partner&lt;/strong&gt; who opts in and gets a heads-up when you do the thing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share your collection&lt;/strong&gt; through an auto-generated public web page — no account, no username, nothing to sign up for.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core app is free forever. Adding tasks, completing them, and hatching never lock. That was a deliberate call: nothing kills momentum like a paywall standing between you and the reward loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  The architecture (or: how I justified this to myself as "real engineering")
&lt;/h2&gt;

&lt;p&gt;Dunbit is two separate TypeScript projects with one rule I refused to break: &lt;strong&gt;the backend is king.&lt;/strong&gt; The app is a pure rendering layer with essentially zero business logic in the bundle. Every game value, rarity table, and piece of content lives on the server.&lt;/p&gt;

&lt;p&gt;The stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React Native + Expo (managed workflow), plus a home screen widget via an Expo config plugin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; AWS Lambda + CDK (Node 20, ESM, esbuild), behind API Gateway, with assets on S3 + CloudFront.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; MongoDB Atlas. New creatures and entire seasons are just document inserts — no code changes, no redeploy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling:&lt;/strong&gt; EventBridge crons handle timezone-aware midnight resets, so your "day" ends at &lt;em&gt;your&lt;/em&gt; midnight, not a server's in us-east-1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why so strict about server-authoritative design? Because I wanted to tune the game like a config change, not a release cycle. If Rare creatures feel too stingy, I edit a document in Mongo. I don't cut a build, wait on App Store review, and pray. That discipline is annoying to hold on day one and pays for itself every single day after.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fun part: a rarity engine that lies to you (nicely)
&lt;/h2&gt;

&lt;p&gt;Each hatch draws from a weighted distribution, and a few invisible factors nudge the odds — your streak, whether you've got an accountability partner, and a hidden pity system so you're never stuck in bad-luck purgatory.&lt;/p&gt;

&lt;p&gt;Roughly, the probability of hatching a creature of tier &lt;em&gt;t&lt;/em&gt; is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;P(t) = (w_t * (1 + b_streak + b_partner)) / Σ (w_i * (1 + b_streak + b_partner))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;where &lt;code&gt;w_t&lt;/code&gt; is the base weight of the tier and the &lt;code&gt;b&lt;/code&gt; terms are small, quietly-applied boosts.&lt;/p&gt;

&lt;p&gt;Two rules keep it feeling fair:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The rarity floor is always Common.&lt;/strong&gt; A hatch never produces nothing. You earned it, you get something.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legendaries never duplicate.&lt;/strong&gt; If you already own all of them, the roll gracefully falls back to a lower tier instead of handing you a fifth copy of the one you already have.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The single best lesson here: &lt;strong&gt;invisible mechanics feel better than visible ones.&lt;/strong&gt; Players enjoy good luck far more when they don't know it was engineered. The pity system works precisely &lt;em&gt;because&lt;/em&gt; nobody sees it. The moment you put "bad luck protection: 3/5" on screen, you've turned a nice surprise into a progress bar.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing that actually took the longest
&lt;/h2&gt;

&lt;p&gt;It was not the Lambdas. It was not the timezone math (though — timezones are a personal attack, "reset at midnight" sounds trivial until you remember midnight is a moving target across a planet, which is exactly why the resets are cron-driven and per-user).&lt;/p&gt;

&lt;p&gt;It was &lt;strong&gt;the art.&lt;/strong&gt; I needed a whole roster of creatures that (a) looked like they belonged to the same universe and (b) did not accidentally borrow someone else's copyrighted universe. Getting a cohesive, original visual identity — bubbly shapes, electric purple, a clear family resemblance across all of them — took far more iteration than I'd like to admit. Early batches looked like five different games having an argument in one folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Motivation is a systems problem, not a willpower problem.&lt;/strong&gt; Reward plus accountability did more for my procrastination than any amount of self-lecturing ever has. I say this as the self-lecturing champion of the world.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server-authoritative design is worth the upfront discipline.&lt;/strong&gt; Balancing the game became a config edit instead of a deploy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep the client dumb on purpose.&lt;/strong&gt; Every time I was tempted to sneak "just a little" logic into the app, I had to talk myself back out of it. Future me always thanked past me.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ship the reward early.&lt;/strong&gt; The hardest product problem isn't the tech, it's that the first dopamine hit is a full day away. Still working on that one.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it / talk to me
&lt;/h2&gt;

&lt;p&gt;Dunbit is live on the App Store: &lt;strong&gt;&lt;a href="https://apps.apple.com/us/app/beat-procrastination-dunbit/id6813357779" rel="noopener noreferrer"&gt;Beat Procrastination — Dunbit&lt;/a&gt;&lt;/strong&gt;. iOS for now.&lt;/p&gt;

&lt;p&gt;It's built to grow — the schema already supports unlimited creatures and seasons. If you're the kind of person who's reading a build post instead of doing your actual work right now: hi, this app was made for you specifically.&lt;/p&gt;

&lt;p&gt;If you build something with a server-authoritative game loop, or you've solved the "first reward is too far away" problem better than I have, I genuinely want to hear about it in the comments.&lt;/p&gt;

&lt;p&gt;Beat procrastination, one creature at a time. And yes, I wrote this post instead of doing something else.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>serverless</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I bombed an interview after 4 years at one job. So I built an AI interviewer to practice with.</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Thu, 23 Jul 2026 20:54:01 +0000</pubDate>
      <link>https://dev.to/island_dev/i-bombed-an-interview-after-4-years-at-one-job-so-i-built-an-ai-interviewer-to-practice-with-3pi4</link>
      <guid>https://dev.to/island_dev/i-bombed-an-interview-after-4-years-at-one-job-so-i-built-an-ai-interviewer-to-practice-with-3pi4</guid>
      <description>&lt;p&gt;I'm Joey. I've been a software engineer for over 10 years, mostly building products for US startups. I'm good at my job. But a few months ago I went into an interview and absolutely bombed it.&lt;/p&gt;

&lt;p&gt;Here's the thing — I'd been at the same company for 4 years. Four comfortable years of shipping features, leading projects, and never once needing to explain a system design decision to a stranger on a video call. When I finally decided to look around, I sat down for a technical interview and my brain just... emptied.&lt;/p&gt;

&lt;p&gt;I knew the material. I'd prepped. But when someone asked me to articulate my thinking out loud under pressure, I couldn't string coherent sentences together. It wasn't a knowledge gap. It was a reps gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  The practice problem
&lt;/h2&gt;

&lt;p&gt;So I tried to fix it the obvious way: practice out loud. But with who?&lt;/p&gt;

&lt;p&gt;I asked my wife. She's supportive, incredible — but she doesn't know what a load balancer is, and she's not going to push back when I hand-wave through "yeah and then we'd just scale the database." She'd nod and say "sounds great." That's not what I needed.&lt;/p&gt;

&lt;p&gt;I looked into peer mock interviews. Scheduling them is a nightmare. You're coordinating calendars with strangers who may or may not show up, and the quality varies wildly.&lt;/p&gt;

&lt;p&gt;I tried talking to myself in the mirror. Felt insane. Didn't help.&lt;/p&gt;

&lt;p&gt;What I actually needed was something that could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask me real questions tailored to the job I was applying for&lt;/li&gt;
&lt;li&gt;Listen to my spoken answers&lt;/li&gt;
&lt;li&gt;Push back when I was vague&lt;/li&gt;
&lt;li&gt;Tell me exactly what to fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That didn't exist. So I built it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I made
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://devmockview.com" rel="noopener noreferrer"&gt;DevMockview&lt;/a&gt; is a voice-first AI mock interviewer for software engineers. You paste a job description, it extracts the role, seniority, and stack, then runs a realistic interview session — out loud.&lt;/p&gt;

&lt;p&gt;No typing. No multiple choice. You talk, it listens, it follows up.&lt;/p&gt;

&lt;p&gt;If you give a vague answer, it digs deeper — the way a real interviewer would. If you nail it, it moves on. At the end you get a scored report covering technical accuracy, communication, and structure, plus the single highest-leverage thing to fix before your next session.&lt;/p&gt;

&lt;p&gt;It covers behavioral and system design (architectural) interviews, for roles from junior through staff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why voice matters
&lt;/h2&gt;

&lt;p&gt;The first set of interviews aren't typing tests. The hard part isn't knowing the answer — it's saying it clearly, under pressure, in a logical order, without rambling for 8 minutes.&lt;/p&gt;

&lt;p&gt;You can only practice that by actually speaking. DevMockview forces that. There's no text input. You hear a question, you respond, and you get feedback on how you communicated — not just what you said.&lt;/p&gt;

&lt;h2&gt;
  
  
  The indie thing
&lt;/h2&gt;

&lt;p&gt;This is a solo project. No VC funding, no team. Just me building a tool for myself and making it available on the internet.&lt;/p&gt;

&lt;p&gt;I'm shipping in public and iterating based on real usage. If you're an engineer who's been heads-down at one company for a while or on the market looking for something new, and the thought of interviewing makes your stomach drop — this is for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;There's a free trial — one full voice interview, no card required. If you're in the market or thinking about it soon, give it a shot and tell me what you think.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://devmockview.com" rel="noopener noreferrer"&gt;devmockview.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm on &lt;a href="https://www.threads.net/@joey.the.coder" rel="noopener noreferrer"&gt;Threads&lt;/a&gt; and &lt;a href="https://bsky.app/profile/joeythecoder.bsky.social" rel="noopener noreferrer"&gt;Bluesky&lt;/a&gt; if you want to follow along or roast my product publicly.&lt;/p&gt;

</description>
      <category>career</category>
      <category>webdev</category>
      <category>programming</category>
      <category>interview</category>
    </item>
    <item>
      <title>Using aws-specific variables instead of 'Fn::Join'</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Wed, 28 Jun 2023 02:11:55 +0000</pubDate>
      <link>https://dev.to/island_dev/using-aws-specific-variables-instead-of-fnjoin-52li</link>
      <guid>https://dev.to/island_dev/using-aws-specific-variables-instead-of-fnjoin-52li</guid>
      <description>&lt;p&gt;As promised, I am starting with the documentation of my journey through AWS and the serverless framework so I can reference these things in the future and also help someone else along the way :)&lt;/p&gt;

&lt;p&gt;So these posts will be super short and to the point. What I want to show today is configuring arns using the AWS variables in the serverless framework. Now a common way to configure the arn for a SNS topic inside the serverless yml/ts file using Fn::Join would be something like the below:&lt;/p&gt;

&lt;p&gt;NB: NOTICE_ARN would be like an environment variable here&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NOTICE_ARN: {
        'Fn::Join': [
          ':',
          [
            'arn:aws:sns',
            { Ref: 'AWS::Region' },
            { Ref: 'AWS::AccountId' },
            'user-notice-${self:provider.stage}'
          ]
        ]
      }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But you can avoid the Fn::Join by simply putting everything into one string like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NOTICE_ARN: 'arn:aws:sns:${aws:region}:${aws:accountId}:user-notice-${self:provider.stage}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And thats it! Nicer, cleaner and it works offline with serverless offline too :) Previoulsy, in the environment variable, the value would be &lt;code&gt;[Object Object]&lt;/code&gt; but now you would have a nice string with those aws values filled in.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>serverless</category>
      <category>lambda</category>
      <category>sns</category>
    </item>
    <item>
      <title>Here I go (again)</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Tue, 27 Jun 2023 03:28:08 +0000</pubDate>
      <link>https://dev.to/island_dev/here-i-go-again-1o8d</link>
      <guid>https://dev.to/island_dev/here-i-go-again-1o8d</guid>
      <description>&lt;p&gt;Sometime ago i said i would be starting to write more. Well, that didn't really happen. But today i want to make a promise to start writing programming articles again and consistently. So what i will be doing is documenting things i have been learning on my new journey. &lt;/p&gt;

&lt;p&gt;What's that new journey you may ask? Well the journey into cloud, more specifically AWS. For sometime now I have been working mainly on developing lambda functions, but i find that lose some of what I learn and I think a great thing to do is write about the things that I have been learning, so that not only will I remember and have something to reference in the future, but also I can help others.&lt;/p&gt;

&lt;p&gt;So...I will be on the blogging trail again. Look out for the first article tomorrow.&lt;/p&gt;

&lt;p&gt;Bye&lt;/p&gt;

</description>
      <category>programming</category>
      <category>blogging</category>
    </item>
    <item>
      <title>I made Wordle with a twist</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Sun, 20 Mar 2022 06:02:20 +0000</pubDate>
      <link>https://dev.to/island_dev/i-made-wordle-with-a-twist-54a7</link>
      <guid>https://dev.to/island_dev/i-made-wordle-with-a-twist-54a7</guid>
      <description>&lt;h2&gt;
  
  
  The Main Game
&lt;/h2&gt;

&lt;p&gt;I kept hearing about this popular game called Wordle earlier in the year. A web game where you have to guess the word of the day in 6 tries. Safe to say a lot of people really love it. So much so, The New York Times decided to buy it from the solo developer that made it. Nice! Isn't that a developer's dream?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;That is the dream. And what's even more crazy is that it's a simple game not only in terms of how it is played, but how easy it is to make it. I thought about how I could come with a simple and popular game as well. But then I realised, Wordle itself is not quite "original" per se. It is a word game like many others. So that's where I thought I could make something like Wordle but with a twist!&lt;/p&gt;

&lt;p&gt;This game would be time based, can be played as much as the user wants and run as a mobile app. I did some research in the app stores and found that there were many games available that were exactly like Wordle. No particular twist other than being able to play without limit. So based on this, I decided to go ahead with my idea.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;Since this game became popular, many templates and tutorials were done to model it. I wanted to get my idea out quickly, so I decided to make use of a template instead of making the game from scratch. It just saves time. Once I got my hand on a template made with pure HTML, CSS and JavaScript, I was able to focus my time on the planned twists.&lt;/p&gt;

&lt;p&gt;I wanted it to be a mobile app, so I used Ionic which obviously is the best fit for my use case. All I had to do was copy over the files, add some extra logic in typescript and compiled my project to run for mobile devices.&lt;/p&gt;

&lt;p&gt;After two weeks, my game was ready. Basically, how it works: The player gets 5 minutes to guess the 5 letter word in 6 tries. The faster the player guesses the word and with less tries, the more points they gain. Sounds fun? Well you can try it out for Android here: &lt;a href="https://play.google.com/store/apps/details?id=com.wimeki.fastletters"&gt;Fast 5 Letters Word Game&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, it is only out for Android. I could not get it out for iOS because Apple doesn't like copycats :)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Follow me on Twitter &lt;a href="https://twitter.com/joey_the_dev"&gt;joey_the_dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wordle</category>
      <category>wordgame</category>
      <category>ionic</category>
      <category>mobilegame</category>
    </item>
    <item>
      <title>Stripe Alternatives</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Wed, 18 Nov 2020 03:08:42 +0000</pubDate>
      <link>https://dev.to/island_dev/stripe-alternatives-pl1</link>
      <guid>https://dev.to/island_dev/stripe-alternatives-pl1</guid>
      <description>&lt;p&gt;Hi DEV Crew,&lt;/p&gt;

&lt;p&gt;Stripe is not supported in my country. I would like to know of simple alternatives for me to easily accept payments (credit, debit cards, etc) on my website.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

</description>
      <category>stripe</category>
      <category>payments</category>
      <category>paymentapi</category>
      <category>creditcards</category>
    </item>
    <item>
      <title>Public or Private Github for recruiters</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Wed, 18 Nov 2020 03:04:20 +0000</pubDate>
      <link>https://dev.to/island_dev/public-or-private-github-for-recruiters-5847</link>
      <guid>https://dev.to/island_dev/public-or-private-github-for-recruiters-5847</guid>
      <description>&lt;p&gt;Hey Dev Team!&lt;/p&gt;

&lt;p&gt;I am just curious. Companies normally ask candidates to post a link to their GitHub accounts so they can take a look at their projects. What if my projects are not public and I would prefer to keep my source code private. What would I need to do? Should I give them temporary access if possible?&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>github</category>
      <category>repo</category>
      <category>jobhunting</category>
    </item>
    <item>
      <title>I am a software developer starting a blog</title>
      <dc:creator>Joey The Dev</dc:creator>
      <pubDate>Tue, 02 Jun 2020 01:47:05 +0000</pubDate>
      <link>https://dev.to/island_dev/i-am-a-software-developer-starting-a-blog-foo</link>
      <guid>https://dev.to/island_dev/i-am-a-software-developer-starting-a-blog-foo</guid>
      <description>&lt;h1&gt;
  
  
  And you should start one too
&lt;/h1&gt;

&lt;p&gt;Have you ever thought of starting your own blog? I have many times, but I just never got around to it. I blame myself though. It is a classic case of procrastination and being stuck in endless researching on the internet and using it as an excuse not to actually get started.&lt;/p&gt;

&lt;p&gt;But today is the day! This will be my first official post! There are a few reasons that have compelled me to finally get started. I would like to highlight these reasons in this, my first post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exposure
&lt;/h2&gt;

&lt;p&gt;Blogging allows you to showcase your skills and projects to the world. Of course, it will take a lot to draw readers to your post, but in my opinion, it’s better to get one person to see your stuff than have no one at all. As a software developer, I have tried my hand at multiple side projects and in the end, I am the only one who knows about it (I am not ashamed of this because I know many other devs have faced this, but that’s for another post). Putting what you have worked on out there into the world through a blog post could help with some exposure. Additionally, persons get to see what you are made of, and that opens the door for opportunities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Community Contribution
&lt;/h2&gt;

&lt;p&gt;I am also here so I can give my two cents of the career and the industry as a whole. I would like to give tips and tutorials to beginners. I was once a beginner and I am still learning. I depended a lot on blog posts like these to develop into the professional I am today. There is just always something so real and genuine about someone giving their thoughts and perspective to certain topics. It really helps!&lt;/p&gt;

&lt;h2&gt;
  
  
  Online Journal
&lt;/h2&gt;

&lt;p&gt;I would also like to use this online space to document my growth as a developer. I have come a far, far way. I have learned much and I am still learning. I think it would be fun to have a sort of documentation for myself; like I am a project. I have been incremented with many version numbers and build codes, and I just keep getting better! This space will be my Github...or Gitlab!&lt;/p&gt;

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

&lt;p&gt;It’s important to note as well, money can be made from blogging, however, that should not be the primary motivator, at least when beginning. I, and you should not be sidetracked by this. I plan to thrive in this area. I am definitely not the best writer. I dont even think of myself as an average one, which is one of the reasons why I have been scared to get started. But I know, just like my dev career, practice makes perfect.&lt;/p&gt;

&lt;p&gt;Will you join me?&lt;/p&gt;

</description>
      <category>developer</category>
      <category>blogging</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
