<?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: Mohanragul</title>
    <description>The latest articles on DEV Community by Mohanragul (@mohan-01).</description>
    <link>https://dev.to/mohan-01</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%2F3904844%2Fe47ec6eb-5229-418f-9610-ba1856206d03.png</url>
      <title>DEV Community: Mohanragul</title>
      <link>https://dev.to/mohan-01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mohan-01"/>
    <language>en</language>
    <item>
      <title>I Wasted a Day, Then Built an AI That Identifies Bears — 4 Days of Real Learning</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Wed, 20 May 2026 17:34:07 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-wasted-a-day-then-built-an-ai-that-identifies-bears-4-days-of-real-learning-34h2</link>
      <guid>https://dev.to/mohan-01/i-wasted-a-day-then-built-an-ai-that-identifies-bears-4-days-of-real-learning-34h2</guid>
      <description>&lt;h3&gt;
  
  
  May 17 was a write-off.
&lt;/h3&gt;

&lt;p&gt;No learning. No building. Just YouTube, doom scrolling, and the slow awareness that I was avoiding everything I was supposed to be doing. I didn't spiral about it. I just watched it happen and let the day end.&lt;/p&gt;

&lt;p&gt;Honest starting point.&lt;/p&gt;




&lt;h3&gt;
  
  
  Doing a Little When You Don't Feel Like It
&lt;/h3&gt;

&lt;p&gt;Recovery doesn't look dramatic. It looks like sitting down and doing something small even when nothing feels like it matters yet.&lt;/p&gt;

&lt;p&gt;I started FastAI from where I leave, got back into the course, handled some other things. Not a productive day by any measure — but motion is motion. The point wasn't output. It was direction.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Workflow Started Making Sense
&lt;/h3&gt;

&lt;p&gt;Completed FastAI Modules 1 and 2 with the book chapters, then built the classic dog-vs-cat image classifier.&lt;/p&gt;

&lt;p&gt;Most of the code was course-guided, but something clicked about the core loop: feed labeled images in → model trains → pass a new image through → get a label and confidence score. Train, predict, evaluate. That's the foundation for everything else in this course.&lt;/p&gt;

&lt;p&gt;Seeing it run on cats and dogs made it concrete in a way that reading about it hadn't.&lt;/p&gt;




&lt;p&gt;The Bear Classifier&lt;/p&gt;

&lt;p&gt;Module 3 done. Bear classifier built — classifies images as black bear, grizzly, or teddy bear.&lt;/p&gt;

&lt;p&gt;It works. Watching it correctly label a grizzly I fed it was one of those moments that feels disproportionately satisfying. You know it's a beginner project. It's still your beginner project, and it ran.&lt;/p&gt;

&lt;p&gt;One practical heads-up if you're following the same course: the FastAI content is a few years old, and the image collection section uses a Bing Search API free tier that no longer exists without entering card details. Hit that wall early. The fix: switch to DuckDuckGo image search via Python — fully free, works the same way for pulling training images. Worth knowing before you run into it.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Four Days Actually Taught Me
&lt;/h3&gt;

&lt;p&gt;May 17 didn't erase May 19 and May 20. Obvious in theory — easy to forget when you're in it, treating one bad day like it resets your streak to zero.&lt;/p&gt;

&lt;p&gt;The more useful takeaway: small practical projects move understanding forward faster than rushing through theory. The dog-vs-cat and bear classifiers are simple. Neither required deep knowledge. But building them made concepts stick in a way that reading alone hadn't managed.&lt;/p&gt;

&lt;p&gt;Consistency isn't about perfect productivity. It's about what you do after the wasted day.&lt;/p&gt;

&lt;p&gt;May 18 wasn't impressive. It was just necessary.&lt;/p&gt;




