<?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: Paolo Ragudo</title>
    <description>The latest articles on DEV Community by Paolo Ragudo (@icspks).</description>
    <link>https://dev.to/icspks</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%2F4111253%2F1b2496b9-370e-487a-a50a-b63dc1e672f5.png</url>
      <title>DEV Community: Paolo Ragudo</title>
      <link>https://dev.to/icspks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/icspks"/>
    <language>en</language>
    <item>
      <title>Choosing Backend and Cloud as a Niche</title>
      <dc:creator>Paolo Ragudo</dc:creator>
      <pubDate>Tue, 27 Oct 2026 14:22:06 +0000</pubDate>
      <link>https://dev.to/icspks/choosing-backend-and-cloud-as-a-niche-4ji1</link>
      <guid>https://dev.to/icspks/choosing-backend-and-cloud-as-a-niche-4ji1</guid>
      <description>&lt;p&gt;For a long time throughout college in Computer Science, a question has been bugging me ever since I started really getting into development and writing software: which field should I specialize in?&lt;/p&gt;




&lt;p&gt;Hello, everyone! Bit of a lurker here for quite some time now. About a month or so ago, I decided to take the plunge and start writing articles  and document my experience and learning journey in tech. This is my first post here, I hope you enjoy!&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;p&gt;Software Engineering is a broad field. It has web development, cybersecurity, systems programming, Internet of Things, cloud, and many others. In a field as broad as this, deciding which area to specialize in has led me to putting off the question indefinitely. And with graduations nearing, I needed to take a step and make a decision, before the time catches up and suddenly I’m left with sprawling areas that I worked on, and a master to none.&lt;/p&gt;




&lt;h2&gt;
  
  
  Choosing a niche does not lock me out from others
&lt;/h2&gt;

&lt;p&gt;Perhaps one of the reasons that I couldn’t make a decision was the idea that if I went and specialized in one area, I am locking myself out from other areas. I thought that if I specialized in embedded systems, I would only ever get to work on embedded systems and that alone. But that couldn’t be further from the truth. You still can and will get to work on other areas besides the one you choose. I did not know where this idea came from, but that stopped me from picking a focus and starting early on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I chose Backend and Cloud
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Frontend was a skill-issue
&lt;/h3&gt;

&lt;p&gt;I hated frontend. In frontend, it feels almost chaotic and unstructured. Adding style classes, divs, and then you would get a completely different result from the one you intended. I acknowledge that this is just a skill issue. It is in many ways unpredictable, at least for me.&lt;/p&gt;

&lt;p&gt;While I built full stack applications end-to-end before, backend just seemed to be more interesting to me. It’s structured. The answers are definitive and certain, things are more formally standardized, and I really liked that aspect in backend development. &lt;/p&gt;

&lt;p&gt;I also enjoyed designing systems, charts, drawing diagrams, and conceptualizing where and how data will flow from one component to another, how services will perform under different circumstances, and other exciting topics related to designing systems. &lt;/p&gt;




&lt;h3&gt;
  
  
  The thrill of seeing my projects live over the internet
&lt;/h3&gt;

&lt;p&gt;Seeing my projects deployed and live online was really thrilling. Exploring cloud also sparked a curiosity in me — a kind of creative curiosity that for a long time really needed an outlet — that led me into a rabbit hole of looking up Virtual Private Servers (VPS), containers, concurrency, systems, multi-tenancy, reverse-proxy, and many more. It’s also one of the main reasons that really pushed me to finally start a website after wanting to for so long. &lt;/p&gt;

&lt;p&gt;To me, the cloud felt like an extension of the backend (you could even consider it as the backbone, infrastructure, or the plumbing of backend over the internet). It felt like my projects and ideas are not just sitting locally in my laptop, but discoverable and accessible by anyone in the world, and I could actually show it live. It just felt really interesting and exciting to me and I really gravitated towards it.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it’s going so far
&lt;/h2&gt;

&lt;p&gt;Ever since I made the decision to pick a niche and start really digging deep, I’ve decided that the only way I’m going to make progress and see success is to commit.&lt;/p&gt;




&lt;h3&gt;
  
  
  Consistency as my companion
&lt;/h3&gt;

