<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Arslan Qutab on Medium]]></title>
        <description><![CDATA[Stories by Arslan Qutab on Medium]]></description>
        <link>https://medium.com/@arslanshoukatali?source=rss-910ba7c8818f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*A0qsvGWoXRVdhyLk8YQDEw.jpeg</url>
            <title>Stories by Arslan Qutab on Medium</title>
            <link>https://medium.com/@arslanshoukatali?source=rss-910ba7c8818f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 05:39:35 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@arslanshoukatali/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Why Building 10 Small Projects Beats Building One Big Project]]></title>
            <link>https://levelup.gitconnected.com/why-building-10-small-projects-beats-building-one-big-project-f98d1958fe10?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/f98d1958fe10</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[psychology]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Sat, 22 Aug 2026 06:52:05 GMT</pubDate>
            <atom:updated>2026-08-22T06:52:05.881Z</atom:updated>
            <content:encoded><![CDATA[<p>I used to think the fastest way to become a better programmer was to build one impressive project.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*jynMmcH5muS0APT5" /><figcaption>Photo by <a href="https://unsplash.com/@markusspiske?utm_source=medium&amp;utm_medium=referral">Markus Spiske</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Something big.</p><p>Something complicated.</p><p>Something I could put on GitHub and point to when someone asked what I had built.</p><p>It sounded logical.</p><p>It wasn’t.</p><p>My first large projects usually started with a burst of motivation. I would design the architecture, choose the libraries, create folders, write a README, and convince myself I was building something important.</p><p>Two weeks later, I was still working on authentication.</p><p>A few weeks after that, I was debugging an API integration I barely understood.</p><p>Eventually, the project would become too complicated to enjoy and too unfinished to show anyone.</p><p>Then I tried something different.</p><p>I started building small projects.</p><p>One automation script.</p><p>One API.</p><p>One PDF extractor.</p><p>One AI tool.</p><p>One data pipeline.</p><p>One command-line application.</p><p>The projects were nowhere near as impressive individually.</p><p>But after building ten of them, I noticed something strange.</p><p><strong>I had learned more from those ten tiny projects than I had from months of working on one ambitious application.</strong></p><p>Here’s why.</p><h3>1. Small Projects Force You to Finish</h3><p>This sounds obvious.</p><p>It isn’t.</p><p>There’s a huge difference between starting a project and finishing one.</p><p>When a project is large, it’s easy to spend weeks working without reaching a meaningful finish line.</p><p>You can always add another feature.</p><p>Authentication isn’t finished.</p><p>The database needs optimization.</p><p>The UI needs redesigning.</p><p>The API needs another endpoint.</p><p>The deployment isn’t ready.</p><p>There’s always something.</p><p>Small projects don’t give you that luxury.</p><p>If I decide to build a Python script that automatically organizes PDFs, the scope is clear.</p><pre>Find PDFs<br>   ↓<br>Read filenames<br>   ↓<br>Categorize<br>   ↓<br>Move files</pre><p>That’s something I can finish.</p><p>And finishing matters more than beginners realize.</p><p>Every completed project teaches you the entire development cycle:</p><pre>Idea<br> ↓<br>Design<br> ↓<br>Code<br> ↓<br>Debug<br> ↓<br>Test<br> ↓<br>Finish</pre><p>If you only build one giant project, you might experience that cycle once.</p><p>Build ten small projects, and you experience it ten times.</p><p>That’s ten opportunities to get better.</p><h3>2. You Encounter More Problems</h3><p>This is probably the biggest advantage.</p><p>A large project tends to keep you inside one technical ecosystem for a long time.</p><p>You might spend three months building a web application using the same framework, database, and deployment setup.</p><p>You become good at that stack.</p><p>But you don’t necessarily become good at solving unfamiliar problems.</p><p>Small projects force you to switch contexts.</p><p>One week you might build:</p><p><strong>Project 1:</strong> A web scraper.</p><p>Then:</p><p><strong>Project 2:</strong> A REST API.</p><p>Then:</p><p><strong>Project 3:</strong> A PDF parser.</p><p>Then:</p><p><strong>Project 4:</strong> An AI document extractor.</p><p>Then:</p><p><strong>Project 5:</strong> A CLI tool.</p><p>Each project introduces a slightly different problem.</p><p>And that’s where learning accelerates.</p><p>You start encountering questions like:</p><blockquote><em>How should I handle API failures?</em></blockquote><blockquote><em>How do I validate this data?</em></blockquote><blockquote><em>Why is this request so slow?</em></blockquote><blockquote><em>How should I structure this project?</em></blockquote><blockquote><em>How do I process 10,000 files without loading everything into memory?</em></blockquote><p>Those questions are much more valuable than memorizing another syntax rule.</p><h3>3. Small Projects Make Experimentation Cheap</h3><p>One of my favorite things about small projects is that failure doesn’t cost much.</p><p>Suppose I want to test a new Python library.</p><p>In a large application, introducing it can feel risky.</p><p>I have to consider dependencies.</p><p>Existing architecture.</p><p>Compatibility.</p><p>Tests.</p><p>Deployment.</p><p>Other parts of the application.</p><p>So I might never try it.</p><p>With a small project, I can simply create:</p><pre>experiment/<br>    main.py<br>    requirements.txt</pre><p>and start.</p><p>If the library is terrible?</p><p>Delete the folder.</p><p>If it’s useful?</p><p>Now I know something.</p><p>This is one reason I like small projects for learning new AI tools.</p><p>Instead of spending a month integrating a new model into an existing application, I can build a tiny prototype in a weekend.</p><p>For example:</p><pre>PDF<br> ↓<br>Extract text<br> ↓<br>LLM<br> ↓<br>Structured JSON</pre><p>That’s enough to answer the important question:</p><p><strong>Does this approach actually work?</strong></p><p>You don’t need a production architecture to answer that.</p><h3>4. You Learn to Work Without Tutorials</h3><p>This is where things get interesting.</p><p>When you’re following a tutorial, the path is already decided.</p><p>Install this.</p><p>Create this file.</p><p>Write this function.</p><p>Run this command.</p><p>Fix this error.</p><p>Repeat.</p><p>You learn how to follow instructions.</p><p>Small projects eventually remove that safety net.</p><p>You have an empty directory.</p><p>No tutorial.</p><p>No step-by-step instructions.</p><p>Just a problem.</p><p>That’s uncomfortable.</p><p>It’s also where real programming begins.</p><p>I remember building small automation scripts where I knew roughly what I wanted but had no idea how to structure the code.</p><p>I searched documentation.</p><p>Read GitHub issues.</p><p>Tested small pieces.</p><p>Asked AI for explanations.</p><p>Deleted code.</p><p>Started again.</p><p>That process taught me much more than copying a finished implementation.</p><p>The goal isn’t to avoid tutorials.</p><p>They’re useful.</p><p>The goal is to eventually become comfortable when there isn’t one.</p><h3>5. Ten Projects Give You Ten Chances to Practice Architecture</h3><p>Architecture is difficult to learn from theory alone.</p><p>You understand it differently after making the same mistake several times.</p><p>My early projects had functions that did everything.</p><p>Something like:</p><pre>def process_everything():<br>    # read files<br>    # call API<br>    # clean data<br>    # save database<br>    # send email<br>    # print report</pre><p>It worked.</p><p>Until I needed to change one part.</p><p>Then I realized that everything depended on everything else.</p><p>After building several projects, I naturally started separating responsibilities.</p><pre>Input<br> ↓<br>Processing<br> ↓<br>Business logic<br> ↓<br>Storage<br> ↓<br>Output</pre><p>Then I started recognizing reusable patterns.</p><p>Configuration should be separate.</p><p>External API calls should be isolated.</p><p>Validation should happen near the boundary.</p><p>Business logic shouldn’t care about how data was retrieved.</p><p>You don’t necessarily learn those lessons by reading about architecture.</p><p>You learn them by breaking your own code.</p><p>Repeatedly.</p><h3>6. Small Projects Give You a Portfolio With Evidence</h3><p>There’s another benefit that doesn’t get discussed enough.</p><p>Ten small projects can tell a better story than one unfinished project.</p><p>Imagine two GitHub profiles.</p><h3>Developer A</h3><p>One enormous project:</p><blockquote><em>“AI-powered productivity platform”</em></blockquote><p>Repository contains 47 directories.</p><p>README says:</p><blockquote><em>“Coming soon.”</em></blockquote><h3>Developer B</h3><p>Ten small projects:</p><ul><li>PDF invoice extractor</li><li>YouTube transcript summarizer</li><li>CSV cleaning tool</li><li>FastAPI service</li><li>Web scraper</li><li>AI document classifier</li><li>File organizer</li><li>CLI productivity tool</li><li>Automated report generator</li><li>Database-backed application</li></ul><p>The second developer has demonstrated something important.</p><p><strong>They finish things.</strong></p><p>Even if none of the projects is revolutionary.</p><p>A portfolio doesn’t only demonstrate what you know.</p><p>It demonstrates what you can build.</p><h3>7. You Start Connecting Projects</h3><p>This is the part I didn’t expect.</p><p>Small projects don’t necessarily stay small.</p><p>Sometimes one becomes a component of another.</p><p>Imagine you build:</p><p><strong>Project 1:</strong> PDF text extraction.</p><p>Then:</p><p><strong>Project 2:</strong> AI classification.</p><p>Then:</p><p><strong>Project 3:</strong> Structured data validation.</p><p>Then</p><p><strong>Project 4:</strong> Database storage.</p><p>Eventually, you realize:</p><pre>PDF<br> ↓<br>Extraction<br> ↓<br>AI classification<br> ↓<br>Validation<br> ↓<br>Database</pre><p>You have accidentally built the foundation of a document-processing application.</p><p>That’s much easier than starting with:</p><blockquote><em>“I’m going to build a complete AI document platform.”</em></blockquote><p>The first approach lets complexity emerge naturally.</p><p>The second forces you to design everything before you understand the problem.</p><p>That’s an important distinction.</p><h3>8. You Discover What You Actually Enjoy</h3><p>This is another reason I recommend small projects to people who aren’t sure what area of programming they want to pursue.</p><p>You might think you want to become a frontend developer.</p><p>Then you build three frontend projects and realize you hate CSS.</p><p>That’s useful information.</p><p>Maybe you love databases.</p><p>Maybe APIs are your thing.</p><p>Maybe you enjoy automation.</p><p>Maybe you become obsessed with machine learning.</p><p>You don’t need to decide your entire career before experimenting.</p><p>Build.</p><p>Notice what keeps your attention.</p><p>Build something else.</p><p>Compare.</p><p>Your interests become much clearer when you’re actually doing the work.</p><h3>9. Small Projects Make AI More Useful</h3><p>AI coding assistants have changed the economics of experimentation.</p><p>A few years ago, trying a completely unfamiliar library could mean spending hours reading documentation before writing your first useful line.</p><p>Now I can ask an AI assistant questions like:</p><blockquote><em>“Show me the smallest example that uses this library to extract text from a PDF.”</em></blockquote><p>Then I can test it.</p><p>If it works, I build on it.</p><p>If it doesn’t, I investigate why.</p><p>This doesn’t mean AI should build the entire project for you.</p><p>Quite the opposite.</p><p>Small projects give you a perfect environment for using AI as a learning accelerator.</p><p>Instead of asking:</p><blockquote><em>“Build this entire application.”</em></blockquote><p>ask:</p><blockquote><em>“Why does this API return this error?”</em></blockquote><blockquote><em>“Explain what this function is doing.”</em></blockquote><blockquote><em>“Give me two ways to structure this component.”</em></blockquote><blockquote><em>“What would break if I processed 100,000 files?”</em></blockquote><p>That’s where AI becomes extremely useful.</p><h3>10. You Build Momentum</h3><p>This might be the least technical reason.</p><p>But it matters.</p><p>Finishing something feels good.</p><p>You run the script.</p><p>It works.</p><p>You push it to GitHub.</p><p>Done.</p><p>Then you start another one.</p><p>That creates momentum.</p><p>Compare that with spending three months on a project where the finish line keeps moving.</p><p>Eventually, programming starts feeling like an endless task.</p><p>Small projects create visible progress.</p><pre>Project 1 ✓<br>Project 2 ✓<br>Project 3 ✓<br>Project 4 ✓<br>Project 5 ✓</pre><p>After ten projects, you have evidence that you can build things.</p><p>More importantly, you have evidence that you can <strong>finish</strong> things.</p><p>That confidence carries into larger projects.</p><h3>But Don’t Make Your Projects Too Small</h3><p>There’s a catch.</p><p>If your project takes 15 minutes, you’re probably not learning enough.</p><p>The goal isn’t to build ten useless scripts.</p><p>The goal is to build <strong>small but complete</strong> projects.</p><p>A good project might take a weekend.</p><p>For example:</p><h3>Too small</h3><blockquote><em>Write a Python function that reverses a string.</em></blockquote><p>You already know the answer.</p><h3>Better</h3><blockquote><em>Build a CLI tool that searches a folder and finds duplicate files.</em></blockquote><p>Now you have to think about:</p><ul><li>File handling</li><li>Hashing</li><li>CLI arguments</li><li>Error handling</li><li>Performance</li><li>User output</li></ul><h3>Even better</h3><blockquote><em>Build a tool that identifies duplicate files, lets the user review them, and safely moves duplicates into an archive.</em></blockquote><p>Now you have a real engineering problem.</p><p>That’s the sweet spot.</p><p>Small enough to finish.</p><p>Large enough to struggle with.</p><h3>The 10-Project Challenge I’d Actually Recommend</h3><p>If you’re learning Python, don’t build ten random projects.</p><p>Build ten projects that progressively expose you to different problems.</p><p>For example:</p><h3>Project 1 — File Organizer</h3><p>Learn:</p><ul><li>pathlib</li><li>File operations</li><li>Exceptions</li></ul><h3>Project 2 — CSV Cleaner</h3><p>Learn:</p><ul><li>pandas</li><li>Data validation</li><li>Data transformation</li></ul><h3>Project 3 — API Client</h3><p>Learn:</p><ul><li>HTTP</li><li>JSON</li><li>Error handling</li></ul><h3>Project 4 — Web Scraper</h3><p>Learn:</p><ul><li>HTTP requests</li><li>HTML parsing</li><li>Data extraction</li></ul><h3>Project 5 — PDF Extractor</h3><p>Learn:</p><ul><li>PyMuPDF</li><li>Document processing</li></ul><h3>Project 6 — AI Summarizer</h3><p>Learn:</p><ul><li>LLM APIs</li><li>Prompt design</li><li>Structured outputs</li></ul><h3>Project 7 — FastAPI Service</h3><p>Learn:</p><ul><li>REST APIs</li><li>Request validation</li><li>Application structure</li></ul><h3>Project 8 — Database Application</h3><p>Learn:</p><ul><li>SQL</li><li>SQLAlchemy</li><li>Persistence</li></ul><h3>Project 9 — Automated Report Generator</h3><p>Combine:</p><ul><li>Data processing</li><li>APIs</li><li>PDFs</li><li>Templates</li></ul><h3>Project 10: Your Own Real Problem</h3><p>This is the most important one.</p><p>Don’t copy something from a tutorial.</p><p>Find something you personally repeat.</p><p>Then automate it.</p><p>That’s where all the previous projects start connecting.</p><h3>What Happened When I Started Doing This</h3><p>The biggest change wasn’t that I suddenly knew ten times more Python.</p><p>It was that I became much faster at entering unfamiliar territory.</p><p>When I see a new library now, I don’t immediately try to learn everything it can do.</p><p>I ask:</p><p><strong>What can I build with this in a weekend?</strong></p><p>That question is surprisingly powerful.</p><p>It forces me to move from documentation to implementation.</p><p>And implementation reveals things documentation doesn’t.</p><p>You discover awkward APIs.</p><p>Unexpected edge cases.</p><p>Performance problems.</p><p>Missing features.</p><p>Better alternatives.</p><p>Those discoveries are where experience comes from.</p><h3>Final Thoughts</h3><p>I no longer believe that your biggest project is necessarily your best learning project.</p><p>A giant application can teach you a lot.</p><p>But ten small projects expose you to ten different sets of problems.</p><p>You learn to start.</p><p>You learn to debug.</p><p>You learn to read documentation.</p><p>You learn to work without tutorials.</p><p>You learn to make architectural decisions.</p><p>You learn to finish.</p><p>And eventually, something interesting happens.</p><p>The small projects stop being isolated experiments.</p><p>They become building blocks.</p><p>One teaches you APIs.</p><p>Another teaches you databases.</p><p>Another teaches you AI.</p><p>Another teaches you automation.</p><p>Then you combine them.</p><p>And suddenly, you’re ready to build the big project you originally wanted to build.</p><p><strong>So if you’ve been stuck on one ambitious project for months, try something different.</strong></p><p>Close it for a weekend.</p><p>Build something small.</p><p>Finish it.</p><p>Then build another.</p><p>You might be surprised by how quickly ten small wins turn into one very capable developer.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f98d1958fe10" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/why-building-10-small-projects-beats-building-one-big-project-f98d1958fe10">Why Building 10 Small Projects Beats Building One Big Project</a> was originally published in <a href="https://levelup.gitconnected.com/">Level Up Coding</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[5 Things I Built with Python That Turned Into Income Streams]]></title>
            <link>https://python.plainenglish.io/5-things-i-built-with-python-that-turned-into-income-streams-13484271ad50?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/13484271ad50</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Sat, 22 Aug 2026 05:44:51 GMT</pubDate>
            <atom:updated>2026-08-22T05:44:51.714Z</atom:updated>
            <content:encoded><![CDATA[<p>I didn’t start learning Python thinking it would make me money</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WqnUs8MdwcoTSiwv" /><figcaption>Photo by <a href="https://unsplash.com/@afgprogrammer?utm_source=medium&amp;utm_medium=referral">Mohammad Rahmani</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I started because I was curious. Then I stayed because I realized something uncomfortable: most people don’t fail at Python. After all, it’s hard; they fail. After all, they build things that don’t solve anything real.</p><p>At some point, I stopped asking <em>“What can I build with Python?”</em> and started asking:</p><p><strong>“What problem would someone actually pay me to solve?”</strong></p><p>That shift changed everything.</p><p>In this article, I’m breaking down 5 Python projects I built that didn’t just sit in my GitHub they turned into actual income streams. Some became freelancing gigs. Some turned into automation tools I still use. One of them almost replaced a full-time workflow for a client.</p><p>No theory. Just systems, scripts, and outcomes.</p><h3>1) AI Proposal Generator for Freelancers (That Writes Itself Better Than Most Humans)</h3><p>The first thing I noticed while freelancing was simple: people don’t struggle with skill they struggle with writing proposals that sound <em>convincing</em>.</p><p>So I built a tool that takes:</p><ul><li>Job description</li><li>Client name</li><li>Past experience (markdown-based)</li></ul><p>And outputs a tailored proposal in seconds.</p><p>The idea wasn’t “AI writing.” The idea was <strong>reducing friction between opportunity and application</strong>.</p><p>Here’s the core logic:</p><pre>prompt = f&quot;&quot;&quot;<br>You are an expert freelance proposal writer. Rewrite the proposal to match the job description.<br>Focus on clarity, persuasion, and relevance.<br>Resume:<br>{resume_md}<br>Job:<br>{job_description}<br>Return a structured proposal.<br>&quot;&quot;&quot;</pre><p>Then I plugged it into OpenAI’s API and wrapped it with a simple CLI.</p><p>What happened next surprised me:</p><ul><li>I used it for my own freelancing</li><li>Then I sold it as a mini tool</li><li>Then, clients started requesting custom versions</li></ul><p>One client literally said:</p><blockquote><em>“This sounds like me, but the confident version of me.”</em></blockquote><p>That’s when I knew: automation doesn’t replace humans. It amplifies their best version.</p><h3>2) YouTube Lecture Summarizer That Became an Affiliate Funnel</h3><p>This started as a personal frustration.</p><p>I had 100+ YouTube videos saved and zero time to watch them.</p><p>So I built a Python script that:</p><ul><li>Extracts YouTube transcripts</li><li>Summarizes them using GPT</li><li>Saves key insights into markdown notes</li></ul><pre>from youtube_transcript_api import YouTubeTranscriptApi<br>video_id = &quot;abc123xyz&quot;<br>transcript = YouTubeTranscriptApi.get_transcript(video_id)<br>text = &quot; &quot;.join([t[&quot;text&quot;] for t in transcript])</pre><p>Then I added summarization:</p><pre>summary_prompt = f&quot;Summarize this in bullet points:\n{text}&quot;</pre><p>But here’s where it became interesting.</p><p>I started publishing summaries on a blog.</p><p>Then I added:</p><ul><li>Tool recommendations</li><li>Course links</li><li>Developer resources</li></ul><p>And suddenly:</p><ul><li>Traffic turned into clicks</li><li>Clicks turned into affiliate income</li></ul><p>The tool didn’t just save time.</p><p>It accidentally became a content engine.</p><h3>3) Resume Optimization Tool (Freelance Service in Disguise)</h3><p>This one started as a joke.</p><p>I thought: <em>What if resumes could adapt like algorithms?</em></p><p>So I built a system that rewrites resumes based on job descriptions.</p><p>It works in three steps:</p><p>Convert resume into markdown</p><p>Feed job description</p><p>Regenerate optimized resume</p><pre>response = openai.chat.completions.create(<br>    model=&quot;gpt-4o-mini&quot;,<br>    messages=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: prompt}]<br>)</pre><p>The interesting part wasn’t the code.</p><p>It was the outcome.</p><p>People don’t want “better resumes.” They want <strong>better chances of getting hired</strong>.</p><p>I offered this as a microservice on freelancing platforms.</p><p>Within weeks:</p><ul><li>Recruiters started asking for bulk processing</li><li>Job seekers wanted personalized versions</li><li>I turned it into a paid automation service</li></ul><p>This is where I learned something important:</p><blockquote><em>“People don’t buy tools. They buy outcomes wrapped in tools.”</em></blockquote><h3>4) PDF Intelligence System for Small Businesses</h3><p>This is the most underrated income stream I built.</p><p>Companies are sitting on thousands of PDFs:</p><ul><li>Reports</li><li>Contracts</li><li>Research documents</li></ul><p>And no one actually reads them.</p><p>So I built a system that:</p><ul><li>Extracts text from PDFs</li><li>Embeds them using sentence-transformers</li><li>Allows semantic search</li></ul><pre>from sentence_transformers import SentenceTransformer<br>model = SentenceTransformer(&quot;all-MiniLM-L6-v2&quot;)<br>embeddings = model.encode([&quot;document text here&quot;])</pre><p>Then I added clustering and search.</p><p>What changed everything was packaging it as:</p><p><strong>“Ask your documents anything.”</strong></p><p>Small firms started using it to:</p><ul><li>Find clauses in contracts</li><li>Summarize reports</li><li>Search internal knowledge</li></ul><p>It turned into a consulting gig.</p><p>Not because the tech was complex.</p><p>But because <strong>information chaos is expensive for businesses</strong>.</p><h3>5) Price Tracker Bot That Prints Money Quietly</h3><p>This one started as pure curiosity.</p><p>I wanted to track product prices automatically.</p><p>So I built a scraper + alert system:</p><pre>import requests<br>from bs4 import BeautifulSoup<br>page = requests.get(url)<br>soup = BeautifulSoup(page.text, &quot;html.parser&quot;)<br>price = soup.find(&quot;span&quot;, class_=&quot;price&quot;).text</pre><p>Then I added:</p><ul><li>Scheduled checks</li><li>Email alerts</li><li>Price drop detection</li></ul><p>But here’s where it became interesting.</p><p>I extended it into:</p><ul><li>Amazon tracking</li><li>Course discount alerts</li><li>SaaS pricing monitoring</li></ul><p>Then I realized something:</p><p>People don’t want data.</p><p>They want <strong>timing advantage</strong>.</p><p>I monetized it by:</p><ul><li>Offering it as a paid alert system</li><li>Adding premium tracking features</li><li>Bundling niche trackers for marketers</li></ul><p>It became a micro-SaaS without me realizing it.</p><h3>The Real Pattern Behind All 5 Projects</h3><p>If you look closely, none of these ideas are “AI projects.”</p><p>They are <strong>automation systems wrapped in real-world painkillers</strong>.</p><p>That’s the difference.</p><p>I didn’t succeed because I wrote better Python.</p><p>I succeeded because I stopped building things that were “interesting” and started building things that were <strong>useful under pressure</strong>.</p><h3>Final Thought</h3><p>If there’s one thing I’ve learned after building and monetizing Python systems, it’s this:</p><blockquote><em>“The fastest way to make money with code is to remove work someone already hates doing.”</em></blockquote><p>Python is just the interface.</p><p>The real product is relief.</p><p>If you’re building right now, don’t ask what’s possible.</p><p>Ask what’s repetitive, boring, and already costing someone time or money.</p><p>Then automate that.</p><p>That’s where income starts.</p><p>— <strong>Arslan</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=13484271ad50" width="1" height="1" alt=""><hr><p><a href="https://python.plainenglish.io/5-things-i-built-with-python-that-turned-into-income-streams-13484271ad50">5 Things I Built with Python That Turned Into Income Streams</a> was originally published in <a href="https://python.plainenglish.io/">Python in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why Small Coding Projects Often Beat Big Ones]]></title>
            <link>https://levelup.gitconnected.com/why-small-coding-projects-often-beat-big-ones-ffd388dda227?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/ffd388dda227</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python-programming]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Sat, 23 May 2026 11:11:27 GMT</pubDate>
            <atom:updated>2026-05-23T11:11:27.349Z</atom:updated>
            <content:encoded><![CDATA[<h4>Small projects sharpen real-world Python skills faster than ambitious unfinished apps.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Z1av7ZmHC_PmMxaH" /><figcaption>Photo by <a href="https://unsplash.com/@safarslife?utm_source=medium&amp;utm_medium=referral">Safar Safarov</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I used to think serious programmers only built serious projects.</p><p>You know the type of project I mean.</p><p>A fully autonomous AI SaaS platform.<br>A custom-trained LLM.<br>A productivity app with real-time collaboration, payment integration, analytics, and a dashboard so complicated it looked like a spaceship control panel.</p><p>So naturally, four years ago, I tried building one.</p><p>It failed in eleven days.</p><p>Not because I couldn’t code it. That’s the dangerous part. Most developers overestimate technical difficulty and underestimate psychological difficulty. Writing code is one thing. Continuing to write code after the excitement disappears is another.</p><p>That project taught me something I wish more Python developers understood earlier:</p><p>Small projects are not “beginner projects.”<br>They are often the fastest path to becoming dangerously good.</p><p>And ironically, most experienced developers ignore them.</p><h3>The Trap of the “Big Project Mentality”</h3><p>A lot of programmers secretly believe complexity equals intelligence.</p><p>So instead of building something useful in a weekend, they spend six months architecting a system nobody asked for.</p><p>I’ve done this myself.</p><p>At one point, I started building an AI automation platform that would summarize documents, generate reports, classify emails, automate spreadsheets, and schedule tasks.</p><p>Sounds impressive.</p><p>But after three weeks, I was still configuring folder structures and rewriting APIs I didn’t even need yet.</p><p>Meanwhile, one of my smallest projects quietly became one of the most useful things I’ve ever built.</p><p>It was a 70-line Python script.</p><p>That script automatically renamed messy downloaded files using AI-generated summaries.</p><p>That’s it.</p><p>No frontend.<br>No fancy database.<br>No “launch announcement” on LinkedIn.</p><p>But I used it every single day.</p><p>And that changed how I think about coding projects forever.</p><h3>Small Projects Solve Real Problems Faster</h3><p>Most developers start with technology.</p><p>“What can I build with AI?”<br>“What can I build with FastAPI?”<br>“What can I build with LangChain?”</p><p>But strong developers start somewhere else:</p><p>“What problem annoys me repeatedly?”</p><p>That one question changes everything.</p><p>Because once a project solves a real annoyance, motivation becomes automatic.</p><p>You stop coding for discipline.<br>You code because the problem is irritating enough to fix.</p><p>One of my favorite automation scripts started from pure laziness.</p><p>I was tired of manually organizing screenshots from research sessions. So I built a tiny Python workflow that:</p><ul><li>Watches a folder</li><li>Reads image text with OCR</li><li>Categorizes screenshots</li><li>Moves them into topic-based folders automatically</li></ul><p>The first version was ugly.</p><p>But ugly working software beats beautiful unfinished software every time.</p><p>Here’s a simplified version of the folder watcher:</p><pre>from watchdog.observers import Observer<br>from watchdog.events import FileSystemEventHandler<br>import time<br>class Watcher(FileSystemEventHandler):<br>    def on_created(self, event):<br>        print(f&quot;New file detected: {event.src_path}&quot;)<br>observer = Observer()<br>observer.schedule(Watcher(), path=&quot;./screenshots&quot;)<br>observer.start()<br>while True:<br>    time.sleep(1)</pre><p>Simple project.<br>Massive daily impact.</p><p>That’s the kind of automation most developers underestimate.</p><blockquote>“Take a quick pause and check out this ebook a friend of mine made. If you’ve been wanting to learn machine learning without feeling overwhelmed, this might be exactly what you need.”</blockquote><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><h3>Big Projects Hide Weaknesses</h3><p>This is something nobody talks about enough.</p><p>Large projects make it easy to <em>feel productive</em> without actually improving.</p><p>You spend hours:</p><ul><li>configuring environments</li><li>organizing folders</li><li>tweaking UI details</li><li>renaming variables</li><li>watching tutorials</li></ul><p>Meanwhile, your actual problem-solving skills barely move.</p><p>Small projects expose weaknesses immediately.</p><p>Can you:</p><ul><li>design a clean workflow?</li><li>automate repetitive tasks?</li><li>handle edge cases?</li><li>make tools reliable?</li><li>finish what you started?</li></ul><p>That last one matters more than most people realize.</p><p>Because unfinished projects teach bad habits.</p><p>Finished projects teach engineering.</p><h3>The Best Python Developers I Know Build Tiny Tools Constantly</h3><p>This surprised me when I started working with more experienced developers.</p><p>The strongest Python programmers rarely obsess over giant applications.</p><p>Instead, they build tiny internal tools constantly.</p><p>Things like:</p><ul><li>log analyzers</li><li>scraping scripts</li><li>automation workflows</li><li>local AI assistants</li><li>report generators</li><li>data cleanup tools</li><li>file converters</li><li>browser automation bots</li></ul><p>These projects sound boring until you realize something important:</p><p>Boring projects often make the most money.</p><p>Companies don’t always need revolutionary AI systems.</p><p>Sometimes they just need a script that saves employees two hours every day.</p><p>And Python is ridiculously good at this.</p><p>A few months ago, I built a lightweight automation tool that summarized unread PDFs inside a folder every morning using an LLM API.</p><p>The funny part?</p><p>The hardest part wasn’t the AI.</p><p>It was handling broken filenames.</p><p>That’s real software engineering.</p><h3>Small Projects Create Faster Feedback Loops</h3><p>One reason beginners quit programming is because their projects take too long to feel rewarding.</p><p>Humans need visible progress.</p><p>Small projects compress the learning cycle:</p><ul><li>idea</li><li>build</li><li>break</li><li>debug</li><li>improve</li><li>ship</li></ul><p>You repeat this loop faster, and your skills compound aggressively.</p><p>I sometimes force myself to build projects with a strict 48-hour limit.</p><p>That time pressure changes your decisions instantly.</p><p>You stop overengineering.</p><p>You stop chasing perfection.</p><p>You stop adding features nobody needs.</p><p>You focus on shipping.</p><p>And honestly, that mindset alone will put you ahead of most developers.</p><blockquote><em>“A good plan violently executed now is better than a perfect plan executed next week.”</em></blockquote><p>That quote applies to software more than people realize.</p><h3>Automation Is Where Small Projects Become Powerful</h3><p>This is especially true with AI tools.</p><p>Right now, we’re living in a strange era where one Python developer can automate tasks that previously required entire teams.</p><p>But most people waste that power building demos instead of solving friction.</p><p>The best automation ideas usually sound almost too simple.</p><p>For example:</p><ul><li>automatically summarizing meeting notes</li><li>cleaning CSV files</li><li>generating reports</li><li>organizing research papers</li><li>filtering emails</li><li>renaming files intelligently</li><li>monitoring websites</li><li>generating documentation</li></ul><p>Individually, these sound tiny.</p><p>Collectively, they become insanely valuable.</p><p>One small script I built checks my project folders every evening and generates a Markdown summary of unfinished work.</p><p>It takes less than 10 seconds to run.</p><p>But psychologically, it feels like having a second brain.</p><p>Here’s a minimal example:</p><pre>import os<br>for file in os.listdir(&quot;./projects&quot;):<br>    print(f&quot;Pending review: {file}&quot;)</pre><p>Tiny code.<br>Real utility.</p><p>That combination is underrated.</p><h3>The Hidden Advantage Nobody Mentions</h3><p>Small projects make you fearless.</p><p>When a project only takes a weekend, experimentation becomes cheap.</p><p>You try weird ideas.<br>You test APIs faster.<br>You learn libraries naturally.<br>You stop being scared of failure.</p><p>That freedom is where real growth happens.</p><p>Ironically, some of my best programming lessons came from projects that completely failed.</p><p>One weekend, I tried building an AI system that categorized research papers automatically.</p><p>The clustering was terrible.</p><p>The embeddings were noisy.</p><p>The outputs barely made sense.</p><p>But during that project, I learned more about vector search, preprocessing, and data pipelines than I did from weeks of tutorials.</p><p>That’s the magic of small projects.</p><p>Even failed ones pay you back in skill.</p><h3>What I’d Recommend to Every Python Developer</h3><p>If you’ve been stuck planning a huge project for months, try this instead:</p><p>Build something painfully practical.</p><p>Something slightly annoying.<br>Something repetitive.<br>Something you personally want automated.</p><p>Then finish it fast.</p><p>Not in six months.<br>Not “when everything is perfect.”<br>Not after rewriting the architecture four times.</p><p>This weekend.</p><p>Because the developers improving the fastest right now are not necessarily the smartest ones.</p><p>They’re the ones building constantly.</p><p>Small project after small project.<br>Tiny automation after tiny automation.<br>Problem after problem.</p><p>And eventually, those “small” projects stack into something very big:<br>real expertise.</p><p>That’s when Python stops feeling like a programming language.</p><p>And starts feeling like a superpower.</p><blockquote>Check out the products my friend created, not just for programmers, but for anyone trying to break into tech and learn useful skills along the way.</blockquote><ul><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ffd388dda227" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/why-small-coding-projects-often-beat-big-ones-ffd388dda227">Why Small Coding Projects Often Beat Big Ones</a> was originally published in <a href="https://levelup.gitconnected.com/">Level Up Coding</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Real Reason Your Coding Skills Feel Stuck]]></title>
            <link>https://blog.stackademic.com/the-real-reason-your-coding-skills-feel-stuck-0ae735ff20bb?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/0ae735ff20bb</guid>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Sat, 23 May 2026 11:02:27 GMT</pubDate>
            <atom:updated>2026-05-25T08:56:15.719Z</atom:updated>
            <content:encoded><![CDATA[<h4>From Tutorial Zombie to Real Builder</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cYUwINN25OY91Ol4" /><figcaption>Photo by <a href="https://unsplash.com/@clark_fransa?utm_source=medium&amp;utm_medium=referral">Arnold Francisca</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>A few months ago, I opened one of my old Python projects and immediately realized something uncomfortable.</p><p>The code worked.</p><p>But I had no idea why I wrote half of it that way.</p><p>That moment bothered me more than any bug I had fixed that week.</p><p>Because for years, I thought improving as a programmer meant learning more syntax, watching more tutorials, and collecting more frameworks like Pokémon cards. Every few weeks, I’d jump into another “Complete Course” convinced this one would finally make me feel like an advanced developer.</p><p>It never did.</p><p>And if your coding skills feel stuck right now, there’s a good chance you’re trapped in the same cycle.</p><p>Not because you’re lazy.</p><p>Not because you’re bad at programming.</p><p>But because you’re learning programming the wrong way.</p><p>The strange part is that most developers don’t realize this until years later.</p><h3>The Tutorial Trap Feels Productive</h3><p>One of the most dangerous things in programming is fake progress.</p><p>You finish a 4-hour tutorial.</p><p>You clone a GitHub repository.</p><p>You build another to-do app.</p><p>Your brain rewards you like you accomplished something massive.</p><p>But then someone asks you to automate a real workflow from scratch and suddenly your mind goes blank.</p><p>I learned this the hard way during my second year working heavily with Python automation.</p><p>I could build APIs.</p><p>I understood decorators.</p><p>I knew asynchronous programming.</p><p>But when I tried automating a boring real-world task for myself, I froze for nearly an hour staring at an empty VS Code window.</p><p>That’s when I realized something important:</p><blockquote><em>Knowing Python is not the same thing as solving problems with Python.</em></blockquote><p>Those are two completely different skills.</p><p>And most developers accidentally spend years optimizing only the first one.</p><blockquote>“Take a quick pause and check out this ebook a friend of mine made. If you’ve been wanting to learn machine learning without feeling overwhelmed, this might be exactly what you need.”</blockquote><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><h3>Real Growth Happens When You Remove Friction</h3><p>The biggest leap in my coding ability happened when I stopped asking:</p><p>“How do I learn this technology?”</p><p>And started asking:</p><p>“What problem annoys me enough to automate?”</p><p>That single shift changed everything.</p><p>Instead of building random portfolio projects, I started building tiny systems that removed friction from my daily life.</p><p>One of the first examples was embarrassingly simple.</p><p>I was tired of manually renaming hundreds of downloaded research PDFs.</p><p>So I wrote a small Python script that automatically cleaned filenames, extracted keywords, and organized documents into folders.</p><p>The script itself wasn’t revolutionary.</p><p>But the thinking process behind it was.</p><p>For the first time, I wasn’t copying a tutorial.</p><p>I was designing logic.</p><p>That’s where real programming skill develops.</p><p>Not in passive learning.</p><p>Not in endless note-taking.</p><p>But in the uncomfortable space where you’re forced to make decisions yourself.</p><h3>Most Developers Avoid the Hard Part</h3><p>Here’s something nobody tells beginners:</p><p>The hardest part of coding is not writing code.</p><p>It’s thinking clearly.</p><p>Experienced developers aren’t faster because they memorize more functions.</p><p>They’re faster because they’ve trained themselves to break messy problems into smaller systems.</p><p>That’s why senior engineers can often solve problems with surprisingly little code.</p><p>They think before they type.</p><p>Beginners usually do the opposite.</p><p>I used to open my editor instantly and start coding random pieces hoping clarity would appear halfway through.</p><p>It rarely did.</p><p>Now my workflow looks completely different.</p><p>I spend more time designing workflows than writing actual Python.</p><p>Especially for automation projects.</p><p>For example, before building an AI-powered document summarizer, I mapped the entire pipeline first:</p><ul><li>Where does the data come from?</li><li>What format is the input?</li><li>Where can failures happen?</li><li>Which part should AI handle?</li><li>Which part should stay deterministic?</li></ul><p>Only after answering those questions did I write code.</p><p>Ironically, this made development dramatically faster.</p><h3>Automation Teaches You What Tutorials Can’t</h3><p>Automation projects expose weaknesses brutally fast.</p><p>That’s why they’re so effective.</p><p>A weather app tutorial won’t teach you much about software thinking.</p><p>But automating something messy from your real life absolutely will.</p><p>Because real workflows are chaotic.</p><p>Files break.</p><p>APIs fail.</p><p>Data arrives incomplete.</p><p>Users do irrational things.</p><p>And suddenly your elegant little script turns into a battlefield.</p><p>That pressure forces growth.</p><p>A few years ago, I built a Python automation that generated summaries from long technical YouTube lectures so I could review them faster.</p><p>At first, the script worked perfectly.</p><p>Until it didn’t.</p><p>Some transcripts were malformed.</p><p>Others had weird timestamps.</p><p>One video returned empty text entirely.</p><p>The tutorial version of me would’ve quit there.</p><p>But solving those edge cases taught me more than 20 courses combined.</p><p>That’s the hidden value of automation projects:</p><p>They force you to think like an engineer instead of a student.</p><h3>The Internet Lies About “Advanced” Coding</h3><p>This might sound controversial, but most developers massively overestimate what advanced programming looks like.</p><p>They think advanced developers constantly write complex algorithms and impossible architectures.</p><p>In reality?</p><p>A huge amount of professional programming is just:</p><ul><li>moving data,</li><li>cleaning data,</li><li>automating repetitive tasks,</li><li>connecting systems together,</li><li>and reducing human effort.</li></ul><p>That’s why Python became so dominant in automation and AI workflows.</p><p>Its real superpower is leverage.</p><p>A small amount of Python code can eliminate hours of manual work.</p><p>For example, this tiny script saved me ridiculous amounts of time while organizing datasets:</p><pre>from pathlib import Path<br>for file in Path(&quot;downloads&quot;).glob(&quot;*.csv&quot;):<br>    new_name = file.stem.lower().replace(&quot; &quot;, &quot;_&quot;)<br>    file.rename(file.with_name(f&quot;{new_name}.csv&quot;))</pre><p>Simple?</p><p>Very.</p><p>Useful?</p><p>Extremely.</p><p>That’s another thing beginners misunderstand:</p><p>Useful code beats clever code almost every time.</p><h3>Your Brain Needs Struggle to Improve</h3><p>One reason coding skills plateau is because developers avoid cognitive resistance.</p><p>They consume content instead of producing solutions.</p><p>Watching tutorials feels smooth.</p><p>Building alone feels frustrating.</p><p>But frustration is where skill formation actually happens.</p><p>I once spent an entire weekend debugging a multiprocessing issue in Python that turned out to be a tiny serialization mistake.</p><p>At the time, it felt painful.</p><p>Now I’m grateful for it.</p><p>Because difficult debugging sessions permanently improve how you think.</p><p>You start recognizing patterns faster.</p><p>You stop panicking when systems fail.</p><p>You learn how software behaves under stress.</p><p>That confidence cannot be downloaded from YouTube.</p><p>It has to be earned through repetition and failure.</p><p>As the old programming saying goes:</p><blockquote><em>“Smooth seas do not make skillful sailors.”</em></blockquote><p>The same applies to developers.</p><h3>AI Changed the Rules — But Not the Fundamentals</h3><p>Tools like OpenAI, Cursor, and GitHub Copilot dramatically accelerated development.</p><p>I use them constantly.</p><p>But they also exposed something interesting.</p><p>Developers who already understand systems became exponentially faster.</p><p>Developers who relied entirely on tutorials became dependent on AI-generated guesses.</p><p>Because AI can generate code.</p><p>But it cannot automatically give you engineering judgment.</p><p>You still need to:</p><ul><li>define the problem,</li><li>structure the workflow,</li><li>evaluate tradeoffs,</li><li>and debug intelligently.</li></ul><p>That’s why strong fundamentals matter more than ever now.</p><p>The future belongs to developers who can combine automation thinking with AI tools effectively.</p><p>Not developers who memorize syntax.</p><h3>The Real Reason You Feel Stuck</h3><p>Your coding skills probably aren’t stuck because you need another course.</p><p>They’re stuck because you’ve consumed more programming than you’ve created.</p><p>There’s a massive difference.</p><p>The developers improving the fastest right now are not necessarily the smartest people in the room.</p><p>They’re simply building more.</p><p>More experiments.</p><p>More automations.</p><p>More imperfect projects.</p><p>More systems that solve real annoyances.</p><p>That repetition compounds quietly.</p><p>Until one day you realize you’re no longer intimidated by blank screens.</p><p>You just start building.</p><p>And honestly, that’s when programming becomes fun again.</p><blockquote>Check out the products my friend created, not just for programmers, but for anyone trying to break into tech and learn useful skills along the way.</blockquote><ul><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li></ul><h3>A message from our Founder</h3><p>Hey, <a href="https://linkedin.com/in/sunilsandhu">Sunil</a> here. I wanted to take a moment to thank you for reading until the end and for being a part of this community. Did you know that our team run these publications as a volunteer effort to over 3.5m monthly readers? We don’t receive any funding, we do this to support the community.</p><p>If you want to show some love, please take a moment to follow me on <a href="https://linkedin.com/in/sunilsandhu">LinkedIn</a>, <a href="https://tiktok.com/@messyfounder">TikTok</a>, <a href="https://instagram.com/sunilsandhu">Instagram</a>. You can also subscribe to our <a href="https://newsletter.plainenglish.io/">weekly newsletter</a>. And before you go, don’t forget to clap and follow the writer️!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0ae735ff20bb" width="1" height="1" alt=""><hr><p><a href="https://blog.stackademic.com/the-real-reason-your-coding-skills-feel-stuck-0ae735ff20bb">The Real Reason Your Coding Skills Feel Stuck</a> was originally published in <a href="https://blog.stackademic.com/">Stackademic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I Learned Python Without Paying for a Course]]></title>
            <link>https://medium.com/top-python-libraries/how-i-learned-python-without-paying-for-a-course-8ec9c82d9c04?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/8ec9c82d9c04</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Thu, 21 May 2026 08:20:12 GMT</pubDate>
            <atom:updated>2026-05-27T01:10:02.347Z</atom:updated>
            <content:encoded><![CDATA[<h4>Here’s how I learned Python by building instead of endlessly watching tutorials.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*hUeL7zTvqjeVWWt-" /><figcaption>Photo by <a href="https://unsplash.com/@heyquilia?utm_source=medium&amp;utm_medium=referral">Quilia</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I still remember the exact moment I realized I was learning Python the wrong way.</p><p>I had 17 browser tabs open. One YouTube tutorial was teaching loops. Another was teaching APIs. A third guy was building a weather app while casually skipping over half the code like everyone watching already had 10 years of experience.</p><p>Meanwhile, I was sitting there wondering why my program kept returning None.</p><p>That’s the strange thing about learning Python today. There are <em>too many</em> resources. Courses promise to turn you into a developer in 30 days. Bootcamps sell the dream of six-figure salaries. Every second creator claims they have the “ultimate roadmap.”</p><p>But after four years of writing Python almost daily, I’ve realized something important:</p><p>The best way to learn Python is not by collecting tutorials.</p><p>It’s by building things that annoy you enough to solve.</p><p>That shift completely changed how I learned programming.</p><p>And ironically, it saved me thousands of rupees in courses I never needed.</p><h3>I Stopped Learning Python Like a Student</h3><p>Most beginners treat programming like school.</p><p>Watch lesson → take notes → copy code → forget everything two days later.</p><p>I did that too.</p><p>For months, I knew Python syntax but couldn’t actually <em>build</em> anything.</p><p>Ask me what a list comprehension was? Easy.</p><p>Ask me to automate a boring task on my laptop? Total silence.</p><p>The turning point came when I got tired of doing repetitive work manually.</p><p>One day, I had around 40 PDF files scattered across different folders. Renaming them one by one felt painful. So instead of searching for another tutorial, I searched for one thing:</p><p>“How to rename files using Python.”</p><p>That tiny project taught me more than three weeks of tutorials combined.</p><p>Here’s the funny part: the script itself was ridiculously simple.</p><pre>from pathlib import Path<br>folder = Path(&quot;documents&quot;)<br>for file in folder.iterdir():<br>    if file.is_file():<br>        new_name = f&quot;python_{file.name}&quot;<br>        file.rename(folder / new_name)</pre><p>That’s it.</p><p>No advanced AI.<br>No fancy frameworks.<br>No complicated architecture.</p><p>But for the first time, Python felt <em>useful</em> instead of theoretical.</p><p>And usefulness is addictive.</p><h3>I Learned Faster Once I Became Lazy</h3><p>There’s a hidden superpower behind most good Python developers:</p><p>They hate repetitive tasks.</p><p>Seriously.</p><p>A lot of my learning came from trying to avoid boring work.</p><p>I built scripts to:</p><ul><li>Organize messy folders</li><li>Convert CSV files automatically</li><li>Scrape information from websites</li><li>Rename hundreds of images</li><li>Generate article outlines</li><li>Clean datasets in seconds</li><li>Automate screenshots</li><li>Bulk-convert file formats</li></ul><p>At some point, Python stopped feeling like a programming language.</p><p>It started feeling like a personal assistant.</p><p>That’s when automation becomes dangerous in a good way. Once you automate one annoying task, your brain starts spotting automation opportunities everywhere.</p><blockquote>“Take a quick pause and check out this ebook a friend of mine made. If you’ve been wanting to learn machine learning without feeling overwhelmed, this might be exactly what you need.”</blockquote><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><p>You stop asking:</p><blockquote><em>“What project should I build?”</em></blockquote><p>And start asking:</p><blockquote><em>“What problem is wasting my time right now?”</em></blockquote><p>That question is where real developers are created.</p><h3>The Internet Already Has Everything You Need</h3><p>This might sound controversial, but most beginner Python courses are teaching information you can already learn for free in better ways.</p><p>Here’s what actually taught me Python:</p><ul><li>Documentation</li><li>Stack Overflow</li><li>GitHub repositories</li><li>YouTube debugging videos</li><li>Reddit discussions</li><li>Open-source projects</li><li>Building broken projects and fixing them</li></ul><p>Especially the last one.</p><p>Nothing teaches Python faster than debugging code that refuses to work.</p><p>I used to think experienced developers magically wrote perfect code.</p><p>Then I started reading GitHub issues.</p><p>Turns out even advanced programmers spend half their time staring at error messages like detectives solving crimes.</p><p>One of the biggest improvements in my learning came when I stopped fearing errors.</p><p>Now, when I see something terrifying like:</p><pre>KeyError: &#39;username&#39;</pre><p>I don’t panic anymore.</p><p>I investigate.</p><p>That mindset shift matters more than any certification.</p><h3>ChatGPT Changed How I Learn Python</h3><p>A few years ago, getting stuck could ruin an entire day.</p><p>Now?</p><p>AI tools compress hours of frustration into minutes.</p><p>And no, I’m not talking about blindly copy-pasting code.</p><p>That’s the fastest way to become dependent without understanding anything.</p><p>What actually helped me was using AI like a senior developer sitting beside me.</p><p>Instead of asking:</p><blockquote><em>“Write this project for me.”</em></blockquote><p>I started asking:</p><ul><li>“Why does this function fail?”</li><li>“Explain this error simply.”</li><li>“What’s a cleaner way to structure this?”</li><li>“Why is my loop inefficient?”</li><li>“How would an experienced Python developer solve this?”</li></ul><p>That difference is massive.</p><p>Because Python is not just about writing code.</p><p>It’s about learning how programmers think.</p><h3>The Biggest Mistake Beginners Make</h3><p>Most people start with giant projects too early.</p><p>They want to build:</p><ul><li>An AI assistant</li><li>A trading bot</li><li>A full SaaS product</li><li>A clone of ChatGPT</li></ul><p>…before they understand file handling.</p><p>I made that mistake too.</p><p>The problem with oversized projects is they create fake progress. You spend more time watching tutorials than building confidence.</p><p>Small projects win because they create momentum.</p><p>One weekend project can teach:</p><ul><li>loops</li><li>functions</li><li>APIs</li><li>debugging</li><li>file handling</li><li>libraries</li><li>problem-solving</li></ul><p>All naturally.</p><p>That’s why I always recommend automation projects first.</p><p>They’re practical, addictive, and immediately rewarding.</p><h3>The Project That Changed Everything for Me</h3><p>The project that truly leveled up my Python skills was embarrassingly simple.</p><p>I built a script that summarized long articles automatically.</p><p>At first, it barely worked.</p><p>The formatting broke.<br>The summaries were terrible.<br>The script crashed randomly.</p><p>But while building it, I learned:</p><ul><li>API handling</li><li>JSON parsing</li><li>prompt engineering</li><li>text processing</li><li>environment variables</li><li>error handling</li></ul><p>Without realizing it, I had crossed from “learning Python” into actually <em>using</em> Python.</p><p>That’s an important distinction.</p><p>The best developers don’t memorize everything.</p><p>They know how to figure things out quickly.</p><h3>Why Free Resources Worked Better for Me</h3><p>Paid courses often teach programming in a clean, perfect environment.</p><p>Real coding is messy.</p><p>Your dependencies break.<br>Your API stops responding.<br>Your script works yesterday but not today.<br>Your indentation suddenly destroys reality.</p><p>Free resources prepared me for that chaos because they forced me to search, experiment, fail, and adapt constantly.</p><p>And honestly, that’s what software development really is.</p><p>Not perfection.</p><p>Iteration.</p><p>There’s a quote I wrote in my notes years ago:</p><blockquote><em>“Programming is just problem-solving with extra frustration.”</em></blockquote><p>Still true.</p><h3>My Actual Python Learning Routine</h3><p>People often expect some complicated roadmap when they ask how I learned Python.</p><p>The reality was surprisingly simple.</p><p>Every day, I tried to do one of these:</p><ul><li>Build something tiny</li><li>Improve an old script</li><li>Read someone else’s code</li><li>Debug an error</li><li>Learn one new library feature</li><li>Automate one annoying task</li></ul><p>That consistency mattered more than intensity.</p><p>Even 30 focused minutes daily compounds aggressively in programming.</p><p>Especially when you’re building instead of consuming endlessly.</p><h3>Final Thoughts</h3><p>Looking back, I’m glad I didn’t spend thousands on courses.</p><p>Because the internet already had the best teachers:</p><ul><li>real projects</li><li>real bugs</li><li>real developers</li><li>real experimentation</li></ul><p>Python became easier once I stopped trying to “master” it and started using it to solve actual problems.</p><p>That’s the secret most tutorials miss.</p><p>The fastest way to learn Python is not to study harder.</p><p>It’s to become curious enough to automate your own life.</p><p>And once that happens, you stop needing motivation.</p><p>Because every annoying task starts looking like your next project.</p><blockquote>Check out the products my friend created, not just for programmers, but for anyone trying to break into tech and learn useful skills along the way.</blockquote><ul><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li><li><a href="https://abdulahad28.gumroad.com/l/rwnlrm">7 ChatGPT Prompts Pack - For Python Developers</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8ec9c82d9c04" width="1" height="1" alt=""><hr><p><a href="https://medium.com/top-python-libraries/how-i-learned-python-without-paying-for-a-course-8ec9c82d9c04">How I Learned Python Without Paying for a Course</a> was originally published in <a href="https://medium.com/top-python-libraries">Top Python Libraries</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Top AI Tools for Programmers in 2026]]></title>
            <link>https://levelup.gitconnected.com/top-ai-tools-for-programmers-in-2026-d626b675733f?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/d626b675733f</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Thu, 21 May 2026 07:54:17 GMT</pubDate>
            <atom:updated>2026-05-21T07:54:17.943Z</atom:updated>
            <content:encoded><![CDATA[<h4>If you’re a programmer, then these tools are a must.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tyCjLDQfY8YJVrZr" /><figcaption>Photo by <a href="https://unsplash.com/@salvadorr?utm_source=medium&amp;utm_medium=referral">Salvador Rios</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>A year ago, I thought I was already moving fast as a Python developer.</p><p>Then I watched a junior developer build a working API integration, write tests, generate documentation, and deploy a Docker container before I had even finished setting up my virtual environment.</p><p>That was the moment I realized something uncomfortable:</p><p>The best programmers in 2026 are not the ones writing the most code.</p><p>They are the ones building systems that write, debug, optimize, and automate code for them.</p><p>And honestly, once you start using the right AI tools, going back feels like trying to dig a tunnel with a spoon after using an excavator.</p><p>Over the last few months, I tested dozens of AI tools while building automation scripts, APIs, dashboards, and machine learning utilities in Python. Some were overhyped. Some were basically autocomplete with marketing. But a few completely changed how I work as a programmer.</p><p>These are the tools that genuinely made me faster.</p><h3>1. Cursor Completely Changed How I Write Python</h3><p>At first, I thought Cursor was just another AI editor trying to compete with VS Code.</p><p>I was wrong.</p><p>Cursor feels less like an editor and more like a senior engineer sitting beside you while you code.</p><p>The first time it impressed me was during a debugging session. I had a messy Python automation script that scraped PDFs, extracted text, and organized files into folders. Somewhere in the pipeline, memory usage kept exploding.</p><p>Normally, this would mean 40 minutes of debugging.</p><p>Cursor found the issue in seconds.</p><p>It noticed I was loading entire PDF objects into memory instead of processing them lazily. The scary part was not that it fixed the issue. The scary part was how naturally it explained the problem.</p><p>That’s when I realized AI coding tools had crossed a line.</p><p>They were no longer just generating snippets.</p><p>They were starting to reason about architecture.</p><p>One feature I use constantly is AI refactoring. You can literally highlight ugly code and say:</p><blockquote><em>“Make this more Pythonic and optimize performance.”</em></blockquote><p>And the output is often surprisingly solid.</p><p>Here’s a small example.</p><pre>numbers = [1,2,3,4,5]<br>squared = list(map(lambda x: x*x, numbers))<br>print(squared)</pre><p>Cursor suggested:</p><pre>numbers = [1, 2, 3, 4, 5]<br>squared = [x**2 for x in numbers]<br>print(squared)</pre><p>Simple? Yes.</p><p>But across thousands of lines of code, these micro-improvements compound fast.</p><blockquote>“Take a quick pause and check out this ebook a friend of mine made. If you’ve been wanting to learn machine learning without feeling overwhelmed, this might be exactly what you need.”</blockquote><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><p>The thing is, AI-generated code becomes dramatically better when your variable names are clean. Bad naming confuses models more than most developers realize.</p><h3>2. OpenAI APIs Made Automation Feel Illegal</h3><p>There’s something dangerous about how easy AI APIs became in 2026.</p><p>A few years ago, building intelligent systems required deep ML knowledge.</p><p>Now?</p><p>You can build absurdly powerful automations with 20 lines of Python.</p><p>One weekend, I built a script that:</p><ul><li>Read client emails</li><li>Extracted project requirements</li><li>Generated proposals</li><li>Organized everything into folders</li><li>Drafted follow-up messages automatically</li></ul><p>The weirdest part?</p><p>Most of the complexity wasn’t AI anymore.</p><p>It was just glue code.</p><p>That’s a huge shift happening right now in software development. The bottleneck is no longer intelligence. The bottleneck is workflow design.</p><p>Here’s a tiny example of how simple modern automation became:</p><pre>from openai import OpenAI<br>client = OpenAI()<br>response = client.chat.completions.create(<br>    model=&quot;gpt-4.1-mini&quot;,<br>    messages=[<br>        {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain decorators in Python simply&quot;}<br>    ]<br>)<br>print(response.choices[0].message.content)</pre><p>That single API call can power tutoring systems, automation agents, research tools, customer support bots, or code reviewers.</p><p>And programmers who understand how to chain these systems together are becoming incredibly valuable.</p><h3>3. Perplexity AI Quietly Replaced Half My Google Searches</h3><p>I didn’t expect Perplexity to become part of my daily programming workflow.</p><p>Now I use it constantly.</p><p>The reason is simple:</p><p>Google gives links.</p><p>Perplexity gives synthesized answers.</p><p>When I’m debugging a weird FastAPI issue or researching async Python patterns, I don’t want to open 17 tabs and read Stack Overflow arguments from 2019.</p><p>I want context fast.</p><p>Perplexity became incredibly useful for:</p><ul><li>Understanding new frameworks</li><li>Summarizing documentation</li><li>Comparing libraries</li><li>Researching architecture decisions</li><li>Learning unfamiliar concepts quickly</li></ul><p>One thing I especially like is how it cites sources directly inside answers. That sounds small until you spend years trying to verify AI hallucinations manually.</p><p>And honestly, this is becoming a real programming skill now:</p><p>Knowing when to trust AI output and when to verify it.</p><p>The developers who survive this AI wave won’t be the ones who reject AI.</p><p>They’ll be the ones who know how to supervise it intelligently.</p><h3>4. GitHub Copilot Became Much Better Than People Realize</h3><p>A lot of developers dismissed Copilot because early versions felt like autocomplete on caffeine.</p><p>But the newer versions are significantly smarter.</p><p>What impressed me most was not code generation.</p><p>It was pattern recognition.</p><p>I noticed Copilot learning how I structure APIs, how I name functions, and even how I organize utility files.</p><p>After a few weeks, suggestions became eerily aligned with my coding style.</p><p>One particularly useful workflow is generating boilerplate instantly.</p><p>For example, when building Flask APIs:</p><pre>from flask import Flask<br>app = Flask(__name__)<br>@app.route(&quot;/&quot;)<br>def home():<br>    return {&quot;message&quot;: &quot;API running&quot;}</pre><p>Copilot can scaffold routes, models, validation logic, and tests almost immediately after you start typing.</p><p>Does it replace engineers?</p><p>Not even close.</p><p>But it absolutely removes repetitive work.</p><p>And repetitive work is where developer energy usually dies.</p><h3>5. Anthropic Claude Helped Me Think Better About Systems</h3><p>Most people use AI tools only for generating code.</p><p>That’s a mistake.</p><p>Some of the biggest productivity gains come from using AI for thinking.</p><p>Claude became one of my favorite tools for architectural reasoning.</p><p>I’ve used it to:</p><ul><li>Plan backend systems</li><li>Break down large automation pipelines</li><li>Compare database strategies</li><li>Analyze performance bottlenecks</li><li>Review security risks</li></ul><p>One thing I noticed immediately is that Claude tends to produce calmer, more structured explanations than many coding assistants.</p><p>That matters more than people think.</p><p>Because programming is not only about writing syntax.</p><p>It’s about reducing cognitive load.</p><p>A confused brain writes terrible software.</p><p>A clear brain builds systems.</p><p>That distinction changed how I work.</p><h3>6. Replit Made Rapid Prototyping Ridiculously Easy</h3><p>There’s a dangerous trap many developers fall into:</p><p>They spend weeks designing projects they never actually build.</p><p>Replit removes a lot of that friction.</p><p>You open a browser, start coding instantly, connect AI assistance, and deploy prototypes fast.</p><p>I used it recently to test an AI-powered document summarizer.</p><p>Normally I would:</p><ul><li>Configure environments</li><li>Create repositories</li><li>Set up dependencies</li><li>Configure deployment</li><li>Waste an hour fixing package conflicts</li></ul><p>Instead, I had a working prototype running in under 30 minutes.</p><p>That speed matters.</p><p>Because momentum matters.</p><p>One of the biggest lies programmers tell themselves is:</p><blockquote><em>“I’ll start once everything is set up properly.”</em></blockquote><p>Experienced developers know the opposite is true.</p><p>Start messy. Optimize later.</p><h3>What Most Developers Still Don’t Understand About AI</h3><p>The biggest shift happening right now is not that AI writes code.</p><p>It’s that AI reduces friction.</p><p>That sounds subtle, but it changes everything.</p><p>The programmers growing fastest in 2026 are the ones aggressively removing repetitive work from their workflow.</p><p>They automate testing.</p><p>They automate documentation.</p><p>They automate debugging assistance.</p><p>They automate research.</p><p>And ironically, this gives them more time to think deeply about actual engineering problems.</p><p>That’s the part many people miss.</p><p>AI is not replacing great programmers.</p><p>It is amplifying them.</p><p>The difference between an average developer and a strong developer used to be skill.</p><p>Now it’s becoming leverage.</p><p>And leverage compounds fast.</p><h3>Final Thoughts</h3><p>I’ve been writing Python for years, and I can confidently say this is the most exciting time I’ve ever seen for programmers.</p><p>Not because AI is perfect.</p><p>It absolutely isn’t.</p><p>It hallucinates.</p><p>It makes bizarre architectural decisions.</p><p>Sometimes it confidently destroys working code like a raccoon inside a server room.</p><p>But if you learn how to work with these tools properly, your productivity ceiling changes dramatically.</p><p>My advice?</p><p>Don’t obsess over mastering every new framework.</p><p>Instead, learn how to combine AI tools with real engineering fundamentals.</p><p>That combination is becoming incredibly powerful.</p><p>And the developers who learn it early are going to have a massive advantage over the next few years.</p><blockquote>Check out the products my friend created, not just for programmers, but for anyone trying to break into tech and learn useful skills along the way.</blockquote><ul><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li><li><a href="https://abdulahad28.gumroad.com/l/rwnlrm">7 ChatGPT Prompts Pack - For Python Developers</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d626b675733f" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/top-ai-tools-for-programmers-in-2026-d626b675733f">Top AI Tools for Programmers in 2026</a> was originally published in <a href="https://levelup.gitconnected.com/">Level Up Coding</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I Tried 8 “Beginner” Python Ideas — Only 3 Were Worth My Time]]></title>
            <link>https://blog.stackademic.com/i-tried-8-beginner-python-ideas-only-3-were-worth-my-time-13c5119c48f3?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/13c5119c48f3</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[python-programming]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Mon, 06 Apr 2026 07:03:35 GMT</pubDate>
            <atom:updated>2026-04-09T07:28:36.719Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8egQfC2aUg3ITYWr" /><figcaption>Photo by <a href="https://unsplash.com/@annikamaria?utm_source=medium&amp;utm_medium=referral">Annika Gordon</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I thought I had it figured out.</p><p>Four years into Python, you start believing “beginner projects” are beneath you. You skim them, maybe build one in an afternoon, and move on.</p><p>Then I tried eight of them back-to-back.</p><p>Same tools. Same weekend constraint. Same goal: build something <em>useful</em>.</p><p>Five of them wasted my time.</p><p>Three of them quietly changed how I think about automation.</p><p>This is what actually happened.</p><h3>The Mistake I Didn’t Realize I Was Making</h3><p>Every project I picked initially came from the same mindset:</p><blockquote><em>“What can I build with this library?”</em></blockquote><p>That sounds harmless. It’s not.</p><p>It leads you to build things that <em>demonstrate knowledge</em> instead of <em>solving problems</em>. The result? You end up with code that works… but never gets used again.</p><p>The three projects that actually mattered came from a different question:</p><blockquote><em>“What problem is annoying enough that I’d use this every week?”</em></blockquote><p>That single shift filtered out 5 out of 8 ideas.</p><h3>The 5 That Looked Good But Failed in Practice</h3><p>Let’s get these out of the way.</p><h3>1. Random Password Generator</h3><p>Took 15 minutes. Felt productive.</p><p>Never used it again.</p><p>Why? Because built-in tools already do this better. No leverage, no automation loop, no reason to revisit.</p><h3>2. CLI To-Do App</h3><p>Classic beginner project.</p><p>I built it. It worked. It was clean.</p><p>I still opened my browser and used a web app the next day.</p><p>This taught me something uncomfortable:<br><strong>If your project replaces something you already use, it has to be <em>better</em>, not just “yours.”</strong></p><h3>3. Weather Script</h3><p>Fetch API → print temperature.</p><p>That’s it.</p><p>The problem wasn’t technical. It was <em>context</em>. I don’t need weather data in my terminal. I need it on my phone when I’m leaving the house.</p><p>Automation without context is just decoration.</p><h3>4. File Renamer</h3><p>Bulk renaming files sounds useful.</p><p>Until you realize you only needed it once.</p><p>Good automation tools are <strong>repeatable</strong>. This wasn’t.</p><h3>5. Basic Web Scraper</h3><p>Scraped headlines from a site.</p><p>Ran it twice.</p><p>Forgot it existed.</p><p>The issue? No downstream use. Data without a workflow is just noise.</p><h3>The 3 That Were Actually Worth It</h3><p>These didn’t just “work.” They stayed.</p><p>I still use versions of these today.</p><h3>1. Resume Tailoring Script (Beginner — But Powerful)</h3><p>This one surprised me.</p><p>I didn’t build it to learn APIs. I built it because I was tired of rewriting the same resume for every application.</p><p>The key insight:</p><p><strong>The problem wasn’t writing a resume. It was rewriting it repeatedly.</strong></p><p>So I automated the <em>variation</em>, not the base.</p><p>Here’s the core idea:</p><pre>def tailor_resume(base_resume, job_desc):<br>    prompt = f&quot;Adapt this resume to match this job:\n{base_resume}\n\nJob:\n{job_desc}&quot;<br>    return call_llm(prompt)</pre><p>That’s it.</p><p>But the impact?</p><ul><li>Applications went from 30 minutes → 5 minutes</li><li>Consistency improved</li><li>I applied to more roles without burning out</li></ul><p><strong>Pro tip:</strong> The real power isn’t in generating content. It’s in <em>standardizing repetition</em>.</p><h3>2. YouTube Summarizer (The One I Actually Use Weekly)</h3><p>I had a “Watch Later” graveyard.</p><p>Hundreds of videos. Zero progress.</p><p>So I built something that watches them for me.</p><p>Not perfectly. But good enough.</p><p>The workflow:</p><ol><li>Extract transcript</li><li>Clean it</li><li>Summarize key ideas</li></ol><p>Simple pipeline:</p><pre>def summarize_video(transcript):<br>    return call_llm(f&quot;Summarize this into key insights:\n{transcript}&quot;)</pre><p>The difference this made was subtle but powerful:</p><ul><li>I stopped “saving content for later.”</li><li>I started <em>processing</em> content immediately</li></ul><p>This is where automation shines:</p><p><strong>It removes the gap between intention and action.</strong></p><h3>3. PDF Organizer (The One That Felt Like Magic)</h3><p>This one started as frustration.</p><p>My desktop had ~100 PDFs. Research papers, notes, random downloads.</p><p>I wasn’t reading them because finding anything felt like work.</p><p>So I built a system that:</p><ul><li>Extracts text</li><li>Converts it into embeddings</li><li>Groups similar documents</li></ul><p>Core idea:</p><pre>embeddings = model.encode(list_of_texts)<br>clusters = KMeans(n_clusters=5).fit_predict(embeddings)</pre><p>That’s not the impressive part.</p><p>The impressive part is what happened after:</p><ul><li>Papers auto-grouped into topics I didn’t explicitly define</li><li>I discovered connections between documents I forgot existed</li><li>Searching became unnecessary</li></ul><p>It didn’t just organize files.</p><p><strong>It organized thinking.</strong></p><h3>What Made These 3 Different?</h3><p>After building all eight, the pattern became obvious.</p><p>The useful ones had three things in common:</p><h3>1. They Solved a Repeating Problem</h3><p>Not a one-time annoyance.</p><p>Something that kept coming back.</p><h3>2. They Fit Into My Existing Workflow</h3><p>I didn’t have to <em>remember</em> to use them.</p><p>They replaced something I was already doing.</p><h3>3. They Reduced Cognitive Load</h3><p>This is the big one.</p><p>Good automation doesn’t just save time.</p><p>It removes decisions.</p><h3>A Rule I Follow Now</h3><p>If I can’t answer this, I don’t build the project:</p><blockquote><em>“Where will this run in my life after I finish it?”</em></blockquote><p>If the answer is vague, the project is dead.</p><h3>The Hidden Trap of “Beginner Projects”</h3><p>Most beginner ideas are designed to teach syntax.</p><p>Not to create value.</p><p>That’s fine when you’re starting.</p><p>But if you’ve been writing Python for even a year, you need to shift:</p><ul><li>From learning tools → solving problems</li><li>From building demos → building systems</li><li>From writing code → removing friction</li></ul><h3>What I’d Do Differently (If I Started Again)</h3><p>I wouldn’t start with ideas.</p><p>I’d start with <em>annoyances</em>.</p><p>Then I’d ask:</p><ul><li>What do I repeat every day?</li><li>What do I procrastinate because it’s tedious?</li><li>What do I wish “just handled itself”?</li></ul><p>That’s where the real projects are hiding.</p><h3>Final Thought</h3><p>There’s a weird irony in learning Python.</p><p>The better you get, the less impressive your projects look.</p><p>Because the best ones don’t scream complexity.</p><p>They quietly remove problems from your life.</p><p>And once they do…</p><p>You stop noticing them entirely.</p><p>That’s when you know you built something worth keeping.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=13c5119c48f3" width="1" height="1" alt=""><hr><p><a href="https://blog.stackademic.com/i-tried-8-beginner-python-ideas-only-3-were-worth-my-time-13c5119c48f3">I Tried 8 “Beginner” Python Ideas — Only 3 Were Worth My Time</a> was originally published in <a href="https://blog.stackademic.com/">Stackademic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[7 Lessons I Learned After Constantly Switching Programming Languages]]></title>
            <link>https://blog.stackademic.com/7-lessons-i-learned-after-constantly-switching-programming-languages-5ceebd540caa?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/5ceebd540caa</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Fri, 27 Mar 2026 07:32:26 GMT</pubDate>
            <atom:updated>2026-03-27T10:49:59.853Z</atom:updated>
            <content:encoded><![CDATA[<h4>Learn Patterns, Not Languages</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*kfTuQg1lSf0bHFdi" /><figcaption>Photo by <a href="https://unsplash.com/@ffstop?utm_source=medium&amp;utm_medium=referral">Fotis Fotopoulos</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I used to believe the fastest way to grow as a developer was to learn <em>more</em> languages.</p><p>Python this week. JavaScript next week. Rust when I felt ambitious. Go when I watched one too many system design videos.</p><p>It felt productive. It looked impressive.</p><p>But if I’m being honest, most of that time was just… movement without progress.</p><p>After four years of writing code (and rewriting the same ideas in different syntaxes), I started noticing patterns. Not the kind you learn from tutorials, but the kind you earn by wasting time.</p><p>These are the 7 lessons that finally changed how I approach programming, and why I stopped chasing languages and started building systems.</p><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><h3>1. You Don’t Learn Programming — You Learn Patterns</h3><p>Here’s the uncomfortable truth:</p><p>Switching languages doesn’t make you smarter. It just makes you <em>retype the same ideas differently</em>.</p><p>Loops. Conditions. Data transformations. APIs. State.</p><p>Different syntax. Same thinking.</p><p>I remember rewriting a simple automation script, from Python to JavaScript, thinking I’d “level up.”</p><p>But midway through, I realized something:</p><blockquote><em>I wasn’t learning anything new. I was just translating.</em></blockquote><p>That’s when it clicked:</p><p><strong>Programming is pattern recognition, not syntax memorization.</strong></p><p>Once you understand patterns, languages become tools, not identities.</p><h3>2. Depth Beats Variety (Every Single Time)</h3><p>There’s a point where learning another language gives you diminishing returns.</p><p>I hit that point hard.</p><p>I could write basic scripts in 5+ languages, but couldn’t build a <em>solid system</em> in any of them.</p><p>That’s dangerous.</p><p>Because surface-level knowledge feels like progress.</p><p>But depth is what pays.</p><p>When I finally committed to Python for automation, everything changed:</p><ul><li>My scripts got faster</li><li>My debugging improved</li><li>My thinking became sharper</li></ul><p>And most importantly, I started solving <em>real problems</em>, not just completing tutorials.</p><blockquote><em>Pro tip: “One language deeply understood beats five languages loosely explored.”</em></blockquote><h3>3. Automation Exposes Your Weaknesses Faster Than Anything</h3><p>When you switch languages, you can hide behind syntax.</p><p>When you build automation, you can’t.</p><p>Automation forces you to think about:</p><ul><li>Edge cases</li><li>Data flow</li><li>Failures</li><li>Scalability</li></ul><p>I once built a simple file organizer. It worked perfectly, until it didn’t.</p><p>A single unexpected file format broke everything.</p><p>That’s when I learned:</p><p><strong>Automation punishes shallow thinking.</strong></p><p>Here’s a simplified version of what that script looked like:</p><pre>import os<br>for file in os.listdir(&quot;downloads&quot;):<br>    if file.endswith(&quot;.pdf&quot;):<br>        os.rename(file, f&quot;pdfs/{file}&quot;)</pre><p>Looks clean. Works fine.</p><p>Until:</p><ul><li>The folder doesn’t exist</li><li>A file already exists with the same name</li><li>Permissions fail</li></ul><p>That’s where real engineering begins.</p><h3>4. Switching Languages Is Often Just Productive Procrastination</h3><p>This one hurt.</p><p>Every time things got hard, I switched languages.</p><p>Not because I needed to, but because it felt like progress.</p><p>Stuck on a backend bug?<br>“Maybe I should try Node.js instead.”</p><p>Confused about concurrency?<br>“Let’s learn Go.”</p><p>But deep down, I knew what I was doing.</p><p>Avoiding difficulty.</p><blockquote><em>“If you keep changing tools, you’ll never sharpen one.”</em></blockquote><p>Real growth starts when you stay with the problem long enough to understand it.</p><h3>5. The Best Developers Think in Systems, Not Code</h3><p>Early on, I thought writing better code meant learning more syntax.</p><p>Now I know:</p><p><strong>Better developers think in systems.</strong></p><p>When I started focusing on automation projects, my mindset shifted:</p><p>Instead of asking:</p><ul><li>“Which language should I use?”</li></ul><p>I started asking:</p><ul><li>“What system am I building?”</li><li>“What inputs and outputs exist?”</li><li>“Where can this break?”</li><li>“How can this run without me?”</li></ul><p>That shift is everything.</p><p>Because automation is not about code, it’s about removing yourself from the process.</p><h3>6. Rewriting the Same Project Teaches You More Than Starting New Ones</h3><p>I used to chase new ideas constantly.</p><p>New project. New stack. New excitement.</p><p>But the real growth came when I did something boring:</p><p><strong>I rebuilt the same project multiple times.</strong></p><p>A YouTube summarizer.<br>A resume optimizer.<br>A file organizer.</p><p>Each time:</p><ul><li>Cleaner logic</li><li>Better structure</li><li>Fewer dependencies</li><li>More automation</li></ul><p>That’s when I stopped being a “learner” and started becoming a <em>builder</em>.</p><h3>7. Mastery Feels Boring (But That’s a Good Sign)</h3><p>This is something nobody tells you.</p><p>When you stop switching languages, things get… predictable.</p><p>You know how to:</p><ul><li>Structure your code</li><li>Debug issues</li><li>Design workflows</li></ul><p>It’s less exciting.</p><p>But far more powerful.</p><p>Because now, instead of asking:<br>“What should I learn next?”</p><p>You start asking:<br>“What can I automate next?”</p><p>And that’s where real leverage comes in.</p><h3>The Shift That Changed Everything</h3><p>I stopped chasing languages.</p><p>I started chasing problems.</p><p>That single shift turned everything around.</p><p>Instead of:</p><ul><li>Learning syntax → I built systems</li><li>Watching tutorials → I shipped tools</li><li>Switching stacks → I automated workflows</li></ul><p>And ironically, I became a <em>better programmer</em> without learning more languages.</p><h3>Final Thought</h3><p>If you’re constantly switching languages, ask yourself:</p><p>Are you learning…<br>or just avoiding depth?</p><p>Because the developers who win aren’t the ones who know the most languages.</p><p>They’re the ones who can take one language, and turn it into <em>leverage</em>.</p><p>Build systems. Automate aggressively. Stay longer with problems.</p><p>Everything else is noise.</p><ul><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/dnxkir">20 Productivity Prompts to Outsource to ChatGPT</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5ceebd540caa" width="1" height="1" alt=""><hr><p><a href="https://blog.stackademic.com/7-lessons-i-learned-after-constantly-switching-programming-languages-5ceebd540caa">7 Lessons I Learned After Constantly Switching Programming Languages</a> was originally published in <a href="https://blog.stackademic.com/">Stackademic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I Copied 5 Viral Python Ideas — Here’s What Happened Next]]></title>
            <link>https://levelup.gitconnected.com/i-copied-5-viral-python-ideas-heres-what-happened-next-851c6799ac80?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/851c6799ac80</guid>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Tue, 17 Mar 2026 13:47:23 GMT</pubDate>
            <atom:updated>2026-03-17T13:47:23.938Z</atom:updated>
            <content:encoded><![CDATA[<h4>From hype to real utility</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*j7bIo8NqShe3XTBO" /><figcaption>Photo by <a href="https://unsplash.com/@jstrippa?utm_source=medium&amp;utm_medium=referral">James Harrison</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I didn’t start this experiment to learn Python.</p><p>I started it because I was tired.</p><p>Tired of seeing the same “build this AI project” posts go viral. Tired of bookmarking them. Tired of telling myself, <em>“I’ll try this someday.”</em></p><p>So one weekend, I did something different.</p><p>I copied five of those ideas.</p><p>Not to learn them.<br>To stress-test them.</p><p>And what I found surprised me, not because the ideas were bad, but because they were incomplete in a way most developers don’t realize.</p><p><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></p><h3>The Mistake I Almost Made (And You Probably Are Too)</h3><p>Most developers approach projects like this:</p><blockquote><em>“How can I use this new tool?”</em></blockquote><p>That’s how I used to think too. It feels productive, but it’s shallow.</p><p>After building all five projects, I realized something uncomfortable:</p><p><strong>The project doesn’t matter. The friction does.</strong></p><p>If your project removes friction from a real problem, it becomes useful.<br>If it doesn’t, it becomes a GitHub repo you never open again.</p><p>So instead of blindly copying, I asked:</p><blockquote><em>“Where is this idea actually painful in real life?”</em></blockquote><p>That changed everything.</p><h3>1. Resume Optimizer — The First Time It Actually Saved Me Time</h3><p>I’ve tailored resumes before. It’s not hard. It’s just… draining.</p><p>So I built a simple script that rewrites my resume based on a job description.</p><p>At first, it felt unnecessary. Why automate something I can already do?</p><p>Then I tested it properly.</p><p>I applied to 12 roles in one sitting.</p><p>Normally: 2–3 hours.<br>With the script: under 30 minutes.</p><p>That’s when it clicked.</p><p>This wasn’t about intelligence. It was about <strong>removing repetition</strong>.</p><p>Here’s the core idea:</p><pre>def tailor_resume(resume, job_desc):<br>    prompt = f&quot;Adapt this resume to this job: {job_desc}&quot;<br>    return llm(prompt + resume)</pre><p>Simple. Almost stupidly simple.</p><p>But here’s the deeper insight:</p><p>Most people think AI replaces thinking.<br>It doesn’t.</p><p>It replaces <em>retyping the same thought in 10 slightly different ways</em>.</p><p><strong>Pro tip:</strong> If a task feels boring but necessary, it’s probably automatable.</p><h3>2. YouTube Summarizer — The Project That Exposed My Real Problem</h3><p>I told myself I needed this.</p><p>“I watch too many long lectures. I need summaries.”</p><p>So I built it.</p><p>It worked perfectly.</p><p>And then… I didn’t use it.</p><p>That’s when I realized the truth:</p><p><strong>I wasn’t overwhelmed by content. I was avoiding it.</strong></p><p>Still, the project taught me something powerful.</p><p>Instead of summarizing everything, I modified it to extract only:</p><ul><li>actionable insights</li><li>tools mentioned</li><li>timestamps worth revisiting</li></ul><p>That made it useful.</p><pre>def extract_insights(transcript):<br>    return llm(&quot;Give only actionable takeaways:\n&quot; + transcript)</pre><p>The shift was subtle but critical.</p><p>Don’t summarize content.</p><p><strong>Filter for decisions.</strong></p><h3>3. PDF Organizer — Where Things Started Getting Real</h3><p>My desktop looked like a crime scene.</p><p>Random PDFs. Research papers. Half-read docs.</p><p>So I built an auto-organizer.</p><p>At first, I expected magic.</p><p>What I got instead was… clusters.</p><p>Not folders like “Machine Learning” or “Web Dev.”</p><p>But weird groupings like:</p><ul><li>“optimization + neural nets”</li><li>“frontend performance + UX”</li></ul><p>And that’s when it hit me:</p><p><strong>AI doesn’t organize like humans. It organizes like reality.</strong></p><p>It groups based on <em>meaning</em>, not labels.</p><p>That made it far more useful than manual folders.</p><pre>embeddings = model.encode(docs)<br>clusters = KMeans(n_clusters=5).fit_predict(embeddings)</pre><p>The real win wasn’t cleanliness.</p><p>It was discovering connections I didn’t know existed.</p><h3>4. Multimodal Search — The Project That Broke My Brain</h3><p>This one started as curiosity.</p><p>“How do you search inside images?”</p><p>Turns out, you don’t.</p><p>You translate images and text into the same mathematical space… and compare them.</p><p>That idea alone is wild.</p><p>But implementing it revealed something deeper:</p><p><strong>Search is no longer about keywords. It’s about meaning alignment.</strong></p><p>When I queried:</p><blockquote><em>“graph showing model accuracy over time”</em></blockquote><p>It returned the exact chart buried inside a 40-page PDF.</p><p>No tags. No captions.</p><p>Just understanding.</p><pre>score = cosine_similarity(query_vec, doc_vec)</pre><p>Short code. Massive implications.</p><p>This is where I stopped thinking like a programmer…<br>and started thinking like a system designer.</p><h3>5. Knowledge Base QA — The Only Project That Felt Like a Product</h3><p>This one combined everything.</p><p>Search + context + response.</p><p>But the real challenge wasn’t building it.</p><p>It was <strong>deciding what not to include</strong>.</p><p>Because here’s the trap:</p><p>The more data you feed, the worse the answers can get.</p><p>Noise kills clarity.</p><p>So I limited the system to:</p><ul><li>top 3 relevant chunks</li><li>strict context boundaries</li><li>minimal prompt instructions</li></ul><p>And suddenly, the answers got sharper.</p><pre>def answer(query, context):<br>    return llm(f&quot;Answer using only this:\n{context}\nQ:{query}&quot;)</pre><p>This felt different.</p><p>Not like a project.</p><p>Like something someone would actually use.</p><h3>What Actually Happened Next</h3><p>I expected five projects.</p><p>What I got was a completely different way of thinking.</p><p>Here’s the uncomfortable truth:</p><p><strong>Most viral project ideas are 70% complete.</strong></p><p>They show you <em>what to build</em>.<br>They don’t show you <em>what makes it valuable</em>.</p><p>That last 30%?</p><ul><li>removing friction</li><li>narrowing scope</li><li>focusing on real usage</li><li>cutting unnecessary features</li></ul><p>That’s where the real learning is.</p><h3>The Shift That Changed Everything</h3><p>After this experiment, I stopped asking:</p><blockquote><em>“Is this project impressive?”</em></blockquote><p>And started asking:</p><blockquote><em>“Would I use this twice?”</em></blockquote><p>Because if the answer is no, it’s not a project.</p><p>It’s practice.</p><p>And practice is fine.</p><p>But don’t confuse it with progress.</p><h3>Final Thought</h3><p>There’s a reason these ideas go viral.</p><p>They’re good.</p><p>But they’re not finished.</p><p>Your job isn’t to copy them.</p><p>It’s to <strong>complete them</strong>.</p><blockquote><em>“Amateurs build features. Professionals remove friction.”</em></blockquote><p>If you take one thing from this article, let it be this:</p><p>Don’t chase complex projects.</p><p>Chase useful ones.</p><p>That’s where everything changes.</p><ul><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=851c6799ac80" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/i-copied-5-viral-python-ideas-heres-what-happened-next-851c6799ac80">I Copied 5 Viral Python Ideas — Here’s What Happened Next</a> was originally published in <a href="https://levelup.gitconnected.com/">Level Up Coding</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How 5 Small Python Habits Completely Changed the Way I Code]]></title>
            <link>https://levelup.gitconnected.com/how-5-small-python-habits-completely-changed-the-way-i-code-41958a206515?source=rss-910ba7c8818f------2</link>
            <guid isPermaLink="false">https://medium.com/p/41958a206515</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python-programming]]></category>
            <dc:creator><![CDATA[Arslan Qutab]]></dc:creator>
            <pubDate>Tue, 17 Mar 2026 13:46:36 GMT</pubDate>
            <atom:updated>2026-03-17T13:46:36.374Z</atom:updated>
            <content:encoded><![CDATA[<h4>Tiny Changes, Massive Code Growth</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_CdQX3tTfBVYenJJ" /><figcaption>Photo by <a href="https://unsplash.com/@cdr6934?utm_source=medium&amp;utm_medium=referral">Chris Ried</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I used to think getting better at Python meant learning <em>more, </em>more libraries, more frameworks, more syntax tricks.</p><p>Turns out, I was wrong.</p><p>The biggest jump in my coding ability didn’t come from learning something new. It came from changing a few small habits I repeated every single day. No fancy tools. No 10-hour tutorials. Just subtle shifts that quietly rewired how I think about code.</p><p>After 4+ years of writing Python almost daily, these are the five habits that actually made the difference, the kind that most developers ignore because they look too simple to matter.</p><p><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></p><h3>1. I Stopped Writing Code First</h3><p>For a long time, my workflow looked like this:</p><p>Open editor → start coding → get stuck → Google → repeat.</p><p>It felt productive. It wasn’t.</p><p>The real change happened when I forced myself to pause before writing a single line and answer one question:</p><p><strong>What problem am I actually solving?</strong></p><p>Not “what feature am I building,” but the <em>real</em> problem underneath.</p><p>For example, instead of jumping into building an automation script, I started defining the input and output clearly:</p><pre>input_data = &quot;raw messy data&quot;<br>expected_output = &quot;clean structured data&quot;</pre><p>That tiny step saved hours of debugging later.</p><p>Pro tip: <em>“If you can’t explain the problem in one sentence, you’re not ready to code it.”</em></p><p>This habit alone made my code simpler, and ironically, faster to write.</p><h3>2. I Automated the Boring Parts Aggressively</h3><p>Most developers automate <em>big</em> things. I started automating the small, annoying ones.</p><p>Renaming files. Cleaning datasets. Formatting reports. Converting formats.</p><p>Individually, these tasks take minutes. Collectively, they drain hours.</p><p>So I built tiny scripts like this:</p><pre>import os<br>for file in os.listdir():<br>    if file.endswith(&quot;.txt&quot;):<br>        os.rename(file, file.replace(&quot; &quot;, &quot;_&quot;).lower())</pre><p>Nothing impressive. But I stopped doing repetitive work manually.</p><p>Here’s what most people miss: automation compounds.</p><p>Saving 10 minutes a day doesn’t feel like much, until it turns into 60+ hours a year.</p><p>And more importantly, it changes how you think. You stop asking, <em>“Can I do this?”</em> and start asking, <em>“Why am I doing this manually?”</em></p><h3>3. I Started Treating Scripts Like Products</h3><p>Early in my journey, my scripts were disposable. One-time use. Messy. Functional.</p><p>Now, even my smallest scripts follow structure.</p><p>I write them like someone else will use them, even if they won’t.</p><p>That means:</p><ul><li>Clear function names</li><li>Basic error handling</li><li>Minimal but useful comments</li></ul><p>For example:</p><pre>def clean_data(data: list) -&gt; list:<br>    &quot;&quot;&quot;Removes empty values and trims whitespace.&quot;&quot;&quot;<br>    return [item.strip() for item in data if item]</pre><p>This habit sounds trivial. It’s not.</p><p>Because one day, you revisit your own code, and realize you don’t understand it.</p><p>That’s when you either refactor… or regret.</p><p>Quote: <em>“Code is read more often than it is written.”</em></p><p>Writing cleaner code didn’t just help others. It helped <em>future me</em>, who is usually confused and slightly annoyed.</p><h3>4. I Reduced My Dependency on Tutorials</h3><p>There was a phase where I couldn’t build anything without watching someone else do it first.</p><p>That’s dangerous.</p><p>Tutorials create an illusion of competence. You feel productive, but you’re just following instructions.</p><p>So I made a rule:</p><p><strong>Try first. Fail first. Then learn.</strong></p><p>Even if I had no idea what I was doing, I would attempt the solution.</p><p>Then, and only then, I’d look things up.</p><p>The difference was massive.</p><p>Instead of copying code, I started understanding patterns.</p><p>For example, instead of searching:</p><blockquote><em>“How to build a file sorter in Python”</em></blockquote><p>I’d search:</p><blockquote><em>“How to loop through files Python”</em></blockquote><p>Smaller questions. Better learning.</p><p>This approach forced me to think like a problem-solver, not a code copier.</p><h3>5. I Built Micro-Projects Instead of Big Ones</h3><p>Big projects sound impressive. They also rarely get finished.</p><p>I shifted to something simpler: <strong>micro-projects with a clear outcome.</strong></p><p>Not “build an AI system.”</p><p>But:</p><ul><li>“Summarize a text file automatically”</li><li>“Organize my downloads folder”</li><li>“Extract key points from articles”</li></ul><p>Each project had one job. And I gave myself a deadline, usually a weekend.</p><p>Here’s a simple example of a text summarizer approach:</p><pre>def summarize(text):<br>    sentences = text.split(&quot;.&quot;)<br>    return &quot;.&quot;.join(sentences[:3])</pre><p>Not perfect. But it works.</p><p>And that’s the point.</p><p>Because small projects:</p><ul><li>Ship faster</li><li>Teach faster</li><li>Build confidence faster</li></ul><p>Over time, they stack into something bigger than any single “big project.”</p><h3>What Changed After These Habits</h3><p>Nothing dramatic happened overnight.</p><p>But over a few months:</p><ul><li>I started solving problems faster</li><li>My code became easier to maintain</li><li>I relied less on external help</li><li>I built more projects than ever before</li></ul><p>Most importantly, I stopped feeling stuck.</p><p>Because the real bottleneck in programming isn’t syntax.</p><p>It’s thinking.</p><h3>Final Thought</h3><p>Most developers are looking for the next big breakthrough.</p><p>A new framework. A new tool. A new course.</p><p>But progress usually comes from something less exciting:</p><p><strong>Doing small things better, consistently.</strong></p><p>If I had to summarize everything into one line, it would be this:</p><p><em>“Good Python developers write code. Great ones design how they’ll write it before they start.”</em></p><p>Start small. Automate aggressively. Think clearly.</p><p>The results won’t be instant, but they’ll be permanent.</p><ul><li><a href="https://abdulahad28.gumroad.com/l/irehc">Python Starter Guide for Non Programmers</a></li><li><a href="https://abdulahad28.gumroad.com/l/wfodyb">Master Python Fast: The Only Cheat Sheet You&#39;ll Ever Need</a></li><li><a href="https://abdulahad28.gumroad.com/l/sryrj">Real World Machine Learning Projects - Ebook</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=41958a206515" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/how-5-small-python-habits-completely-changed-the-way-i-code-41958a206515">How 5 Small Python Habits Completely Changed the Way I Code</a> was originally published in <a href="https://levelup.gitconnected.com/">Level Up Coding</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>