&lt;p&gt;What does your recovery day look like when you lose momentum — do you push through, or let yourself reset first? 👇&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ai</category>
      <category>machinelearning</category>
      <category>career</category>
    </item>
    <item>
      <title>I Deleted My Working AI Project and Rebuilt It From Scratch. Here's What I Learned.</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Sat, 16 May 2026 18:18:51 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-deleted-my-working-ai-project-and-rebuilt-it-from-scratch-heres-what-i-learned-1gi3</link>
      <guid>https://dev.to/mohan-01/i-deleted-my-working-ai-project-and-rebuilt-it-from-scratch-heres-what-i-learned-1gi3</guid>
      <description>&lt;p&gt;I had a working prototype in a few hours. It ran. It looked like something real.&lt;/p&gt;

&lt;p&gt;I deleted it anyway.&lt;/p&gt;

&lt;p&gt;Not because it was broken — because I couldn't explain what it was doing. And that felt worse than having nothing at all.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Build and the Discard
&lt;/h3&gt;

&lt;p&gt;The project was an AI API Cost Optimizer — monitor usage across multiple LLMs, route requests by cost, handle fallback logic when a model fails. Solid concept. Portfolio-worthy.&lt;/p&gt;

&lt;p&gt;Cursor generated the structure fast.&lt;/p&gt;

&lt;p&gt;Then I sat down to actually review it. I could read the code. I couldn't explain it. There's a difference. If someone had asked me why a specific routing decision was made, or what happens when two circuit breakers trigger at once — I would've guessed. And I wouldn't have known if I was right.&lt;/p&gt;

&lt;p&gt;I deleted it entirely. Not to fix it slowly and hope comprehension would come. Just: delete, start over. Felt more honest than shipping something I couldn't own.&lt;/p&gt;




&lt;h3&gt;
  
  
  One Lost Day
&lt;/h3&gt;

&lt;p&gt;Laptop issues. Service center. Hours of waiting.&lt;/p&gt;

&lt;p&gt;I knew the day was gone by mid-afternoon and didn't force it. Some days are just the cost of having a life outside of building.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Rebuild — One Piece at a Time
&lt;/h3&gt;

&lt;p&gt;I started over with Claude. But the tool wasn't really the point.&lt;/p&gt;

&lt;p&gt;What changed was how I worked.&lt;br&gt;
The first time: described the full project, let the AI generate most of it in one pass.&lt;/p&gt;

&lt;p&gt;The second time: one small piece at a time. Got the basic API connection working and understood it before touching the next part. Then routing logic — built it, read it, asked questions, moved on. Then fallback handling. Each piece had to make sense before I added the next one.&lt;br&gt;
Slower. But the project grew in a way I could actually follow.&lt;/p&gt;

&lt;p&gt;By end of day, the MVP was rebuilt and deployed. Same project, same concept — but this time I could explain every decision in it.&lt;/p&gt;

&lt;p&gt;That's the difference between a project you built and a project that was built for you.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Next Project — and a Deployment Reality Check
&lt;/h3&gt;

&lt;p&gt;The next one was a RAG Knowledge Assistant: upload a document, ask questions, get answers grounded in its content. Dev went smoothly.&lt;br&gt;
Deployment did not.&lt;/p&gt;

&lt;p&gt;Free-tier hosting limits. Unexpected constraints. Hours debugging infrastructure that had nothing to do with the AI logic. The kind of problems tutorials skip because they assume everything just works.&lt;/p&gt;

&lt;p&gt;It shipped. But the real lesson wasn't about RAG pipelines — it was that getting something running locally and getting it running somewhere real are completely different skills. That gap doesn't get talked about enough.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I'm Actually Changing
&lt;/h3&gt;

&lt;p&gt;AI speed is real and useful. But speed without understanding creates a problem — you end up with things you can't maintain, can't debug, and can't honestly call your own. The impressive-looking project you can't explain in an interview isn't an asset.&lt;/p&gt;

&lt;p&gt;I'm not generating whole projects anymore. I build in pieces, stay at the edge of what I understand, and use AI to push that edge forward — not jump past it entirely.&lt;/p&gt;