&lt;p&gt;I needed a plan, a schedule, a habit. But to really keep moving forward, I needed to be &lt;strong&gt;CONSISTENT&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fibq9qbkv1xxh0hobjep4.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fibq9qbkv1xxh0hobjep4.png" alt="My daily study logs for July 2026 in Notion" width="800" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I committed to studying and coding at least one hour every single day (except Sundays). I started somewhere around June 2026, and it has been going on consistently until now.&lt;/p&gt;

&lt;p&gt;Although some days I skip, and there are occasions where I skip days consecutively, I always try to pick the pace back up again and keep it going.&lt;/p&gt;




&lt;h3&gt;
  
  
  A Roadmap
&lt;/h3&gt;

&lt;p&gt;This is one of the early problems I encountered during the first weeks of starting: I didn’t have a roadmap. I would lookup topics and find what to study and build. But without a roadmap to progressively guide me, I was just wandering aimlessly.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3hy805pmc0guxnc4eyzl.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3hy805pmc0guxnc4eyzl.png" alt="A partial overview of the backend roadmap from roadmap.sh" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And so I started looking at the &lt;a href="https://roadmap.sh/backend" rel="noopener noreferrer"&gt;roadmap.sh backend roadmap&lt;/a&gt;. It’s a good and fairly comprehensive roadmap and people would repeatedly recommend it. There are also roadmaps for the other areas in software and computer science as well!&lt;/p&gt;

&lt;p&gt;The roadmap tells you what topics and skills you’d need to learn and in what order, but it does not mention what projects to make. I can pretty much build anything I want, and I did build things that I want (a ticket queue system, a mobile expense tracker app, an online tic tac toe game), but I also wanted a list of curated projects I wanted to follow along. I found that &lt;a href="https://roadmap.sh/backend/project-ideas" rel="noopener noreferrer"&gt;this&lt;/a&gt; was a good list of 20 backend projects that progressively gets harder and more advanced and builds on top of previous projects. As of writing this blog, I am at Project 4 where I’m learning about JWTs and how to implement them in .NET. &lt;/p&gt;




&lt;h2&gt;
  
  
  Projects I’ve built so far
&lt;/h2&gt;

&lt;p&gt;Some notable projects I have made over the past 3 months since I’ve started are listed below:&lt;/p&gt;




&lt;h3&gt;
  
  
  Ticket Queueing System
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fop6k3i18hd0tvg79w6h0.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fop6k3i18hd0tvg79w6h0.png" alt="an asp.net and react ticket queueing system project" width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know the frontend looks atrocious, but that wasn’t really the focus of the project. It was to understand how to implement web sockets for real time updates. Each ticket has a random amount of seconds needed to finish that ticket. Instead of a push-pull system like standard queueing systems, the tickets just get assigned automatically to a free worker via a background process. Updates are real time and synced across all clients.&lt;/p&gt;

&lt;p&gt;You can checkout the project on GitHub &lt;a href="https://github.com/p-ragudo/DotnetProjects" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Template-based Mobile App Expense Tracker and a Google Sheets spreadsheet as a data store
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcgja8jokgwut3vzex8x9.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcgja8jokgwut3vzex8x9.png" alt="an expense tracker mobile application screenshot" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My daily expenses started to look the same: commute and food; almost the same every single day. So I built an expense tracker app that allows you to make an expense template. &lt;/p&gt;

&lt;p&gt;The design choice to use a spreadsheet was intentional. With just one tap, that expense gets recorded into Google Sheets in my account, which allows me to log expenses in a spreadsheet where I can then later perform analytics and get more insights about my spending using the built-in tools that spreadsheets have, and it saves me the pain of having to build my own analytics and data visualization tools.&lt;/p&gt;

&lt;p&gt;Another design choice is instead of the mobile app calling the google sheets API, it talks to a .NET backend that connects to the google sheets API. This might sound like another extra layer, but there are two reasons for this design choice:&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;(1)&lt;/strong&gt; I wanted to decouple the app from all the logic and processing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; I wanted to build and deploy a .NET backend. &lt;/p&gt;




&lt;p&gt;For a personal expense tracking app, it does the job alright. You can also find the GitHub repository &lt;a href="https://github.com/p-ragudo/DotnetProjects" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Online Tic-Tac-Toe Pvp Game
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feblcryz8ntkt3vp0ru4b.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feblcryz8ntkt3vp0ru4b.png" alt="screenshot of a browser-based online pvp tic-tac-toe game" width="799" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ve always wanted to make a live tic-tac-toe pvp game ever since I created one in the terminal using Java 2 years ago. But back then, I didn’t have the skills to make one yet, and after a while, it got pushed into the background.&lt;/p&gt;