&lt;p&gt;The goal isn't to ship fast. It's to understand what I'm shipping.&lt;/p&gt;




&lt;p&gt;Have you ever accepted generated code you didn't fully understand just to keep moving — did you ship it anyway, or did something make you stop? Let's talk in the comments 👇&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Over-Prepared for My First AI Project. Then Everything Failed on Day One.</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Wed, 13 May 2026 08:21:09 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-over-prepared-for-my-first-ai-project-then-everything-failed-on-day-one-288a</link>
      <guid>https://dev.to/mohan-01/i-over-prepared-for-my-first-ai-project-then-everything-failed-on-day-one-288a</guid>
      <description>&lt;p&gt;I had everything ready before I wrote a single line of code.&lt;/p&gt;

&lt;p&gt;Detailed prompts. System design notes. Tech stack decisions. Workflow docs. Days of prep so that when I finally sat down to build, nothing would slow me down.&lt;/p&gt;

&lt;p&gt;Then I started building. Almost all of it fell apart.&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 1 — The Plan Collapsed
&lt;/h3&gt;

&lt;p&gt;The prompts I'd crafted didn't produce what I expected. Outputs were inconsistent. I spent hours refining — restructuring, rewording, testing, getting slightly better results, then slightly worse ones.&lt;/p&gt;

&lt;p&gt;Then it hit me: I wasn't building. I was still preparing — just in a different form.&lt;/p&gt;

&lt;p&gt;So I made the only call that actually moved things forward: stop chasing the perfect setup. Build something functional instead.&lt;/p&gt;

&lt;p&gt;Obvious in hindsight. Not obvious at hour four of testing prompts that were close but never quite right.&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 2 — The Day It Actually Worked
&lt;/h3&gt;

&lt;p&gt;Instead of jumping into code, I used AI as a thinking partner first — filling gaps, stress-testing my understanding. Not generating outputs. Just actually understanding the problem.&lt;/p&gt;

&lt;p&gt;Then I started coding.&lt;/p&gt;

&lt;p&gt;By end of day, I'd built and deployed AI Resume Tailor — a web app that analyzes your resume against a job description, returns a match score, and generates an AI-tailored version. Flask backend, React frontend, Gemini Flash API for the processing.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://github.com/Mohanragul-01/ai-resume-polisher" rel="noopener noreferrer"&gt;GitHub &lt;/a&gt;→ &lt;a href="https://ai-resume-polisher.vercel.app/" rel="noopener noreferrer"&gt;Live app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What clicked for me: theory alone didn't make the prep make sense. Building with it did.&lt;/p&gt;

&lt;p&gt;One real bottleneck — I hit my AI usage limit mid-build. Forced pause I didn't want. It also exposed something I'd been ignoring: my workflow has no clean fallback when AI-assisted momentum cuts off. Filed that under "things to fix."&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 3 — The Day That Fought Back
&lt;/h3&gt;

&lt;p&gt;I accidentally deleted an important AI conversation. Concept explanations I'd been building on — the kind of context that's annoying to reconstruct.&lt;/p&gt;

&lt;p&gt;I sat with that frustration. Then I redid it.&lt;/p&gt;

&lt;p&gt;Not gracefully. But I redid it, kept working through the concepts I needed for the next project, and that night started fast.ai's &lt;em&gt;Deep Learning for Coders&lt;/em&gt; — Lesson 1 done.&lt;/p&gt;

&lt;p&gt;Small move. Deliberate one.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Pattern I Noticed
&lt;/h3&gt;

&lt;p&gt;Three days isn't a lot of data. But it was enough.&lt;/p&gt;

&lt;p&gt;I move fast. I rely heavily on structured AI workflows. I sometimes overprepare before testing whether the foundation is even solid. And I lose momentum to small things — no backup for important conversations, no plan for usage limits.&lt;/p&gt;

&lt;p&gt;I haven't fixed any of it yet. But I've noticed it. And noticing a pattern before you have a solution means you'll recognize it faster next time.&lt;/p&gt;

&lt;p&gt;Three messy days still shipped something real.&lt;/p&gt;




&lt;p&gt;Have you ever prepared so hard for something that the preparation became the obstacle? How did you break out of it? Drop it in the comments 👇&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ai</category>
      <category>webdev</category>
      <category>career</category>
    </item>
    <item>
      <title>I Built 10 AI Applications in 5 Days as a Beginner — Here's What Actually Happened</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Sat, 09 May 2026 09:31:03 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-built-10-ai-applications-in-5-days-as-a-beginner-heres-what-actually-happened-19ke</link>
      <guid>https://dev.to/mohan-01/i-built-10-ai-applications-in-5-days-as-a-beginner-heres-what-actually-happened-19ke</guid>
      <description>&lt;p&gt;Four days ago I was reading about what an API is.&lt;/p&gt;

&lt;p&gt;By day four I had a working RAG application running locally on my machine — one that could answer questions using documents I fed it, without sending anything to an external server.&lt;/p&gt;

&lt;p&gt;I'm still not sure how that happened. But I want to write it down before the feeling fades.&lt;/p&gt;




&lt;h3&gt;
  
  
  Where this fits in the journey
&lt;/h3&gt;

&lt;p&gt;I'm midway through the IBM Applied AI Developer Professional Certificate. Courses 5 and 6 are where everything shifted — from understanding concepts to actually building things. Ten projects across five days.&lt;/p&gt;

&lt;p&gt;This isn't a course review. It's an account of what building actually felt like.&lt;/p&gt;




&lt;h3&gt;
  
  
  Course 5 — Flask and backend development
&lt;/h3&gt;

&lt;p&gt;I went in thinking the backend would be manageable.&lt;/p&gt;

&lt;p&gt;I'd learned Node.js in my first year of college during a MERN stack module. I remembered the basics — routing, requests, how a server works. Enough to feel like I had a foundation.&lt;/p&gt;

&lt;p&gt;What I didn't account for: after first year, I completely stopped touching backend. My focus drifted entirely to frontend. For two years I wrote UI, helped friends debug occasionally, and let everything else fade.&lt;/p&gt;

&lt;p&gt;So when Flask came up, I didn't remember Node as much as I thought. What I remembered was the concept — how a backend is supposed to work. That was enough to adapt, even though the syntax was completely different.&lt;/p&gt;

&lt;p&gt;What surprised me more was unit testing.&lt;/p&gt;

&lt;p&gt;I'd seen it mentioned in coursework and always skipped past it mentally — something I filed under "I'll care about this later." During Course 5, I actually understood what it was for the first time. What it checks. Why it matters. Why writing tests isn't extra work but part of writing real software.&lt;/p&gt;

&lt;p&gt;Here's the part I'm still thinking about.&lt;/p&gt;

&lt;p&gt;During campus placements in my final year, a company selected me through a hackathon and called me for a final interview. They asked if I was comfortable with a testing role.&lt;/p&gt;

&lt;p&gt;I said I didn't know much about testing and would prefer frontend, web development, or AI.&lt;/p&gt;

&lt;p&gt;I didn't get the offer.&lt;/p&gt;

&lt;p&gt;Sitting in a Flask unit testing module two years later, understanding what I casually dismissed in that room — that landed.&lt;/p&gt;

&lt;p&gt;The Finance Tracker, Sentiment Analyzer, and Emotion Detector came out of Course 5. First time I connected a real frontend to a Flask backend. First time I saw how AI output fits into an application as a feature rather than the whole thing.&lt;/p&gt;




&lt;h3&gt;
  
  
  Course 6 — Building GenAI powered applications
&lt;/h3&gt;

&lt;p&gt;This is where the ten projects came together. Image Captioner, Chatbot, Voice Assistant, Meeting Assistant, Translation Assistant, Job Application Coach — and the one I want to spend the most time on.&lt;/p&gt;