&lt;p&gt;Well, I decided to finally take the step and made it happen. Using the experience with building the ticket queueing system, I implemented web sockets for live gameplay. This, however, added a new layer where real-time updates and syncing are isolated to only connected players.&lt;/p&gt;

&lt;p&gt;I also built the backend or server to be client implementation-agnostic. It doesn't matter whether a client is a flashy and polished React frontend, or a simple terminal. As long as they adhere to the server’s contract, a Next.js client and a console client can even play against each other!&lt;/p&gt;

&lt;p&gt;I was originally gonna decouple game state from the server using an external memory store such as Redis, but decided that with the current scale of my application, a single monolith deployment would do the job.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb58fsj9238l2twj4804f.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb58fsj9238l2twj4804f.png" alt="gameplay screenshot of the tic-tac-toe game" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can actually play the game right now &lt;a href="https://tictactoe-icespikes.vercel.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt;!&lt;/p&gt;




&lt;h3&gt;
  
  
  20 Backend Projects Roadmap
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl6gsersr1za73oyp8zlq.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl6gsersr1za73oyp8zlq.png" alt="screenshot of the 20 backend projects roadmap from roadmap.sh" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not a project, but a set of projects. Right now, I decided to follow a more structural approach. I’m following this &lt;a href="https://roadmap.sh/backend/project-ideas" rel="noopener noreferrer"&gt;backend roadmap projects&lt;/a&gt; and slowly building each project, trying to learn and improve. &lt;/p&gt;

&lt;p&gt;Additionally, I paired it with the &lt;a href="https://roadmap.sh/backend" rel="noopener noreferrer"&gt;backend roadmap in roadmap.sh&lt;/a&gt;. I use the general roadmap for which topics to progressively learn, and the 20 backend projects for what projects to build.&lt;/p&gt;

&lt;p&gt;As of writing this blog, I am at &lt;strong&gt;Project #4&lt;/strong&gt;, an Expense Tracker API with JWTs as an authentication scheme.&lt;/p&gt;

&lt;p&gt;Come check out the &lt;a href="https://github.com/p-ragudo/backend-projects" rel="noopener noreferrer"&gt;github repo&lt;/a&gt; if you’re interested!&lt;/p&gt;




&lt;p&gt;These projects may seem introductory or amateur-ish, but it’s a start. And as I get better and better, my projects will improve and become more and more complex. The important thing here is to be consistent, and I’ve displayed here that I show up every time. I’m playing the long game.&lt;/p&gt;




&lt;h2&gt;
  
  
  Future Plans
&lt;/h2&gt;

&lt;p&gt;Learning backend has been fun so far, and hopefully I make a good career out of it. I also plan to get into linux and devops soon, which I think will be more if not as fun. &lt;/p&gt;

&lt;p&gt;Some projects I got lined up next are Redis, Docker, a Git clone, or something entirely my own. Eventually, I also want to start building something that people will use and I will actively maintain. I think there is great value in that.&lt;/p&gt;

&lt;p&gt;I believe one of the things that keeps me and will keep me going is the fact that I find it fun, enjoyable, and overall just a really great experience. &lt;/p&gt;

&lt;p&gt;I’m really excited to continue learning, exploring, and to see what things I will build in the future!&lt;/p&gt;




&lt;p&gt;If you want to follow along my journey, you can visit my blog at &lt;a href="https://paoloragudo.com/blog" rel="noopener noreferrer"&gt;paoloragudo.com/blog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I post once a week every Sundays. At the time of writing this article, I have not yet setup a newsletter yet or some form of subscription and content distribution (but I will soon!). &lt;/p&gt;

&lt;p&gt;I repost these articles across blogging platforms such as DEV, Hashnode, and Medium. I also post daily on LinkedIn, X, and sometimes Reddit. &lt;/p&gt;

&lt;p&gt;Thanks for reading to the end!&lt;/p&gt;

</description>
      <category>backend</category>
      <category>cloud</category>
      <category>beginners</category>
      <category>career</category>
    </item>
  </channel>
</rss>