&lt;p&gt;But let me be honest about a few things first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The BlenderBot problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The chatbot in the course used &lt;code&gt;BlenderBot&lt;/code&gt; model from Meta. I want to say this clearly: in my experience, it was not BlenderBot. It was BlunderBot.&lt;/p&gt;

&lt;p&gt;Responses were off — sometimes irrelevant, sometimes just strange. I spent time trying to figure out if I'd built it wrong before I realized the model itself was the issue. That was a useful lesson in its own way — the model matters as much as the application around it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The translation app detour&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The IBM translation API I was supposed to use wasn't accessible from my setup. So I found my own path.&lt;/p&gt;

&lt;p&gt;I used &lt;code&gt;Whisper&lt;/code&gt;for speech-to-text and &lt;code&gt;Piper&lt;/code&gt;for text-to-speech. What I didn't know going in: Piper requires downloading an &lt;code&gt;ONNX&lt;/code&gt;model file separately. The app broke. I searched, figured it out, downloaded the file.&lt;/p&gt;

&lt;p&gt;Then Japanese voice models weren't available in my configuration. Then the audio format Piper produced wasn't compatible with the frontend.&lt;br&gt;
Each of those was a small wall. I went over each one. The final app worked. It wasn't the one the course intended — but it was mine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The LangChain version issue&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This one cost me more time than anything else. The course imports used &lt;code&gt;langchain.chains&lt;/code&gt;. In the current version of LangChain, that's moved to &lt;code&gt;langchain_classic&lt;/code&gt;. The course materials hadn't been updated.&lt;/p&gt;

&lt;p&gt;The application simply wouldn't run. No obvious error pointing at the real cause. I eventually found it — either downgrade the package or update every import. I updated the imports.&lt;/p&gt;

&lt;p&gt;This is exactly the kind of thing that doesn't come up in passive learning. You only hit it when you're actually building something.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Private RAG Application
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;RAG&lt;/strong&gt; — &lt;em&gt;Retrieval-Augmented Generation&lt;/em&gt; — is when an AI application retrieves relevant information from your own documents before generating a response. Instead of relying purely on what the model was trained on, it pulls from a source you control.&lt;/p&gt;

&lt;p&gt;Building this one felt different from the others.&lt;/p&gt;

&lt;p&gt;It was the first project where I could see how a real AI system is actually structured — not just a model answering questions, but a pipeline. Documents go in, get processed, get stored, get retrieved, and the model uses them to respond. Local. Private. Yours.&lt;/p&gt;

&lt;p&gt;That architecture made something click that earlier courses had only described.&lt;/p&gt;




&lt;h3&gt;
  
  
  The honest part — most important paragraph in this post
&lt;/h3&gt;

&lt;p&gt;Most of these were guided projects. I followed instructions. I used provided code as a starting point.&lt;/p&gt;

&lt;p&gt;But wherever I could, I built my own version. I swapped APIs. I changed the frontend. I broke things and fixed them.&lt;/p&gt;

&lt;p&gt;And even in the guided parts — practical implementation exposes gaps that passive learning hides. Reading about LangChain imports doesn't teach you what happens when they break. Understanding RAG conceptually doesn't show you what building the pipeline actually feels like.&lt;/p&gt;

&lt;p&gt;You find out what you don't know only when the code doesn't run.&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 5 is less about building fast and more about slowing down.
&lt;/h3&gt;

&lt;p&gt;Today, I’m revisiting everything I’ve learned so far — reviewing my work, filling gaps, and understanding things more deeply instead of just moving on.&lt;/p&gt;

&lt;p&gt;I’m also starting to explore what comes next: AI Agents and Practical Deep Learning.&lt;/p&gt;

&lt;p&gt;But before jumping into another structured path, I want to build something independently first.&lt;/p&gt;

&lt;p&gt;No tutorials. No step-by-step course.&lt;br&gt;
Just a real problem, curiosity, and the tools I’ve learned so far.&lt;/p&gt;




&lt;h3&gt;
  
  
  What's next
&lt;/h3&gt;

&lt;p&gt;Phase one is done. The foundation is there.&lt;/p&gt;

&lt;p&gt;Phase two is building without a guide. That's where I'll find out what actually stuck. I'll write about it when I do — including the parts that don't work.&lt;/p&gt;




&lt;p&gt;If you've built guided projects before — when did it start feeling like your own work? Was there a specific moment, or did it happen gradually?&lt;/p&gt;

&lt;p&gt;Drop it in the comments. I'm genuinely trying to figure out where that line is. 👇&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Thought I Knew Python. I Was Wrong — Here's What Relearning It Actually Felt Like</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Tue, 05 May 2026 09:16:03 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-thought-i-knew-python-i-was-wrong-heres-what-relearning-it-actually-felt-like-15la</link>
      <guid>https://dev.to/mohan-01/i-thought-i-knew-python-i-was-wrong-heres-what-relearning-it-actually-felt-like-15la</guid>
      <description>&lt;p&gt;I opened IBM Course 4 — Python for Data Science, AI and Development — fully expecting to breeze through it.&lt;/p&gt;

&lt;p&gt;I'd used Python before. In college. In personal projects. It was supposed to be the comfortable one.&lt;/p&gt;

&lt;p&gt;Then &lt;code&gt;**kwargs&lt;/code&gt; showed up.&lt;/p&gt;




&lt;h3&gt;
  
  
  A quick timeline
&lt;/h3&gt;

&lt;p&gt;My previous post went up on May 2. After that, I finished IBM Course 3 on Prompt Engineering.&lt;/p&gt;

&lt;p&gt;May 3 — started Course 4. Finished a major chunk of it the same day.&lt;/p&gt;

&lt;p&gt;May 4 — wrapped it up.&lt;/p&gt;

&lt;p&gt;Two days. But they didn't feel easy.&lt;/p&gt;




&lt;h3&gt;
  
  
  This one was different from the start
&lt;/h3&gt;

&lt;p&gt;The earlier IBM courses — Intro to AI, Generative AI, Prompt Engineering — were concept-heavy. I could follow along, absorb ideas, take notes.&lt;/p&gt;

&lt;p&gt;This one required me to actually do things.&lt;/p&gt;

&lt;p&gt;You can't half-pay-attention your way through a coding module. The moment you try to rush it, you get stuck. And I got stuck more than I expected.&lt;/p&gt;

&lt;p&gt;That gap — between passively understanding something and actively using it — is something nobody really warns you about. I felt it clearly here.&lt;/p&gt;




&lt;h3&gt;
  
  
  The moment it stopped feeling familiar
&lt;/h3&gt;

&lt;p&gt;I was fine with &lt;code&gt;*args&lt;/code&gt;. Used it before. Pass in multiple positional arguments, collect them as a tuple — fine.&lt;/p&gt;

&lt;p&gt;Then &lt;code&gt;**kwargs&lt;/code&gt; came up.&lt;/p&gt;

&lt;p&gt;Collect keyword arguments as a dictionary. I'd never actually used this. I'd probably seen it in someone else's code and skimmed past it. The syntax looked familiar enough that my brain filed it under "things I know."&lt;/p&gt;

&lt;p&gt;It was not.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;introduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;kwargs&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;kwargs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;introduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Arun&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;role&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Developer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;learning&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Python&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# name: Arun
# role: Developer
# learning: Python
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not a complicated concept. But I had to stop, reread it, try it, and actually think about when you'd want this over a regular dictionary parameter.&lt;/p&gt;

&lt;p&gt;That pause told me something. There were gaps I hadn't accounted for.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I actually relearned
&lt;/h3&gt;

&lt;p&gt;Beyond &lt;code&gt;**kwargs&lt;/code&gt;, the course pushed me back through things I thought I'd covered:&lt;/p&gt;

&lt;p&gt;Variables, data types, control structures — the bones of Python&lt;br&gt;
Functions, including documenting them with docstrings and how they connect to help() (genuinely didn't know this)&lt;/p&gt;

&lt;p&gt;Parameter handling — &lt;code&gt;*args&lt;/code&gt; for positional, &lt;code&gt;**kwargs&lt;/code&gt; for keyword arguments as a dictionary&lt;/p&gt;

&lt;p&gt;Exception handling — and this is where it got messy&lt;/p&gt;




&lt;h3&gt;
  
  
  The errors vs exceptions thing — I still haven't fully resolved this
&lt;/h3&gt;

&lt;p&gt;I went in thinking I understood the difference. I came out less sure.&lt;br&gt;
Technically, errors in Python — like &lt;code&gt;SyntaxError&lt;/code&gt; — are things the interpreter catches before your code even runs. Exceptions — &lt;code&gt;ValueError&lt;/code&gt;, &lt;code&gt;TypeError&lt;/code&gt;, &lt;code&gt;FileNotFoundError&lt;/code&gt; — happen at runtime while the code is executing.&lt;/p&gt;

&lt;p&gt;But in practice? The line gets blurry. Developers use the terms interchangeably all the time.&lt;/p&gt;

&lt;p&gt;And it's not a beginner problem. Research on mobile app development found that around 80% of exception bugs cause serious issues like crashes or unstable behavior. A separate study analyzing 16 open-source Java and C# projects found exception handling anti-patterns in every single one of them.&lt;/p&gt;

&lt;p&gt;One of the most common mistakes — especially for newer developers — is using exceptions as regular control flow, when they're meant to signal genuinely abnormal conditions. The bare &lt;code&gt;except&lt;/code&gt;block in Python is a classic version of this — catching everything indiscriminately and silently hiding bugs in the process.&lt;/p&gt;

&lt;p&gt;I got confused during the course. I still am, a little. Leaving it here honestly rather than pretending I have a clean answer — I think that's more useful.&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 2 — finishing the course
&lt;/h3&gt;

&lt;p&gt;The second day covered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working with files and different file formats&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pandas&lt;/code&gt;and &lt;code&gt;NumPy&lt;/code&gt;— first real structured exposure to these&lt;/li&gt;
&lt;li&gt;Basics of web scraping&lt;/li&gt;
&lt;li&gt;Working with APIs in Python&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These felt like what the whole course was building toward. The day-one fundamentals started making sense in context.&lt;/p&gt;




&lt;h3&gt;
  
  
  The actual realization
&lt;/h3&gt;

&lt;p&gt;There's a difference between familiarity and understanding.&lt;/p&gt;

&lt;p&gt;I was familiar with Python. Familiar enough to feel comfortable. But familiarity isn't the same as knowing why something works, or when to use one approach over another, or what happens when you get it wrong.&lt;/p&gt;

&lt;p&gt;Relearning made that distinction very clear.&lt;/p&gt;

&lt;p&gt;Going back to something you already "know" and finding gaps is uncomfortable. It's also — once you get past the initial deflation — one of the more useful things you can do.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I'm walking away with
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Familiarity is not fluency. Assuming you know something is a good way to stop learning it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**kwargs&lt;/code&gt; is small. The lesson behind it is not.&lt;/li&gt;
&lt;li&gt;Exception handling needs more time. I'll come back to it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up: projects. That's the only way any of this becomes real. I'll share it when I do.&lt;/p&gt;




&lt;p&gt;Have you ever gone back to something you thought you knew and found gaps you didn't expect? Did you push through or start over?&lt;/p&gt;

&lt;p&gt;Drop it in the comments — genuinely curious. 👇&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>learning</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Am Starting Over in Public</title>
      <dc:creator>Mohanragul</dc:creator>
      <pubDate>Fri, 01 May 2026 18:51:18 +0000</pubDate>
      <link>https://dev.to/mohan-01/i-am-starting-over-in-public-25n1</link>
      <guid>https://dev.to/mohan-01/i-am-starting-over-in-public-25n1</guid>
      <description>&lt;p&gt;I have a computer science degree with a specialization in AI and Data Science. And I still didn't know what prompt engineering actually was.&lt;br&gt;
Not really. Not until three weeks ago.&lt;/p&gt;

&lt;p&gt;That's the honest starting point.&lt;/p&gt;

&lt;p&gt;I graduated, looked at my skills, and realized that a lot of what the real world is talking about — GenAI, prompt design, modern full-stack tools — either wasn't covered in my coursework or just went past me without landing.&lt;br&gt;
I could have waited until I felt ready. Instead, I decided to relearn it in public.&lt;/p&gt;




&lt;h3&gt;
  
  
  Who I am
&lt;/h3&gt;

&lt;p&gt;Fresh engineering grad. Coimbatore-based. Interested in AI and full-stack development, and currently figuring out how to get better at both at the same time.&lt;/p&gt;

&lt;p&gt;I'm not here to perform expertise I don't have. I'm here to build, document what I learn, and eventually land a job that lets me keep doing this.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I'm relearning and building
&lt;/h3&gt;

&lt;p&gt;Four things on my plate right now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI/ML fundamentals — from the ground up, not just theory&lt;/li&gt;
&lt;li&gt;MERN stack — building real full-stack projects&lt;/li&gt;
&lt;li&gt;React → Next.js — making the transition properly&lt;/li&gt;
&lt;li&gt;JavaScript → TypeScript — because I keep seeing it everywhere and I need to stop avoiding it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't goals I set to sound ambitious. They're the gaps I noticed when I looked at job listings and got honest with myself.&lt;/p&gt;




&lt;h3&gt;
  
  
  Where I am right now
&lt;/h3&gt;

&lt;p&gt;Started with Elements of AI from University of Helsinki — low pressure, good foundation reset.&lt;/p&gt;

&lt;p&gt;Then Generative AI for Beginners from Google.&lt;br&gt;
Currently working through the IBM Applied AI Developer Professional Certificate. Three courses done:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduction to AI ✅&lt;/li&gt;
&lt;li&gt;Generative AI – Introduction and Applications ✅&lt;/li&gt;
&lt;li&gt;Generative AI – Prompt Engineering Basics ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three more to go.&lt;/p&gt;

&lt;p&gt;The prompt engineering course is where something actually clicked. I'd been using ChatGPT and Claude for a while and thought prompts were just — type what you need, maybe fix your grammar, get an answer.&lt;/p&gt;

&lt;p&gt;Turns out prompts have types. Paradigms. Building blocks. There are tools built specifically to optimize them. I had seen "prompt engineering" mentioned a hundred times and never actually understood what it meant.&lt;/p&gt;

&lt;p&gt;The fact that I specialized in AI in college and still missed this says a lot about the gap between academic curricula and where the field actually is.&lt;/p&gt;




&lt;h3&gt;
  
  
  What comes next
&lt;/h3&gt;

&lt;p&gt;Projects. Real ones.&lt;/p&gt;

&lt;p&gt;I'll share what I build, what breaks, what I figure out, and what I wish someone had told me earlier — not just polished final results, but the messy middle too.&lt;/p&gt;

&lt;p&gt;I'll also share dev news and tools I come across that seem worth passing on. This won't only be about my own work.&lt;/p&gt;




&lt;h3&gt;
  
  
  The honest goal
&lt;/h3&gt;

&lt;p&gt;I want to land a job in AI or full-stack development. Not hiding that.&lt;/p&gt;

&lt;p&gt;But I also want to keep growing after I get there. Building in public is how I plan to stay accountable — not just during the job hunt, but after it.&lt;/p&gt;




&lt;p&gt;If you're in a similar phase — relearning, rebuilding, or just starting out — I'd genuinely like to hear from you.&lt;/p&gt;

&lt;p&gt;What's one thing you wish your college had actually taught you about working in tech?&lt;/p&gt;

&lt;p&gt;Drop it in the comments. Let's compare notes. 👇&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>career</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
