<?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 Arfa on Medium]]></title>
        <description><![CDATA[Stories by Arfa on Medium]]></description>
        <link>https://medium.com/@arfaali?source=rss-0832601780a9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*0CYhVfghMlSGXY4hoQl6uw.jpeg</url>
            <title>Stories by Arfa on Medium</title>
            <link>https://medium.com/@arfaali?source=rss-0832601780a9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 04:27:53 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@arfaali/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[I Tried 12 AI Coding Tools. These 7 Are Worth Your Time.]]></title>
            <link>https://medium.com/codetodeploy/i-tried-12-ai-coding-tools-these-7-are-worth-your-time-afc4809a93fd?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/afc4809a93fd</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[self-improvement]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 16:03:20 GMT</pubDate>
            <atom:updated>2026-11-13T16:03:20.427Z</atom:updated>
            <content:encoded><![CDATA[<p><em>I explored 12 AI coding assistants to understand which ones actually improve a developer’s workflow. These seven stand out for different reasons — from writing code faster to building entire applications.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*18oaaMfCpHOLiKa5" /><figcaption>Photo by <a href="https://unsplash.com/@danielkorpai?utm_source=medium&amp;utm_medium=referral">Daniel Korpai</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>AI coding tools are everywhere.</p><p>Every week, another tool promises to make developers faster, eliminate repetitive coding, or turn a simple prompt into a complete application.</p><p>But here’s the problem: <strong>having more AI tools doesn’t automatically make you a better developer.</strong></p><p>Some are excellent at autocomplete but struggle with larger tasks. Others can edit entire projects but require careful supervision. A few are surprisingly useful for beginners, while others make more sense for experienced developers.</p><p>So instead of treating every AI coding assistant as revolutionary, let’s look at 12 popular options and identify the seven worth exploring.</p><p>This is a practical comparison of their capabilities and workflows, not a claim that every tool was personally tested under identical conditions.</p><h3>The 12 AI Coding Tools on the List</h3><p>Here are the tools we’re comparing:</p><ol><li>Curso</li><li>Claude Code</li><li>GitHub Copilot</li><li>Windsurf</li><li>Replit</li><li>Aider</li><li>Continue</li></ol><p>Gemini Code Assist</p><ol><li>Amazon Q Developer</li><li>Sourcegraph Cody</li><li>Tabnine</li><li>OpenAI Codex</li></ol><p>The goal isn’t to find one universal winner. It’s to understand which tools solve different development problems.</p><h3>The 7 AI Coding Tools Worth Your Time</h3><h3>1. Cursor — Best for Everyday AI-Assisted Coding</h3><p>If I had to recommend one starting point for developers who want an AI-powered coding environment, Cursor would be high on the list.</p><p>Cursor is built around a familiar code-editor experience, making it easier for developers to transition from traditional editing to AI-assisted development.</p><p>Instead of switching between your editor and a chatbot, you can ask questions, generate code, modify files, and work with project context in one environment.</p><p><strong>What makes it useful?</strong></p><ul><li>Understands context across project files.</li><li>Generates code from natural-language instructions.</li><li>Helps refactor existing code.</li><li>Supports multi-file editing.</li><li>Provides agent-style coding workflows.</li></ul><p><strong>Example:</strong></p><p>Imagine you’re building an expense-tracking application.</p><p>You can ask:</p><pre>Create an expense tracking application using Python.<br>Include:<br>- User registration<br>- Expense categories<br>- Monthly expense summaries<br>- SQLite database<br>- A simple dashboard<br>Organize the code into separate modules.</pre><p>Cursor can help create the initial structure and implement different components.</p><p>You still need to review the code, but it can make the development process more efficient.</p><p><strong>My verdict:</strong> A strong choice for developers who want an AI assistant integrated into their everyday coding environment.</p><p>Website: <a href="https://cursor.com/">https://cursor.com/</a></p><h3>2. Claude Code — Best for Complex Development Tasks</h3><p>Claude Code is different from a traditional autocomplete assistant.</p><p>It works as an agentic coding tool, allowing developers to interact with their projects through the terminal and supported integrations.</p><p>You can ask it to inspect a codebase, investigate an error, modify files, run tests, and work through a development task.</p><p>This is particularly useful when a problem involves multiple files rather than one isolated function.</p><p><strong>What makes it stand out?</strong></p><ul><li>Understands existing project structures.</li><li>Can modify multiple files.</li><li>Helps investigate bugs.</li><li>Can execute development commands.</li><li>Supports multi-step coding workflows.</li></ul><p><strong>Example:</strong></p><p>Suppose you inherit a Python project written by another developer.</p><p>You don’t know how its components connect.</p><p>You can ask:</p><pre>Analyze this Python project.<br>Explain:<br>1. Its overall architecture<br>2. The purpose of each major module<br>3. How data moves through the application<br>4. Potential bugs and security concerns<br>5. Areas that need refactoring</pre><p>Claude Code can inspect the available project files and help you understand the application.</p><p><strong>My verdict:</strong> Particularly worth exploring when working with existing codebases and complex development tasks.</p><p>Website: <a href="https://claude.com/product/claude-code">https://claude.com/product/claude-code</a></p><h3>3. GitHub Copilot — Best for Daily Coding Assistance</h3><p>GitHub Copilot is one of the most recognizable names in AI-assisted development.</p><p>Its biggest advantage is that it fits naturally into an existing coding workflow.</p><p>You don’t need to explain every small task to a separate chatbot. Copilot can suggest code while you’re writing it and provide assistance through supported editor features.</p><p><strong>Useful capabilities:</strong></p><ul><li>Intelligent code completion.</li><li>Code generation.</li><li>Code explanations.</li><li>Debugging assistance.</li><li>Test generation.</li><li>Agentic coding features in supported environments.</li></ul><p>For example, imagine you’re writing a Python function to validate email addresses.</p><p>You can start with:</p><pre>def validate_email(email):</pre><p>Copilot can suggest an implementation based on the surrounding code and your instructions.</p><p>You can then review, modify, and test the suggestion.</p><p><strong>My verdict:</strong> A practical option for developers who want AI assistance without significantly changing their existing workflow.</p><p>Website: <a href="https://github.com/features/copilot">https://github.com/features/copilot</a></p><h3>4. Windsurf — Best for Agentic Development Workflows</h3><p>Windsurf is an AI-powered development environment built around the idea of making AI a more active coding partner.</p><p>Its Cascade feature helps developers work through tasks involving project context, code changes, and debugging.</p><p>Think about adding authentication to an existing application.</p><p>You need to identify the relevant files, understand the current architecture, implement the feature, and check that everything works.</p><p>Windsurf is designed to assist across these connected steps.</p><p><strong>Why it’s worth exploring:</strong></p><ul><li>AI-powered code generation.</li><li>Context-aware assistance.</li><li>Multi-file changes.</li><li>Debugging support.</li><li>Agent-style workflows.</li></ul><p><strong>Example prompt:</strong></p><pre>Add user authentication to this application.<br>Requirements:<br>- User registration<br>- Secure password hashing<br>- Login and logout<br>- Input validation<br>- Appropriate error handling<br>Follow the existing project structure.</pre><p>Windsurf can help plan and implement the changes.</p><p><strong>My verdict:</strong> Worth considering if you want an AI-first development environment rather than just autocomplete.</p><p>Website: <a href="https://windsurf.com/">https://windsurf.com/</a></p><h3>5. OpenAI Codex — Best for Delegating Coding Tasks</h3><p>OpenAI Codex is designed to help developers delegate software engineering tasks to AI agents.</p><p>Rather than only suggesting the next line of code, Codex can work through development tasks in supported environments, inspect repositories, make changes, and run tests.</p><p>This makes it interesting for developers who want to assign well-defined tasks and review the resulting work.</p><p><strong>What can it help with?</strong></p><ul><li>Implementing features.</li><li>Fixing bugs.</li><li>Understanding unfamiliar code.</li><li>Writing and running test</li><li>Reviewing proposed changes.</li><li>Working on development tasks in parallel.</li></ul><p><strong>Example:</strong></p><p>You have an application with a broken password-reset feature.</p><p>Instead of asking for a generic explanation, you can provide a task:</p><pre>Investigate the password-reset functionality.<br>Find the cause of the failure.<br>Review the relevant files.<br>Fix the issue.<br>Add tests for the affected behavior.<br>Explain the changes you made.</pre><p>Codex can work through the task in its supported coding environment.</p><p>The important part is reviewing the changes before merging them into your main project.</p><p><strong>My verdict:</strong> One of the most interesting options for developers exploring agent-based software development.</p><p>Website: <a href="https://openai.com/codex/">https://openai.com/codex/</a></p><h3>6. Replit — Best for Beginners and Rapid Prototyping</h3><p>Replit makes application development accessible through a browser-based environment.</p><p>You don’t need to spend hours setting up a local development environment before experimenting with an idea.</p><p>Its AI features can help turn natural-language descriptions into application prototypes.</p><p><strong>What makes it useful?</strong></p><ul><li>Browser-based coding.</li><li>AI-assisted application creation.</li><li>Code execution.</li><li>Collaboration features.</li><li>Deployment options.</li></ul><p><strong>Example:</strong></p><p>Suppose you want to create a personal task manager.</p><p>You can describe the application:</p><pre>Build a task management application.<br>Users should be able to:<br>- Add new tasks<br>- Set deadlines<br>- Mark tasks as completed<br>- Filter tasks by status<br>- View pending tasks<br>Create a clean and simple interface.</pre><p>Replit can help generate a starting application that you can test and improve.</p><p><strong>My verdict:</strong> A good starting point for beginners, students, and developers who want to prototype ideas quickly.</p><p>Website: <a href="https://replit.com/">https://replit.com/</a></p><h3>7. Aider — Best for Developers Who Prefer the Terminal</h3><p>Aider is an open-source AI pair-programming tool that works with your local Git repository.</p><p>It is especially interesting because it brings AI assistance into a terminal-based development workflow.</p><p>You describe the changes you want, and Aider helps modify the relevant files.</p><p>Its Git integration also makes it easier to track changes.</p><p><strong>Why developers might prefer it:</strong></p><ul><li>Works with existing Git repositories.</li><li>Supports multiple AI models.</li><li>Helps edit several files.</li><li>Provides Git-aware workflows.</li><li>Fits into terminal-based development.</li></ul><p><strong>Example:</strong></p><p>You want to improve error handling across a Python project.</p><p>You can ask:</p><pre>Review the Python project.<br>Find functions that lack proper error handling.<br>Add appropriate exception handling.<br>Avoid hiding unexpected errors.<br>Keep the existing coding style.</pre><p>Aider can help implement the requested changes.</p><p><strong>My verdict:</strong> A useful option for developers who prefer open-source tools and command-line workflows.</p><p>Website: <a href="https://aider.chat/">https://aider.chat/</a></p><h3>What About the Other Five Tools?</h3><p>The remaining five aren’t necessarily bad. They simply serve more specific needs or may be less compelling as a general starting point.</p><p>ToolWhat It DoesWhy You Might Choose It Continue Customizable AI coding assistantYou want model flexibility and controlGemini Code Assist Google’s AI coding assistantYou work with Google Cloud and related toolsAmazon Q DeveloperAI assistance for AWS developmentYour projects use AWS services Sourcegraph CodyCodebase-aware AI assistanceYou work with large code repositories Tabnine AI code completion and assistanceYou prioritize coding assistance and enterprise-focused workflows</p><p>One important distinction: AI coding products change quickly. Features, model support, pricing, and integrations can differ between plans and versions. Check each official website before choosing a subscription.</p><h3>Quick Comparison: Which One Should You Pick?</h3><p>Your Goal Tool to Explore Everyday AI-assisted coding Cursor Complex development tasksClaude CodeCode completionGitHub CopilotAgentic development environment Windsurf Delegating coding tasksOpenAI CodexBuilding quick prototypesReplitTerminal-based AI coding Aider</p><p>There isn’t one tool that wins every category.</p><p>The right choice depends on your programming experience, project size, preferred workflow, and budget.</p><h3>How I’d Build a Practical AI Coding Workflow</h3><p>The biggest mistake developers make is installing several AI coding tools without knowing what each one should do.</p><p>A better approach is to assign each tool a purpose.</p><p>Here’s an example workflow:</p><p><strong>Step 1: Understand the project</strong></p><p>Use an AI assistant to explain the requirements, review the project structure, and identify the components you need.</p><p><strong>Step 2: Build the application</strong></p><p>Use your primary coding environment, such as Cursor, to implement features and modify files.</p><p><strong>Step 3: Handle complex tasks</strong></p><p>Use an agentic tool such as Claude Code or Codex when a task requires deeper project investigation or several connected changes.</p><p><strong>Step 4: Test everything</strong></p><p>Use Python’s pytest, automated tests, and manual checks to verify that the generated code actually works.</p><p><strong>Step 5: Review changes</strong></p><p>Use Git to inspect differences, track modifications, and keep your project organized.</p><p>This workflow is more valuable than using five coding assistants simultaneously.</p><h3>Final Thoughts</h3><p>AI coding tools are changing how developers build software.</p><p>But the most useful tool isn’t necessarily the one with the most impressive demonstration. It’s the one that consistently solves a problem in your actual workflow.</p><p>If you’re starting, explore Replit or GitHub Copilot.</p><p>If you’re developing larger applications, look at Cursor, Claude Code, Windsurf, and Codex.</p><p>If you prefer working in the terminal, Aider deserves a closer look.</p><p>My biggest recommendation is simple: <strong>choose one tool, build a real project, and learn how to review its output.</strong></p><p>AI can help you write code faster. Understanding that code is what makes you a developer.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=afc4809a93fd" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/i-tried-12-ai-coding-tools-these-7-are-worth-your-time-afc4809a93fd">I Tried 12 AI Coding Tools. These 7 Are Worth Your Time.</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[9 AI Coding Tools Every Developer Should Know in 2026]]></title>
            <link>https://levelup.gitconnected.com/9-ai-coding-tools-every-developer-should-know-in-2026-48c0dad70eaa?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/48c0dad70eaa</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[startup]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 15:47:34 GMT</pubDate>
            <atom:updated>2026-11-13T15:47:34.350Z</atom:updated>
            <content:encoded><![CDATA[<p><em>AI coding tools have moved far beyond autocomplete. These nine tools can help you write code, understand unfamiliar projects, debug errors, automate repetitive tasks, and build applications faster.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oB6E3hOliLlM-U7-" /><figcaption>Photo by <a href="https://unsplash.com/@steve_j?utm_source=medium&amp;utm_medium=referral">Steve A Johnson</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>A few years ago, AI coding meant asking a chatbot to generate a function and copying the result into your editor.</p><p>That workflow has changed.</p><p>In 2026, AI coding tools can understand entire codebases, suggest architectural changes, generate tests, explain complicated errors, edit multiple files, and even execute development tasks through an agent-based workflow.</p><p>But there is one problem: there are so many tools that choosing the right ones has become a task of its own.</p><p>You don’t need every AI coding assistant. You need a small toolkit that solves real development problems.</p><p>Here are nine tools worth knowing.</p><h3>1. Cursor — An AI-Powered Code Editor</h3><p>If you want an AI assistant directly inside your development environment, Cursor is one of the first tools to explore.</p><p>Cursor is an AI-powered code editor built around the familiar VS Code experience. It helps developers understand existing code, generate new features, make changes across files, and fix errors without constantly switching between applications.</p><p><strong>What makes it useful?</strong></p><ul><li>Understands context across multiple files.</li><li>Generates code from natural-language instructions.</li><li>Helps refactor existing functions and components.</li><li>Suggests fixes when something breaks.</li><li>Supports agent-style coding workflows.</li></ul><p><strong>Example:</strong></p><p>Imagine you’re building a Python expense tracker. Instead of manually creating every component, you can ask Cursor:</p><pre>Create a Python expense tracker with:<br>- User registration and login<br>- Expense categories<br>- Monthly spending summaries<br>- SQLite database integration<br>- A simple dashboard</pre><p>Cursor can help create the project structure and implement the different components.</p><p>You still need to review the generated code, but it can reduce the amount of repetitive work.</p><p><strong>Best for:</strong> Developers who want AI assistance throughout their coding workflow.</p><p>Website: <a href="https://cursor.com/">https://cursor.com/</a></p><h3>2. Claude Code — An AI Agent for Your Development Workflow</h3><p>Claude Code takes AI-assisted programming beyond simple code suggestions.</p><p>It is an agentic coding tool that can work with your project through the terminal. You can ask it to inspect files, understand how different components connect, modify code, run commands, and help investigate bugs.</p><p>Instead of asking for one function at a time, you can describe a complete development task.</p><p>For example:</p><pre>Review this Python project.<br>Identify:<br>1. Repeated code<br>2. Functions that are difficult to maintain<br>3. Potential bugs<br>4. Missing error handling<br>Suggest improvements and explain each change.</pre><p>Claude Code can inspect the project and work through the task using the available tools and permissions.</p><p><strong>Why developers should know it:</strong></p><ul><li>Works with existing codebases.</li><li>Can modify multiple files.</li><li>Helps investigate complicated bugs.</li><li>Can run tests and inspect their results.</li><li>Supports structured development workflows.</li></ul><p><strong>Best for:</strong> Developers working on larger projects who want an AI agent capable of handling multi-step coding tasks.</p><p>Website: <a href="https://claude.com/product/claude-code">https://claude.com/product/claude-code</a></p><h3>3. GitHub Copilot — Your AI Pair Programmer</h3><p>GitHub Copilot is one of the most established AI coding assistants.</p><p>It integrates with popular development environments and helps developers write code while they work.</p><p>Its main advantage is convenience. You don’t have to stop coding, open a separate chatbot, explain your entire problem, and copy the response back.</p><p>Copilot can suggest code directly in your editor.</p><p><strong>Useful features includ</strong></p><ul><li>Code completion and suggestions.</li><li>Natural-language code explanations.</li><li>Assistance with debugging.</li><li>Test generation.</li><li>Chat-based coding assistance.</li><li>Agentic coding capabilities in supported environments and workflows.</li></ul><p><strong>Example:</strong></p><p>You are writing a Python function:</p><pre>def calculate_average(numbers):</pre><p>You can describe what you want through a comment:</p><pre># Calculate the average of a list.<br># Return 0 if the list is empty.</pre><p>Copilot can suggest an implementation:</p><pre>def calculate_average(numbers):<br>    if not numbers:<br>        return 0<br>return sum(numbers) / len(numbers)</pre><p>It is a small example, but this kind of assistance becomes valuable when repeated throughout a project.</p><p><strong>Best for:</strong> Developers who want convenient AI assistance while writing everyday code.</p><p>Website: <a href="https://github.com/features/copilot">https://github.com/features/copilot</a></p><h3>4. Windsurf — An AI-First Development Environment</h3><p>Windsurf is an AI-powered development environment designed to make coding feel more collaborative.</p><p>Its Cascade feature helps developers work through multi-step tasks by understanding project context and assisting with code changes.</p><p>Think about a situation where you need to add a feature to an application.</p><p>You must understand the existing files, identify where the feature belongs, modify the relevant components, and check whether everything works.</p><p>Windsurf aims to help with this entire process.</p><p><strong>What makes it interesting?</strong></p><ul><li>Understands project context.</li><li>Helps implement features across files.</li><li>Supports debugging and code generation.</li><li>Provides an agent-style development experience.</li><li>Helps developers navigate unfamiliar projects.</li></ul><p><strong>Example prompt:</strong></p><pre>Add a password reset feature to this application.<br>Include:<br>- Email-based reset requests<br>- Secure reset tokens<br>- Token expiration<br>- Password validation<br>- Error handling</pre><p>Windsurf can help plan and implement the required changes.</p><p><strong>Best for:</strong> Developers who prefer an AI-first editor with assistance across larger coding tasks.</p><p>Website: <a href="https://windsurf.com/">https://windsurf.com/</a></p><h3>5. Replit — Build Applications Without Complicated Setup</h3><p>Not every developer wants to spend hours configuring environments before writing their first line of code.</p><p>This is where Replit becomes useful.</p><p>Replit is an online development platform that lets you write, run, and deploy applications. Its AI features help users turn ideas into working prototypes and improve existing projects.</p><p>It is especially useful for beginners, students, and developers who want to experiment quickly.</p><p><strong>What can you do with it?</strong></p><ul><li>Create applications using natural-language instructions.</li><li>Write and execute code in the browser</li><li>Build prototypes</li><li>Collaborate on projects.</li><li>Deploy supported applications.</li></ul><p><strong>Example:</strong></p><p>Suppose you want to build a simple task management application.</p><p>You can describe the idea:</p><pre>Build a task management application<br>Users should be able to:<br>- Add tasks<br>- Set deadlines<br>- Mark tasks as completed<br>- Filter tasks by status<br>- View pending tasks</pre><p>Replit can help turn the description into a starting application.</p><p>You can then test it, make improvements, and work toward deployment.</p><p><strong>Best for:</strong> Beginners, students, rapid prototyping, and developers who prefer browser-based development.</p><p>Website: <a href="https://replit.com/">https://replit.com/</a></p><h3>6. Aider — AI Pair Programming in Your Terminal</h3><p>Aider is an open-source AI pair-programming tool that works directly with your local Git repository.</p><p>Unlike traditional coding assistants that focus primarily on editor suggestions, Aider allows you to describe changes and collaborate with an AI model through the terminal.</p><p>One particularly useful feature is its Git integration.</p><p>It can help make code changes and create Git commits, giving you a clearer record of development work.</p><p><strong>Why developers might like it:</strong></p><ul><li>Works with existing Git repositories.</li><li>Helps edit multiple files.</li><li>Supports different AI models.</li><li>Shows changes through Git diffs.</li><li>Fits naturally into terminal-based workflows.</li></ul><p><strong>Example:</strong></p><p>You have a Python application with several files and want to add logging.</p><p>You can ask:</p><pre>Add structured logging to this project.</pre><p>Aider can help make the changes while keeping the work connected to your repository.</p><p><strong>Best for:</strong> Python developers, terminal enthusiasts, and developers who prefer open-source tools.</p><p>Website: <a href="https://aider.chat/">https://aider.chat/</a></p><h3>7. Continue — Customize Your AI Coding Assistant</h3><p>Continue is an open-source AI coding assistant that integrates with development environments such as VS Code and JetBrains IDEs.</p><p>Its biggest advantage is flexibility.</p><p>Instead of being locked into one specific AI model or workflow, developers can configure different models and customize how the assistant behaves.</p><p>This makes it interesting for developers who want more control over their development environment.</p><p><strong>What can you use it for?</strong></p><ul><li>Code generation.</li><li>Code explanations.</li><li>Editing existing code.</li><li>Context-aware assistance.</li><li>Custom AI workflows.</li><li>Integration with different supported models</li></ul><p>For example, a developer can configure Continue to use a preferred model and create workflows for reviewing code or explaining unfamiliar functions.</p><p><strong>Best for:</strong> Developers who want an adaptable, customizable AI coding assistant.</p><p>Website: <a href="https://www.continue.dev/">https://www.continue.dev/</a></p><h3>8. Amazon Q Developer — AI Assistance for AWS Development</h3><p>Developers working with cloud applications often face challenges that go beyond writing code.</p><p>They need to understand cloud services, configure infrastructure, troubleshoot errors, and manage security.</p><p>Amazon Q Developer is an AI-powered assistant designed to support software development, with capabilities particularly relevant to the AWS ecosystem.</p><p><strong>Useful capabilities include:</strong></p><ul><li>Code suggestions and generation.</li><li>Code explanations.</li><li>Help with AWS services.</li><li>Troubleshooting and development assistance.</li><li>Security-related code analysis in supported workflows.</li><li>Assistance with AWS infrastructure tasks.</li></ul><p><strong>Example:</strong></p><p>Imagine you’re developing a Python application that uploads files to Amazon S3.</p><p>You can ask for help creating an upload function using the AWS SDK for Python, Boto3.</p><pre>import boto3<br>def upload_file(file_path, bucket, object_name):<br>    s3 = boto3.client(&quot;s3&quot;)<br>    s3.upload_file(<br>        file_path,<br>        bucket,<br>        object_name<br>    )</pre><p>An AI assistant can help explain the code, identify missing error handling, and suggest improvements.</p><p>Remember that cloud permissions, credentials, and security configurations still require careful review.</p><p><strong>Best for:</strong> Developers building applications within the AWS ecosystem.</p><p>Website: <a href="https://aws.amazon.com/q/developer/">https://aws.amazon.com/q/developer/</a></p><h3>9. Gemini Code Assist — AI Coding Across Google’s Ecosystem</h3><p>Gemini Code Assist is Google’s AI coding assistant for developers.</p><p>It provides coding assistance through supported development environments and Google Cloud workflows.</p><p>It can help developers generate code, understand unfamiliar functions, troubleshoot issues, and work with larger codebases.</p><p><strong>What makes it useful?</strong></p><ul><li>Code completion.</li><li>Natural-language code generation.</li><li>Code explanations.</li><li>Assistance with debugging.</li><li>Support for multiple programming languages.</li><li>Integration with Google’s development ecosystem.</li></ul><p><strong>Example:</strong></p><p>Suppose you’re working with a Python script that processes Excel files.</p><p>You can ask:</p><pre>Write a Python function using pandas<br>that reads an Excel file, removes duplicate rows,<br>handles missing values, and saves the cleaned<br>data into a new Excel file.</pre><p>Gemini Code Assist can help generate the implementation and explain the steps.</p><p><strong>Best for:</strong> Developers who want AI coding assistance and work with Google’s development tools and cloud services.</p><p>Website: <a href="https://codeassist.google/">https://codeassist.google/</a></p><h3>Quick Comparison: Which AI Coding Tool Should You Choose?</h3><p>You don’t need to install all nine tools. The best choice depends on how you develop software.</p><p>ToolMain StrengthBest ForCursorAI-powered code editingEveryday developmentClaude CodeAgentic codingComplex projectsGitHub CopilotCode completionDaily coding assistanceWindsurfAI-first developmentMulti-file tasksReplitBrowser-based buildingBeginners and prototypesAiderTerminal-based codingGit-focused developersContinueCustomizable AI assistanceFlexible workflowsAmazon Q DeveloperAWS developmentCloud developersGemini Code AssistGoogle’s coding ecosystem General development and Google Cloud</p><h3>How to Choose the Right AI Coding Tools</h3><p>Instead of choosing tools because everyone is talking about them, start with your actual development needs.</p><p>Here is a simple approach:</p><p><strong>If you’re a beginner:</strong></p><p>Start with Replit and GitHub Copilot. Focus on learning programming fundamentals while using AI to understand errors and explore unfamiliar concepts.</p><p><strong>If you’re a Python developer:</strong></p><p>Explore Cursor, Aider, and Claude Code. These can help with project development, debugging, refactoring, and multi-file changes.</p><p><strong>If you’re building larger applications:</strong></p><p>Consider Cursor, Windsurf, or Claude Code for more involved coding workflows.</p><p><strong>If you’re interested in cloud development:</strong></p><p>Explore Amazon Q Developer and Gemini Code Assist, depending on your preferred cloud ecosystem.</p><p><strong>If you want flexibility:</strong></p><p>Try Continue or Aider. Both offer workflows that appeal to developers who want more control over their AI tools.</p><h3>The Real Skill Is Knowing How to Work With AI</h3><p>AI coding tools can generate impressive amounts of code, but generating code and building reliable software are two different things.</p><p>A developer still needs to understand:</p><ul><li>Programming fundamentals.</li><li>Data structures and algorithms.</li><li>Debugging.</li><li>Database design.</li><li>API development.</li><li>Testing and security.</li><li>Software architecture.</li></ul><p>Consider this simple workflow:</p><ol><li>Use an AI assistant to understand the requirements.</li><li>Ask it to propose a project structure.</li><li>Generate one component at a time.</li><li>Review the code before accepting changes.</li><li>Run tests and check edge cases.</li><li>Use Git to track changes.</li><li>Test the complete application before deployment.</li></ol><p>Never assume generated code is correct simply because it looks professional.</p><p>AI can introduce bugs, insecure configurations, outdated approaches, and unnecessary complexity. Review its output, protect credentials, and avoid giving coding agents unrestricted access to sensitive files or production systems.</p><h3>Final Thoughts</h3><p>The future of software development isn’t necessarily about replacing developers with AI. It’s about changing how developers approach problems.</p><p>Tools like Cursor, Claude Code, GitHub Copilot, and Aider can reduce repetitive work. Platforms like Replit can make experimentation easier. Tools like Amazon Q Developer and Gemini Code Assist can support development within larger cloud ecosystems.</p><p>But the biggest advantage doesn’t come from using the most AI tools.</p><p>It comes from knowing when to use them, how to guide them, and how to recognize when their output is wrong.</p><p>Start with one tool. Build a real project. Learn its strengths and limitations.</p><p>That’s how you turn AI coding from an interesting experiment into a practical development skill.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=48c0dad70eaa" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/9-ai-coding-tools-every-developer-should-know-in-2026-48c0dad70eaa">9 AI Coding Tools Every Developer Should Know 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[10 AI Coding Tools That Make Developers More Productive]]></title>
            <link>https://medium.com/codetodeploy/10-ai-coding-tools-that-make-developers-more-productive-24c2489efc5a?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/24c2489efc5a</guid>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 07:53:59 GMT</pubDate>
            <atom:updated>2026-11-13T07:53:59.582Z</atom:updated>
            <content:encoded><![CDATA[<p>Software development has changed dramatically.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*M0JTPMidWBki0CGy" /><figcaption>Photo by <a href="https://unsplash.com/@dkomow?utm_source=medium&amp;utm_medium=referral">Daniil Komov</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>A few years ago, developers spent hours searching for solutions, reading documentation, debugging errors, and writing repetitive code. Today, AI coding tools can help with many of these tasks.</p><p>You can describe a feature in plain English, generate a Python function, ask AI to explain an unfamiliar codebase, or automate parts of your testing workflow.</p><p>But there’s a catch.</p><p>Not every AI coding tool improves productivity. Some generate code that needs extensive correction. Others are useful for specific tasks but unnecessary in an everyday development workflow.</p><p>The goal isn’t to use as many AI tools as possible. It’s to find the right tools for the problems you encounter.</p><p>Here are 10 AI coding tools worth exploring if you want to write better code, reduce repetitive work, and improve your development workflow.</p><h3>1. Cursor — An AI-Powered Code Editor</h3><p>&lt;AsyncImage query=” Cursor AI code editor agent mode interface screenshot” aspectRatio=”16:9&quot;/&gt;</p><p>Imagine working on a Python project with 30 files. You need to add a new feature, but first you must understand how the existing functions and modules connect.</p><p>Instead of manually inspecting everything, you can use &lt;Entity value=” Cursor” category=” software” disambig=” AI-powered code editor”/&gt; to help explore the codebase.</p><p>Cursor combines a familiar code editor experience with AI-powered coding assistance.</p><p>You can ask it to explain code, generate functions, refactor files, and help implement features across your project.</p><p><strong>Useful features:</strong></p><ul><li>AI-powered code completion.</li><li>Codebase-aware assistance.</li><li>Multi-file editing.</li><li>Bug investigation.</li><li>Agent-style development workflows.</li></ul><p><strong>Example prompt:</strong></p><p>“Analyze this Python project. Explain its folder structure, identify the main application entry point, and describe how the modules interact.”</p><p><strong>Best for:</strong> Developers who want AI assistance directly inside their main coding environment.</p><p>Website: <a href="https://cursor.com">https://cursor.com</a></p><h3>2. GitHub Copilot — Your Everyday Coding Assistant</h3><p>&lt;AsyncImage query=”GitHub Copilot Visual Studio Code inline code suggestions interface” aspectRatio=”16:9&quot;/&gt;</p><p>Sometimes you don’t need an AI agent to modify an entire project. You just need help completing a function or understanding a complicated line of code.</p><p>That’s where &lt;Entity value=”GitHub Copilot” category=”software” disambig=”AI coding assistant by GitHub”/&gt; becomes useful.</p><p>It integrates with supported development environments and helps developers write code through suggestions, explanations, and chat-based assistance.</p><p>For example, imagine writing a Python function to clean an Excel dataset.</p><p>You could start with a comment:</p><pre># Read an Excel file, remove duplicate rows,<br># remove empty records, and save the cleaned file.</pre><p>Copilot can suggest an implementation based on the context of your code.</p><p>You can also ask it to explain existing functions or help generate tests.</p><p><strong>Useful features:</strong></p><ul><li>Inline code suggestions.</li><li>Function generation.</li><li>Code explanations.</li><li>Test generation.</li><li>AI-assisted debugging.</li></ul><p><strong>Best for:</strong> Developers who want convenient coding assistance without changing their entire workflow.</p><p>Website: <a href="https://github.com/features/copilot">https://github.com/features/copilot</a></p><h3>3. Claude Code — Automate Multi-Step Coding Tasks</h3><p>&lt;AsyncImage query=”Anthropic Claude Code terminal AI coding agent interface” aspectRatio=”16:9&quot;/&gt;</p><p>Writing code is only one part of software development.</p><p>You also need to inspect files, understand dependencies, modify existing functionality, run tests, and fix errors.</p><p>&lt;Entity value=”Claude Code” category=”software” disambig=”Agentic coding tool by Anthropic”/&gt; is designed to help with these broader development tasks.</p><p>It works through the terminal and can inspect your project, edit files, execute commands, and assist with multi-step coding workflows.</p><p>Imagine you have a FastAPI application and want to add user authentication.</p><p>You could ask:</p><p>“Inspect this project and implement user authentication using its existing architecture. Add the necessary routes, input validation, and tests. Explain the changes you make.”</p><p>Claude Code can work through the project and help implement the requested changes.</p><p><strong>Useful features:</strong></p><ul><li>Project exploration.</li><li>Multi-file code editing.</li><li>Test execution.</li><li>Debugging assistance.</li><li>Complex development workflows.</li></ul><p><strong>Best for:</strong> Developers working with existing codebases and larger development tasks.</p><p>Website: <a href="https://code.claude.com">https://code.claude.com</a></p><h3>4. Windsurf — An AI-First Development Environment</h3><p>&lt;AsyncImage query=”Windsurf IDE Cascade AI coding assistant editor interface” aspectRatio=”16:9&quot;/&gt;</p><p>&lt;Entity value=”Windsurf” category=”software” disambig=”AI-powered integrated development environment”/&gt; is designed around the idea of making AI a central part of the development experience.</p><p>Its Cascade assistant helps developers interact with their projects through natural-language instructions.</p><p>For example, you could ask:</p><p>“Create a responsive dashboard with a sidebar, navigation menu, and analytics section. Organize the components into separate files.”</p><p>Windsurf can help generate the initial implementation and make changes across the project.</p><p><strong>Useful features:</strong></p><ul><li>AI-powered coding assistance.</li><li>Codebase context.</li><li>Multi-file editing.</li><li>Agentic development workflows.</li><li>Integrated development environment.</li></ul><p><strong>Best for:</strong> Developers who prefer a conversational, AI-first coding environment.</p><p>Website: <a href="https://windsurf.com">https://windsurf.com</a></p><h3>5. Replit — Build and Run Applications in Your Browser</h3><p>&lt;AsyncImage query=”Replit AI application development workspace agent interface” aspectRatio=”16:9&quot;/&gt;</p><p>What if you have an application idea but don’t want to spend hours configuring your local development environment?</p><p>&lt;Entity value=”Replit” category=”software” disambig=”Online software development platform with AI features”/&gt; provides a browser-based environment where you can write, run, and develop applications.</p><p>Its AI-powered agent can help turn a written description into an application prototype.</p><p>For example:</p><p>“Build a student expense tracker with a login page, expense categories, monthly summaries, and a dashboard.”</p><p>Replit can help generate the initial application and assist with further development.</p><p><strong>Useful features:</strong></p><ul><li>Browser-based coding.</li><li>AI-assisted application creation.</li><li>Integrated execution environment.</li><li>Collaboration capabilities.</li></ul><p>Deployment options.</p><p><strong>Best for:</strong> Beginners, rapid prototyping, and developers who want to experiment with application ideas.</p><p>Website: <a href="https://replit.com">https://replit.com</a></p><h3>6. Aider — AI Pair Programming From Your Terminal</h3><p>&lt;AsyncImage query=”Aider AI coding assistant terminal git interface” aspectRatio=”16:9&quot;/&gt;</p><p>If you enjoy working with command-line tools, &lt;Entity value=”Aider” category=”software” disambig=”Open-source AI pair programming tool”/&gt; deserves a place on your list.</p><p>Aider connects AI models to your local codebase and helps you modify files through conversational instructions.</p><p>Imagine having a Python application with a function that incorrectly processes customer records.</p><p>You could ask:</p><p>“Find the problem in the customer processing function, fix it, and add tests for invalid records without changing unrelated functionality.”</p><p>Aider can help edit the relevant files and integrate its changes with Git.</p><p><strong>Useful features</strong></p><ul><li>Terminal-based coding.</li><li>Multi-file editing.</li><li>Git integration.</li><li>Refactoring assistance.</li><li>Support for different AI models.</li></ul><p><strong>Best for:</strong> Developers who prefer terminal-based workflows and want AI-assisted pair programming.</p><p>Website: <a href="https://aider.chat">https://aider.chat</a></p><h3>7. Continue — Customize Your AI Coding Workflow</h3><p>&lt;AsyncImage query=”Continue.dev AI coding assistant VS Code interface” aspectRatio=”16:9&quot;/&gt;</p><p>Not every developer wants to change their editor or depend on a single AI provider.</p><p>&lt;Entity value=”Continue” category=”software” disambig=”Open-source AI coding assistant for developer IDEs”/&gt; offers an extensible approach to AI-assisted development.</p><p>It can help developers understand code, generate functions, and make changes inside supported development environments.</p><p>One of its interesting aspects is the ability to configure different supported AI models and customize workflows.</p><p><strong>Useful features:</strong></p><ul><li>Code generation.</li><li>Code explanations.</li><li>AI-assisted editing.</li><li>Model configuration.</li><li>Customizable development workflows.</li></ul><p><strong>Best for:</strong> Developers who want more control over their AI coding environment.</p><p>Website: <a href="https://www.continue.dev">https://www.continue.dev</a></p><h3>8. Amazon Q Developer — AI Assistance for AWS Development</h3><p>&lt;AsyncImage query=”Amazon Q Developer IDE coding assistant interface” aspectRatio=”16:9&quot;/&gt;</p><p>If you’re developing applications using Amazon Web Services, &lt;Entity value=”Amazon Q Developer” category=”software” disambig=”AI assistant for software development by AWS”/&gt; is worth exploring.</p><p>It provides AI-powered assistance for coding and working with AWS-related development tasks.</p><p>For example, if you’re building a Python application that uses Amazon S3, you can ask for help understanding the relevant SDK, generating code, or investigating errors.</p><p><strong>Useful features:</strong></p><ul><li>Code suggestions.</li><li>Code explanations.</li><li>AWS development assistance.</li><li>Security-related suggestions.</li><li>Development workflow support.</li></ul><p><strong>Best for:</strong> Developers building applications within the AWS ecosystem.</p><p>Website: <a href="https://aws.amazon.com/q/developer/">https://aws.amazon.com/q/developer/</a></p><h3>9. Gemini Code Assist — AI Coding Assistance From Google</h3><p>&lt;AsyncImage query=”Google Gemini Code Assist VS Code programming interface” aspectRatio=”16:9&quot;/&gt;</p><p>&lt;Entity value=”Gemini Code Assist” category=”software” disambig=”AI coding assistant by Google”/&gt; brings Google’s AI capabilities into supported development environments.</p><p>It can help developers generate code, understand existing implementations, and work through programming problems.</p><p>For example, you could ask it to:</p><p>“Write a Python function that reads a JSON file, validates the required fields, and returns a clean dictionary. Include error handling.”</p><p>It can help generate an initial implementation that you can review and test.</p><p><strong>Useful features:</strong></p><ul><li>Code completion.</li><li>Code generation.</li><li>Code explanations.</li><li>Chat-based coding assistance.</li><li>Support for Google Cloud development workflows.</li></ul><p><strong>Best for:</strong> Developers who want AI coding assistance and work with Google’s development ecosystem.</p><p>Website: <a href="https://codeassist.google/">https://codeassist.google/</a></p><h3>10. Sourcegraph Cody — Understand Large Codebases Faster</h3><p>&lt;AsyncImage query=”Sourcegraph Cody AI code assistant codebase search interface” aspectRatio=”16:9&quot;/&gt;</p><p>One of the most frustrating parts of working on an unfamiliar project is understanding where everything is located.</p><p>You might know what needs to change but have no idea which files contain the relevant functionality.</p><p>&lt;Entity value=”Sourcegraph Cody” category=”software” disambig=”AI coding assistant and codebase understanding tool”/&gt; has focused on helping developers understand and navigate codebases.</p><p>It can assist with questions about code, identify relevant sections, and help developers explore relationships between different parts of a project.</p><p><strong>Useful features:</strong></p><ul><li>Codebase exploration.</li><li>Code explanations.</li><li>Context-aware assistance.</li><li>Code search workflows.</li><li>Development support.</li></ul><p><strong>Best for:</strong> Developers who need help understanding complex or unfamiliar codebases.</p><p>Website: <a href="https://sourcegraph.com/">https://sourcegraph.com/</a></p><p><em>Note: Check the current product availability and supported features before adopting Cody, as product offerings can change.</em></p><h3>Comparison: Which AI Coding Tool Should You Choose?</h3><p>You don’t need every tool in this list. Choose according to the kind of development work you perform.</p><p>ToolMain strengthBest suited forCursorAI-powered editingEveryday developmentGitHub CopilotCode completionWriting code fasterClaude CodeMulti-step codingComplex project tasksWindsurfAI-first IDEConversational developmentReplitBrowser-based buildingPrototypes and beginnersAiderTerminal-based codingGit-focused workflowsContinueCustomizationFlexible AI assistance Amazon Q DeveloperAWS integrationCloud developmentGemini Code AssistGoogle ecosystemGoogle-related developmentSourcegraph CodyCodebase understandingExploring large projects</p><h3>My Recommended AI Coding Workflow</h3><p>Instead of treating these tools as ten separate products, think about how they fit into different stages of software development.</p><p>&lt;box border radius=”lg” padding={3} gap={3}&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;Planning&lt;/badge&gt; **ChatGPT** &lt;text color=”secondary” size=”sm”&gt;Define requirements, break down features, and plan architecture.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;Development&lt;/badge&gt; **Cursor or GitHub Copilot** &lt;text color=”secondary” size=”sm”&gt;Write code, generate functions, and improve implementations.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;Complex Tasks&lt;/badge&gt; **Claude Code** &lt;text color=”secondary” size=”sm”&gt;Explore projects and handle multi-step changes.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”success”&gt;Testing and Review&lt;/badge&gt; **pytest + Git** &lt;text color=”secondary” size=”sm”&gt;Verify behavior, review changes, and catch errors.&lt;/text&gt; &lt;/box&gt; &lt;/box&gt;</p><p>For example, if I were building a Python expense tracker, I’d use this workflow</p><ol><li>Ask ChatGPT to help define the features and database structure.</li><li>Use Cursor to develop the application.</li><li>Use Claude Code for complex changes across multiple files.</li><li>Generate tests and run them with pytest.</li><li>Use Git to track changes and return to a working version if something breaks.</li></ol><p>This keeps the development process organized without relying on AI to make every decision.</p><h3>5 Rules for Using AI Coding Tools Effectively</h3><p>AI coding tools can make development faster, but they can also introduce mistakes.</p><p>Keep these principles in mind:</p><p><strong>1. Understand the generated code.</strong></p><p>Never add code to a project simply because an AI assistant generated it. Understand what the implementation does.</p><p><strong>2. Give specific instructions.</strong></p><p>Instead of saying “Fix my application,” explain the error, expected behavior, and relevant files.</p><p><strong>3. Test every important change.</strong></p><p>Use automated tests to check normal inputs, invalid values, and edge cases.</p><p><strong>4. Review security-sensitive code.</strong></p><p>Authentication, authorization, database queries, and file uploads deserve extra attention.</p><p><strong>5. Avoid unnecessary subscriptions.</strong></p><p>Start with one coding assistant. Add another only when it solves a problem your current tool doesn’t handle well.</p><h3>Final Thoughts</h3><p>AI coding tools are becoming an important part of modern software development.</p><p>They can reduce repetitive work, make unfamiliar code easier to understand, and help developers move from ideas to working applications.</p><p>But productivity doesn’t come from installing ten AI tools.</p><p>It comes from knowing when to use them.</p><p>If you’re a beginner, start with Cursor or GitHub Copilot. If you’re working on larger projects, explore Claude Code. If you prefer terminal-based development, try Aider.</p><p>Most importantly, continue learning Python, databases, APIs, testing, and Git.</p><p><strong>AI can help you write code faster. Your ability to understand, test, and improve that code is what makes you a better developer.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=24c2489efc5a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/10-ai-coding-tools-that-make-developers-more-productive-24c2489efc5a">10 AI Coding Tools That Make Developers More Productive</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The AI Coding Toolkit I’d Build If I Were Starting From Scratch]]></title>
            <link>https://medium.com/life-with-tech/the-ai-coding-toolkit-id-build-if-i-were-starting-from-scratch-8089e7012a53?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/8089e7012a53</guid>
            <category><![CDATA[self-improvement]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Wed, 11 Nov 2026 16:50:16 GMT</pubDate>
            <atom:updated>2026-11-11T16:50:16.808Z</atom:updated>
            <content:encoded><![CDATA[<p>If I were starting my coding journey today, I wouldn’t install 20 AI coding tools, subscribe to every new platform, or chase every trending AI model.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*HdnKKaHITqI2jzy-" /><figcaption>Photo by <a href="https://unsplash.com/@brechtcorbeel?utm_source=medium&amp;utm_medium=referral">Brecht Corbeel</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I’d build a small toolkit.</p><p>One tool for writing code. One for understanding unfamiliar projects. One for debugging. One for testing. And a few others to handle the work that happens around software development.</p><p>Because here’s something beginners often misunderstand: becoming a better developer isn’t about using the most AI tools. It’s about building a workflow where each tool solves a specific problem.</p><p>AI can help you write code faster, but you still need to understand what you’re building, recognize mistakes, test your application, and maintain it.</p><p>So, if I had to start from zero, this is the AI coding toolkit I’d build.</p><h3>1. Cursor — My Main AI Coding Environment</h3><p>&lt;AsyncImage query=” Cursor AI code editor agent mode interface” aspectRatio=”16:9&quot;/&gt;</p><p>I’d start with &lt;Entity value=” Cursor” category=” software” disambig=” AI-powered code editor”/&gt; because I want my primary coding environment and AI assistant in one place.</p><p>Cursor provides an editor experience with AI features that can understand project context, generate code, explain functions, and help modify multiple files.</p><p>Instead of constantly switching between my editor and a chatbot, I could ask questions directly while working on a project.</p><p>For example, imagine I’m building a Python expense tracker.</p><p>I could ask:</p><p>“Create a dashboard component that displays total expenses, monthly spending, and the five most recent transactions. Keep the components separate and use reusable functions.”</p><p>Cursor can help generate the implementation and make changes within the project.</p><p><strong>What I’d use it for:</strong></p><ul><li>Writing Python code.</li><li>Understanding unfamiliar files.</li><li>Refactoring functions.</li><li>Generating components.</li><li>Exploring existing codebases.</li></ul><p><strong>Why it’s in my toolkit:</strong> I want one central environment where most of my development work happens.</p><p>Website: <a href="https://cursor.com">https://cursor.com</a></p><h3>2. Claude Code — My AI Development Partner</h3><p>&lt;AsyncImage query=” Claude Code terminal AI coding agent interface” aspectRatio=”16:9&quot;/&gt;</p><p>My next addition would be &lt;Entity value=” Claude Code” category=” software” disambig=” Agentic coding tool by Anthropic”/&gt;</p><p>Why?</p><p>Because writing individual functions is only a small part of software development.</p><p>Real projects involve multiple files, dependencies, configuration, testing, and debugging.</p><p>Claude Code works through the terminal and can inspect project files, edit code, run commands, and help with multi-step development tasks.</p><p>Imagine asking:</p><p>“Review this FastAPI project. Identify its structure, explain how authentication works, and suggest improvements to the existing implementation.”</p><p>It can investigate the project and help you understand how different parts connect.</p><p>I’d use it for:</p><ul><li>Understanding larger codebases.</li><li>Implementing multi-file changes.</li><li>Refactoring existing projects.</li><li>Investigating bugs.</li><li>Running and interpreting tests.</li></ul><p><strong>Why it’s in my toolkit:</strong> I want an assistant that can help with the entire development task, not just the next line of code.</p><p>Website: <a href="https://code.claude.com">https://code.claude.com</a></p><h3>3. GitHub Copilot — My Everyday Coding Assistant</h3><p>&lt;AsyncImage query=” GitHub Copilot VS Code inline code completion interface” aspectRatio=”16:9&quot;/&gt;</p><p>I wouldn’t ignore &lt;Entity value=” GitHub Copilot” category=” software” disambig=” AI coding assistant by GitHub”/&gt; just because I already have Cursor.</p><p>Copilot offers AI-powered coding assistance in supported development environments.</p><p>Its usefulness comes from integrating assistance into familiar coding workflows.</p><p>For example, while writing a Python function, I could add a comment describing what I want:</p><pre># Read a CSV file, remove duplicate rows,<br># and save the cleaned dataset.</pre><p>Copilot can suggest an implementation based on the surrounding code.</p><p>I’d use it for:</p><ul><li>Code completion.</li><li>Writing repetitive functions.</li><li>Explaining code.</li><li>Generating tests.</li><li>Getting quick development suggestions.</li></ul><p><strong>Why it’s in my toolkit:</strong> Sometimes I don’t need an autonomous agent. I just need a helpful suggestion while coding.</p><p>Website: <a href="https://github.com/features/copilot">https://github.com/features/copilot</a></p><h3>4. ChatGPT — My Planning and Problem-Solving Assistant</h3><p>&lt;AsyncImage query=” ChatGPT coding assistant Python code analysis interface” aspectRatio=”16:9&quot;/&gt;</p><p>Before writing code, I want to understand the problem.</p><p>That’s where &lt;Entity value=” ChatGPT” category=” software” disambig=” AI assistant by OpenAI”/&gt; would fit into my workflow.</p><p>I could use it to:</p><ul><li>Break a large project into smaller tasks.</li><li>Compare different technology choices.</li><li>Understand programming concepts.</li><li>Explain error messages.</li><li>Review code for possible improvements.</li><li>Brainstorm application ideas.</li><li>Create development roadmaps.</li></ul><p>For example, instead of asking:</p><p>“Build an expense tracker.”</p><p>I’d ask:</p><p>“I’m building an expense tracker for students. Help me define the essential features, database structure, API endpoints, and development stages. Keep the architecture beginner-friendly.”</p><p>This gives me a clearer plan before I start coding.</p><p><strong>Why it’s in my toolkit:</strong> I want to understand the problem before asking AI to generate the solution.</p><p>Website: <a href="https://chatgpt.com">https://chatgpt.com</a></p><h3>5. Perplexity — My Technical Research Assistant</h3><p>&lt;AsyncImage query=”Perplexity AI research search interface citations” aspectRatio=”16:9&quot;/&gt;</p><p>Developers constantly encounter unfamiliar technologies.</p><p>You might need to compare two Python libraries, investigate a new framework, or understand a technical concept.</p><p>&lt;Entity value=”Perplexity” category=”software” disambig=”AI-powered search and research platform”/&gt; can help with the initial research.</p><p>For example, I could ask:</p><p>“Compare FastAPI and Django for building a backend for a small SaaS application. Explain their differences in database integration, authentication, scalability, and development complexity. Include reliable sources.”</p><p>I’d use it to:</p><ul><li>Discover technical resources.</li><li>Compare frameworks.</li><li>Research unfamiliar libraries.</li><li>Find relevant documentation.</li><li>Explore new development approaches.</li></ul><p>One important habit: I’d always open official documentation before implementing something based on an AI-generated explanation.</p><p><strong>Why it’s in my toolkit:</strong> Good developers don’t just write code. They know how to find and evaluate technical information.</p><p>Website: <a href="https://www.perplexity.ai">https://www.perplexity.ai</a></p><h3>6. Aider — My Terminal-Based Coding Assistant</h3><p>&lt;AsyncImage query=” Aider AI pair programming terminal interface git” aspectRatio=”16:9&quot;/&gt;</p><p>I’d also install &lt;Entity value=” Aider” category=” software” disambig=” Open-source AI pair programming tool”/&gt;</p><p>Aider is designed for AI-assisted coding through the terminal.</p><p>It can work with your codebase, edit files, and integrate with Git.</p><p>Imagine having a Python project with a function that processes customer records incorrectly.</p><p>You could ask Aider:</p><p>“Find the issue in the customer processing function. Fix it without changing the existing behavior elsewhere and add tests for invalid records.”</p><p>Aider can help make the changes while keeping the workflow connected to version control.</p><p>I’d use it for:</p><ul><li>Terminal-based coding.</li><li>Refactoring.</li><li>Working with existing projects.</li><li>Multi-file changes.</li><li>Git-assisted development.</li></ul><p><strong>Why it’s in my toolkit:</strong> I want to become comfortable with professional development workflows, not depend entirely on graphical editors.</p><p>Website: <a href="https://aider.chat">https://aider.chat</a></p><h3>7. Continue — My Customizme.dev AI coding assistant IDE interface” aspectRatio=”16:9&quot;/&gt;</h3><p>Not every developer wants to change their editor or rely on one AI provider.</p><p>&lt;Entity value=” Continue” category=” software” disambig=” Open-source AI coding assistant for developer IDEs”/&gt; offers an extensible approach to AI assistance in supported development environments.</p><p>It can help with code generation, explanations, and editing while allowing developers to configure supported models and workflows.</p><p>I’d explore it when I want more control over how AI fits into my development environment.</p><p><strong>What I’d use it for:</strong></p><ul><li>Asking questions about code.</li><li>Generating functions.</li><li>Understanding unfamiliar projects.</li><li>Configuring different AI models.</li><li>Customizing coding workflows.</li></ul><p><strong>Why it’s in my toolkit:</strong> Flexibility matters when your development requirements change.</p><p>Website: <a href="https://www.continue.dev">https://www.continue.dev</a></p><h3>8. pytest — My Automated Testing Tool</h3><p>&lt;AsyncImage query=”pytest Python testing terminal output test results” aspectRatio=”16:9&quot;/&gt;</p><p>Here’s where I’d make an important distinction.</p><p>Not every useful development tool needs to be an AI tool.</p><p>I’d include &lt;Entity value=”pytest” category=” software” disambig=” Python testing framework”/&gt; because AI-generated code needs proper testing.</p><p>Imagine writing a function that calculates discounts.</p><pre>def calculate_discount(price, percentage):<br>    return price - (price * percentage / 100)</pre><p>A simple test could look like this:</p><pre>def test_calculate_discount():<br>    assert calculate_discount(1000, 10) == 900</pre><p>You can run your tests using:</p><pre>pytest</pre><p>I’d also ask my AI coding assistant to generate tests for:</p><ul><li>Normal inputs.</li><li>Negative values.</li><li>Missing information.</li><li>Unexpected data types.</li><li>Boundary conditions.</li></ul><p>The important thing is to review those tests rather than assume they cover every possible failure.</p><p><strong>Why it’s in my toolkit:</strong> Writing code quickly is useful. Knowing that it behaves correctly is much more important.</p><p>Website: <a href="https://pytest.org">https://pytest.org</a></p><h3>9. Postman — My API Testing Environment</h3><p>&lt;AsyncImage query=”Postman API testing workspace request response interface” aspectRatio=”16:9&quot;/&gt;</p><p>If I’m building applications with FastAPI or Django REST Framework, I need a way to test API endpoints.</p><p>That’s why I’d add &lt;Entity value=”Postman” category=”software” disambig=”API development and testing platform”/&gt;.</p><p>Postman lets developers send requests and inspect responses without building a complete frontend.</p><p>For example, suppose my application has this endpoint:</p><pre>POST /users</pre><p>I can send a JSON request:</p><pre>{<br>    &quot;name&quot;: &quot;Ali&quot;,<br>    &quot;email&quot;: &quot;ali@example.com&quot;<br>}</pre><p>Then inspect the response to see whether the application behaves as expected.</p><p>I’d use it for</p><ul><li>Testing GET and POST requests.</li><li>Checking API responses.</li><li>Debugging request errors.</li><li>Testing authentication.</li><li>Organizing API collections.</li></ul><p><strong>Why it’s in my toolkit:</strong> I want to test the backend independently before connecting it to a frontend.</p><p>Website: <a href="https://www.postman.com">https://www.postman.com</a></p><h3>10. n8n — My Automation Layer</h3><p>&lt;AsyncImage query=”n8n AI workflow automation visual nodes interface” aspectRatio=”16:9&quot;/&gt;</p><p>I’d finish my toolkit with &lt;Entity value=”n8n” category=” software” disambig=” Workflow automation and AI orchestration platform”/&gt;</p><p>Building an application is one thing. Automating the processes around it is another.</p><p>n8n lets you connect APIs, databases, applications, and AI services through visual workflows.</p><p>Imagine building a customer support application.</p><p>You could create an automation that:</p><ol><li>Receives a new customer inquiry.</li><li>Sends the message to an AI model for classification.</li><li>Identifies the relevant support category.</li><li>Creates a record in your database or connected service.</li><li>Sends a notification to the appropriate team.</li></ol><p>You can also build workflows for research, reporting, notifications, and data processing.</p><p><strong>Why it’s in my toolkit:</strong> I want to build applications that do more than respond to user requests. I want them to connect with useful business processes.</p><p>Website: <a href="https://n8n.io">https://n8n.io</a></p><h3>The Complete AI Coding Toolkit</h3><p>Here’s how I’d organize these tools based on their main responsibilities.</p><p>Development taskToolMain coding environmentCursorMulti-step developmentClaude CodeInline code assistanceGitHub CopilotPlanning and explanationsChatGPTTechnical researchPerplexityTerminal-based codingAiderCustomizable AI assistanceContinueAutomated testingpytestAPI testingPostmanWorkflow automationn8n</p><p>You don’t need to install all ten immediately. Several tools have overlapping capabilities.</p><p>I’d begin with Cursor, ChatGPT, and pytest. Add the others when a project gives you a genuine reason to use them.</p><h3>How I’d Connect Everything Into One Workflow</h3><p>The real advantage comes from combining tools instead of using them randomly.</p><p>Here’s the development workflow I’d follow:</p><p>&lt;box border radius=”lg” padding={3} gap={3}&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;01 · Planning&lt;/badge&gt; **ChatGPT** &lt;text color=”secondary” size=”sm”&gt;Define the problem, features, and architecture.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary” size=”lg”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;02 · Research&lt;/badge&gt; **Perplexity** &lt;text color=”secondary” size=”sm”&gt;Research frameworks, libraries, and documentation.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary” size=”lg”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;03 · Development&lt;/badge&gt; **Cursor or Claude Code** &lt;text color=”secondary” size=”sm”&gt;Build features and work with the codebase.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary” size=”lg”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”info”&gt;04 · Testing&lt;/badge&gt; **pytest and Postman** &lt;text color=”secondary” size=”sm”&gt;Check functions, API endpoints, and edge cases.&lt;/text&gt; &lt;/box&gt; &lt;box align=center&gt; &lt;icon name=”arrow-down” color=”secondary” size=”lg”/&gt; &lt;/box&gt; &lt;box align=center gap={1}&gt; &lt;badge color=”success”&gt;05 · Automation&lt;/badge&gt; **n8n** &lt;text color=”secondary” size=”sm”&gt;Connect your application to other services and workflows.&lt;/text&gt; &lt;/box&gt; &lt;/box&gt;</p><p>This workflow creates a clear separation between planning, research, development, testing, and automation.</p><p>It also gives you opportunities to understand every stage rather than blindly accepting generated code.</p><h3>If I Were Starting From Scratch: My 30-Day Plan</h3><p>I’d avoid spending the first month experimenting with every AI coding platform.</p><p>Instead, I’d build one useful application.</p><p>DaysFocusPractical result1–5Python fundamentals and GitA small Python project6–10Cursor and ChatGPTBuild the first application features11–15FastAPI and databasesWorking backend and API16–20pytest and PostmanTested endpoints and functions21–25Claude Code or AiderRefactor and improve the project26–30n8n and deploymentConnected, usable application</p><p>By the end, I’d aim to have one complete project on GitHub with a README, working features, and tests.</p><p>That is much more valuable than having ten AI tools installed without knowing how to use them.</p><h3>Final Thoughts</h3><p>If I were starting from scratch, I’d build my coding toolkit around one principle:</p><p><strong>Every tool should solve a specific development problem.</strong></p><p>I wouldn’t use Cursor just because everyone talks about it. I wouldn’t use an AI agent without understanding the changes it makes. And I wouldn’t consider an application complete simply because it runs once.</p><p>I’d use AI to reduce repetitive work, learn unfamiliar technologies, and move through development faster.</p><p>But I’d still learn Python, understand databases, write tests, use Git, and review my code.</p><p>Because AI can help you build software faster, but understanding what you’re building is what makes you a developer.</p><p><strong>Don’t build a collection of AI tools. Build a development workflow that makes you better at building software.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8089e7012a53" width="1" height="1" alt=""><hr><p><a href="https://medium.com/life-with-tech/the-ai-coding-toolkit-id-build-if-i-were-starting-from-scratch-8089e7012a53">The AI Coding Toolkit I’d Build If I Were Starting From Scratch</a> was originally published in <a href="https://medium.com/life-with-tech">Life with Tech</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 10 AI Coding Tools. These 7 Actually Impressed Me.]]></title>
            <link>https://ai.plainenglish.io/i-tried-10-ai-coding-tools-these-7-actually-impressed-me-df9ed3f4ec71?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/df9ed3f4ec71</guid>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Wed, 11 Nov 2026 16:26:16 GMT</pubDate>
            <atom:updated>2026-11-11T16:26:16.034Z</atom:updated>
            <content:encoded><![CDATA[<p>AI coding tools are everywhere now.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Q3beWCA9sClj2AWi" /><figcaption>Photo by <a href="https://unsplash.com/@stoman?utm_source=medium&amp;utm_medium=referral">Nangialai Stoman</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Some promise to write entire applications from a single prompt. Others claim they can debug complex codebases, automate testing, or turn natural language into production-ready software.</p><p>But here’s the problem: not every AI coding tool deserves a place in your development workflow.</p><p>Some are excellent at generating code but struggle with larger projects. Others make impressive demos but become frustrating when you need to maintain, debug, or understand the code they produce.</p><p>The real question isn’t which tool can generate the most code.</p><p>It’s which one actually makes developers more productive.</p><p>I looked at 10 popular AI coding tools and narrowed the list down to seven that stand out for different development tasks. The remaining three are worth knowing about, but they didn’t make my main shortlist.</p><p><em>Note: This is a practical comparison of their capabilities and use cases, not a claim of personally testing every tool. Features, pricing, and model availability can change.</em></p><h3>1. Cursor: The Best All-Round AI Code Editor</h3><p>&lt;AsyncImage query=” Cursor AI code editor agent mode interface screenshot” aspectRatio=”16:9&quot; /&gt;</p><p>If you want an AI coding assistant that works directly inside your development environment, start with &lt;Entity value=” Cursor” category=” software” disambig=” AI-powered code editor”/&gt;</p><p>Cursor is built around the familiar Visual Studio Code-style editing experience, but adds AI capabilities throughout the development workflow.</p><p>Instead of copying code into a chatbot, you can work with AI directly inside your project.</p><p><strong>What makes it useful?</strong></p><ul><li>Understands context from your codebase.</li><li>Explains unfamiliar functions and files.</li><li>Generates and edits code.</li><li>Helps identify and fix bugs.</li><li>Assists with refactoring.</li><li>Supports agent-style workflows for multi-step coding tasks.</li></ul><p>Imagine joining a project with 30 Python files and very little documentation.</p><p>Instead of opening every file individually, you can ask Cursor:</p><p>“Explain the structure of this project. Identify the main entry point, important modules, and how data moves through the application.”</p><p>It can help you understand the codebase before you start changing anything.</p><p><strong>Best for:</strong> Developers who want AI assistance throughout their everyday coding workflow.</p><p>Website: <a href="https://cursor.com">https://cursor.com</a></p><h3>2. Claude Code: An AI Coding Agent That Works With Your Project</h3><p>&lt;AsyncImage query=” Anthropic Claude Code terminal coding agent interface” aspectRatio=”16:9&quot; /&gt;</p><p>Most coding assistants help you write individual functions.</p><p>&lt;Entity value=”Claude Code” category=”software” disambig=”Agentic coding tool by Anthropic”/&gt; takes a more project-oriented approach.</p><p>It works through your terminal and can inspect files, understand project structure, edit code, run commands, and help complete multi-step development tasks.</p><p>For example, imagine you want to add authentication to an existing FastAPI application.</p><p>You could ask:</p><p>“Inspect this project and implement user authentication using the existing structure. Add the necessary routes, validation, and tests. Explain the changes before finishing.”</p><p>Claude Code can investigate the project, propose an implementation, and work through the required changes.</p><p>Its usefulness comes from handling tasks that involve multiple files rather than generating isolated snippets.</p><p><strong>What makes it stand out?</strong></p><ul><li>Terminal-based development workflow.</li><li>Codebase exploration.</li><li>Multi-file code editing.</li><li>Test execution and debugging assistance.</li><li>Support for complex development tasks.</li></ul><p>You should still review its changes, especially when it modifies authentication, database operations, or security-sensitive code.</p><p><strong>Best for:</strong> Developers working on existing projects and complex multi-step coding tasks.</p><p>Website: <a href="https://code.claude.com">https://code.claude.com</a></p><h3>3. GitHub Copilot: The Practical Everyday Coding Assistant</h3><p>&lt;AsyncImage query=” GitHub Copilot VS Code inline code suggestions chat interface” aspectRatio=”16:9&quot; /&gt;</p><p>Not every developer needs an autonomous coding agent.</p><p>Sometimes, you just want help writing the next function, understanding an unfamiliar API, or generating a repetitive block of code.</p><p>That’s where &lt;Entity value=” GitHub Copilot” category=” software” disambig=” AI coding assistant by GitHub”/&gt; fits.</p><p>It integrates with supported development environments and provides AI-powered coding assistance.</p><p>You can use it for:</p><ul><li>Inline code suggestions.</li><li>Function generation.</li><li>Code explanations.</li><li>Test generation.</li><li>Debugging assistance.</li><li>Documentation support.</li></ul><p>For example, while writing a Python function, you can describe what it should do in a comment.</p><pre># Create a function that reads a CSV file,<br># removes duplicate rows, and saves the cleaned file.</pre><p>Copilot can suggest an implementation based on the surrounding code and your prompt.</p><p>You can then review and adapt the result.</p><p>Its strength is convenience. You don’t need to change your entire development workflow to start using it.</p><p><strong>Best for:</strong> Developers who want coding assistance integrated into their existing editor.</p><p>Website: <a href="https://github.com/features/copilot">https://github.com/features/copilot</a></p><h3>4. Windsurf An AI-First Development Environment</h3><p>&lt;AsyncImage query=” Windsurf IDE Cascade AI coding assistant interface” aspectRatio=”16:9&quot; /&gt;</p><p>&lt;Entity value=” Windsurf” category=” software” disambig=” AI-powered integrated development environment”/&gt; is another AI-focused code editor designed to make development more conversational.</p><p>Its Cascade experience helps developers interact with their codebase through AI.</p><p>You can describe a feature, ask for an explanation, or request changes across different parts of a project.</p><p>For example:</p><p>“Create a responsive dashboard with a sidebar, navigation menu, and product analytics section. Organize the components into separate files.”</p><p>Windsurf can help generate the initial implementation and work through changes.</p><p><strong>Why developers may like it:</strong></p><ul><li>AI assistance built into the editor.</li><li>Codebase-aware interactions.</li><li>Multi-file editing.</li><li>Support for agentic development workflows.</li><li>Integrated development experience.</li></ul><p>One important consideration is that AI-generated interfaces still need human review for accessibility, responsiveness, performance, and maintainability.</p><p><strong>Best for:</strong> Developers who prefer an AI-first editor and conversational coding experience.</p><p>Website: <a href="https://windsurf.com">https://windsurf.com</a></p><h3>5. Replit Go From an Idea to a Running Application</h3><p>&lt;AsyncImage query=” Replit AI app development workspace agent interface” aspectRatio=”16:9&quot; /&gt;</p><p>What if you have an application idea but don’t want to spend hours configuring your development environment?</p><p>&lt;Entity value=” Replit” category=” software” disambig=” Online development platform with AI app-building features”/&gt; makes it possible to create and run projects in an online development environment.</p><p>Its AI-powered agent can help turn descriptions into working application prototypes.</p><p>For example, you could describe:</p><p>“Build a personal expense tracker with a login page, expense categories, monthly summaries, and a dashboard.”</p><p>Replit can help create the initial application structure and work through implementation.</p><p>You can also use the platform to run, test, and deploy supported projects.</p><p><strong>What makes it interesting?</strong></p><ul><li>Browser-based development.</li><li>AI-assisted application creation.</li><li>Integrated execution environment.</li><li>Collaboration features.</li><li>Deployment options.</li></ul><p>It’s particularly useful when you want to experiment with an idea without spending too much time on local setup.</p><p>However, a generated prototype isn’t automatically a secure or production-ready application.</p><p><strong>Best for:</strong> Beginners, rapid prototyping, and developers who want an integrated online environment.</p><p>Website: <a href="https://replit.com">https://replit.com</a></p><h3>6. Aider AI Pair Programming From Your Terminal</h3><p>&lt;AsyncImage query=” Aider AI pair programming terminal git code editing interface” aspectRatio=”16:9&quot; /&gt;</p><p>If you prefer working in the terminal rather than switching between graphical interfaces, &lt;Entity value=” Aider” category=” software” disambig=” Open-source AI pair programming tool”/&gt; is worth exploring.</p><p>Aider connects AI models to your local codebase and helps you make changes through conversational instructions.</p><p>For example, you could ask:</p><p>“Refactor this Python function to improve readability. Keep the existing behavior and add tests for the edge cases.”</p><p>Aider can edit relevant files and work with Git, making it easier to review and manage changes.</p><p><strong>Why it’s interesting:</strong></p><ul><li>Terminal-based workflow.</li><li>Works with supported AI models.</li><li>Git integration.</li><li>Multi-file editing.</li><li>Useful for refactoring and debugging.</li></ul><p>One advantage is that you can incorporate it into a workflow that already relies heavily on Git and command-line tools.</p><p><strong>Best for:</strong> Developers comfortable with terminals who want AI-assisted pair programming.</p><p>Website: <a href="https://aider.chat">https://aider.chat</a></p><h3>7. Continue Bring AI Assistance Into Your Existing IDE</h3><p>&lt;AsyncImage query=” Continue.dev AI coding assistant VS Code IDE interface” aspectRatio=”16:9&quot; /&gt;</p><p>Not everyone wants to switch code editors just to use AI.</p><p>&lt;Entity value=”Continue” category=”software” disambig=”Open-source AI coding assistant for developer IDEs”/&gt; focuses on bringing AI assistance into supported development environments.</p><p>It offers an extensible approach to AI-assisted coding, including configurable models and development workflows.</p><p>You can use it to:</p><ul><li>Ask questions about your code.</li><li>Generate and edit functions.</li><li>Understand unfamiliar code.</li><li>Work with different supported AI models.</li><li>Customize your development setup.</li></ul><p>For example, you might configure Continue to use a model suited to your coding tasks and another for faster, simpler explanations.</p><p>This flexibility is useful when you don’t want to depend entirely on one AI provider.</p><p><strong>Best for:</strong> Developers who want an extensible AI coding assistant inside their existing IDE.</p><p>Website: <a href="https://www.continue.dev">https://www.continue.dev</a></p><h3>The Other 3 AI Coding Tools Worth Knowing</h3><p>These tools didn’t make my main seven, but they solve specific problems and deserve attention.</p><p>&lt;box gap={3}&gt; &lt;row align=start gap={3}&gt; &lt;AsyncImage query=”Amazon Q Developer code assistant logo interface” aspectRatio=”1:1&quot; maxWidth=”76px”/&gt; &lt;box flex=”1&quot; gap={1}&gt; **8. Amazon Q Developer**</p><pre>An AI assistant for software development, with capabilities that include code suggestions, explanations, and AWS-related development assistance.<br>Website: https://aws.amazon.com/q/developer/<br>&lt;/box&gt;</pre><p>&lt;/row&gt; &lt;divider color=”subtle”/&gt; &lt;row align=start gap={3}&gt; &lt;AsyncImage query=”Google Gemini Code Assist logo” aspectRatio=”1:1&quot; maxWidth=”76px”/&gt; &lt;box flex=”1&quot; gap={1}&gt; **9. Gemini Code Assist**</p><pre>Google&#39;s AI coding assistant for code completion, generation, explanations, and development support across supported IDEs.</pre><pre>  Website: <a href="https://codeassist.google/">https://codeassist.google/</a><br>&lt;/box&gt;</pre><p>&lt;/row&gt; &lt;divider color=”subtle”/&gt; &lt;row align=start gap={3}&gt; &lt;AsyncImage query=”Sourcegraph Cody AI coding assistant logo” aspectRatio=”1:1&quot; maxWidth=”76px”/&gt; &lt;box flex=”1&quot; gap={1}&gt; **10. Sourcegraph Cody**</p><pre>An AI coding assistant focused on helping developers understand and work with codebases, particularly useful for navigating larger projects.<br>Website: https://sourcegraph.com/<br>&lt;/box&gt;</pre><p>&lt;/row&gt; &lt;/box&gt;</p><h3>Which AI Coding Tool Should You Choose?</h3><p>Choosing a tool based on popularity alone is a mistake.</p><p>Your development workflow matters more than the number of features a product advertises.</p><p>Your goalTool to exploreEveryday AI-assisted codingCursorMulti-step coding tasksClaude CodeInline code suggestionsGitHub CopilotAI-first development environmentWindsurfBuilding application prototypesReplitTerminal-based pair programmingAiderCustomizable IDE assistanceContinueAWS developmentAmazon Q DeveloperGoogle ecosystem developmentGemini Code AssistExploring large codebasesSourcegraph Cody</p><h3>How to Get Real Value From AI Coding Tools</h3><p>The biggest mistake developers make is asking AI to build an entire application without understanding what they’re creating.</p><p>A better approach is to use AI as a development partner.</p><p>Here is a workflow worth trying:</p><p><strong>Step 1: Explain the problem.</strong></p><p>Describe what you want to build, who will use it, and what problem it solves.</p><p><strong>Step 2: Ask for a project structure.</strong></p><p>Before generating code, ask the assistant to suggest folders, modules, dependencies, and the overall architecture.</p><p><strong>Step 3: Build one feature at a time.</strong></p><p>Start with authentication, a database model, an API endpoint, or a dashboard component.</p><p><strong>Step 4: Generate tests.</strong></p><p>Ask the AI to create tests for normal inputs, invalid inputs, and edge cases.</p><p><strong>Step 5: Review every change.</strong></p><p>Check the generated code, dependencies, permissions, and security implications.</p><p><strong>Step 6: Run the application yourself.</strong></p><p>Never assume that code is correct just because an AI tool says the task is complete.</p><p><strong>Step 7: Use Git to track changes.</strong></p><p>Commit working versions so you can understand, compare, and reverse changes when necessary.</p><h3>Final Thoughts</h3><p>AI coding tools are changing how developers approach software development.</p><p>But the biggest advantage doesn’t come from finding one tool that writes everything for you.</p><p>It comes from understanding which tool is best suited to each stage of the development process.</p><p>Use Cursor for everyday coding, explore Claude Code for multi-step tasks, try Aider if you enjoy terminal workflows, and experiment with Replit when you want to turn an idea into a prototype quickly.</p><p>You don’t need ten subscriptions or ten different coding assistants.</p><p>Choose one, use it on a real project, and learn how to review the code it produces.</p><p><strong>The best AI coding tool isn’t the one that writes the most code. It’s the one that helps you build better software while making you a better developer.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=df9ed3f4ec71" width="1" height="1" alt=""><hr><p><a href="https://ai.plainenglish.io/i-tried-10-ai-coding-tools-these-7-actually-impressed-me-df9ed3f4ec71">I Tried 10 AI Coding Tools. These 7 Actually Impressed Me.</a> was originally published in <a href="https://ai.plainenglish.io">Artificial Intelligence 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[Web Development with Python: Build APIs and Web Applications Using FastAPI or Django]]></title>
            <link>https://levelup.gitconnected.com/web-development-with-python-build-apis-and-web-applications-using-fastapi-or-django-e0b94f27628e?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/e0b94f27628e</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[python]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Wed, 11 Nov 2026 16:01:45 GMT</pubDate>
            <atom:updated>2026-11-11T16:01:45.500Z</atom:updated>
            <content:encoded><![CDATA[<p>Web development is one of the most practical ways to turn Python knowledge into real-world projects.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*5E7NRQ1gUZ-wNz6D" /><figcaption>Photo by <a href="https://unsplash.com/@andyjh07?utm_source=medium&amp;utm_medium=referral">Andy Holmes</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>You can use Python to build websites, develop backend systems, create REST APIs, connect databases, manage user accounts, and power applications that serve thousands of users.</p><p>But here’s something many beginners don’t realize: you don’t need to learn an entirely new programming language to start building the backend of a web application.</p><p>If you already know Python, two frameworks are worth exploring: <strong>FastAPI and Django</strong>.</p><p>Both help you build web applications, but they approach development differently. Understanding when to use each one can save you a lot of time.</p><p>Let’s explore how they work, what you can build with them, and how to get started.</p><h3>1. What Is Python Web Development?</h3><p>A web application usually has three major parts:</p><ul><li><strong>Frontend:</strong> The interface users interact with, built using technologies such as HTML, CSS, and JavaScript.</li><li><strong>Backend:</strong> The server-side logic that processes requests, handles authentication, and performs operations.</li><li><strong>Database:</strong> The system that stores information such as user accounts, orders, products, and transactions.</li></ul><p>Python frameworks help you build the backend.</p><p>For example, imagine creating an online shopping application.</p><p>When a customer opens a product page, the frontend sends a request to the backend. The Python application retrieves product information from the database and returns it to the frontend.</p><p>The frontend then displays the information to the customer.</p><p>This entire process can be managed using Python.</p><h3>2. FastAPI: Build Modern APIs With Python</h3><p>FastAPI has become an attractive option for developers who want to build modern APIs with Python.</p><p>It is designed around Python type hints and supports asynchronous programming.</p><p>One of its biggest advantages is automatic API documentation.</p><p>You don’t need to manually create a separate documentation page for every endpoint. FastAPI can generate interactive documentation from your application.</p><h3>Build Your First API With FastAPI</h3><p>First, install FastAPI and its development server.</p><pre>pip install &quot;fastapi[standard]&quot;</pre><p>Create a file called main.py.</p><pre>from fastapi import FastAPI<br>app = FastAPI()<br>@app.get(&quot;/&quot;)<br>def home():<br>    return {&quot;message&quot;: &quot;Welcome to my first API!&quot;}<br>@app.get(&quot;/users/{user_id}&quot;)<br>def get_user(user_id: int):<br>    return {<br>        &quot;user_id&quot;: user_id,<br>        &quot;name&quot;: &quot;Ali&quot;<br>    }</pre><p>Start your application:</p><pre>fastapi dev main.py</pre><p>Your application will run locally, usually at:</p><pre>http://127.0.0.1:8000</pre><p>Open the interactive documentation at:</p><pre>http://127.0.0.1:8000/docs</pre><p>You can test your endpoints directly from the browser.</p><h3>What Just Happened?</h3><p>Let’s understand the code.</p><ul><li>FastAPI() creates your application</li><li>@app.get(&quot;/&quot;) defines an endpoint that responds to GET requests.</li><li>@app.get(&quot;/users/{user_id}&quot;) creates a route with a dynamic parameter.</li><li>user_id: int tells FastAPI to expect an integer.</li><li>return sends the response as JSON.</li></ul><p>That’s it. You’ve built a working API using just a few lines of Python.</p><h3>Build a More Useful API</h3><p>Now imagine creating a simple task management application.</p><p>Users should be able to add tasks, view them, and mark them as completed.</p><pre>from fastapi import FastAPI<br>app = FastAPI()<br>tasks = []<br>@app.post(&quot;/tasks&quot;)<br>def create_task(task: dict):<br>    tasks.append(task)<br>    return {<br>        &quot;message&quot;: &quot;Task created&quot;,<br>        &quot;task&quot;: task<br>    }<br>@app.get(&quot;/tasks&quot;)<br>def get_tasks():<br>    return tasks</pre><p>This example stores tasks in memory, so the information disappears when the application restarts. A real application would use a database.</p><p>However, it demonstrates how quickly you can create API functionality.</p><h3>When Should You Use FastAPI?</h3><p>FastAPI is particularly useful when building:</p><ul><li>REST APIs.</li><li>Backend services for mobile applications.</li><li>AI-powered applications.</li><li>Machine learning model APIs.</li><li>Microservices.</li><li>Data processing services.</li></ul><p>If you want to build a Python backend that communicates with a frontend or another application, FastAPI is an excellent starting point.</p><h3>3. Django: Build Complete Web Applications</h3><p>FastAPI focuses heavily on API development.</p><p>Django takes a more comprehensive approach.</p><p>It is a high-level Python web framework that provides many features out of the box.</p><p>Instead of installing separate packages for every basic requirement, Django already includes tools for:</p><ul><li>User authentication.</li><li>Database management.</li><li>URL routing.</li><li>Form handling.</li><li>Security protections.</li><li>An administrative dashboard.</li></ul><p>Template rendering.</p><p>This makes Django particularly useful for applications that need a complete backend structure.</p><h3>Build Your First Django Project</h3><p>Start by installing Django.</p><pre>pip install django</pre><p>Create a new project:</p><pre>django-admin startproject myproject</pre><p>Move into the project directory:</p><pre>cd myproject</pre><p>Start the development server:</p><pre>python manage.py runserver</pre><p>Open your browser:</p><pre>http://127.0.0.1:8000/</pre><p>You should see Django’s default welcome page.</p><p>You’ve successfully created your first Django project.</p><h3>Create Your First Django App</h3><p>A Django project can contain multiple applications.</p><p>For example, an e-commerce project might have separate apps for products, customers, and orders.</p><p>Create an application:</p><pre>python manage.py startapp products</pre><p>Inside the products application, open views.py.</p><p>Add this code:</p><pre>from django.http import JsonResponse<br>def product_list(request):<br>    products = [<br>        {&quot;id&quot;: 1, &quot;name&quot;: &quot;Laptop&quot;},<br>        {&quot;id&quot;: 2, &quot;name&quot;: &quot;Keyboard&quot;},<br>        {&quot;id&quot;: 3, &quot;name&quot;: &quot;Mouse&quot;}<br>    ]<br>    return JsonResponse({<br>        &quot;products&quot;: products<br>    })</pre><p>Now create a urls.py file inside the products folder.</p><pre>from django.urls import path<br>from .views import product_list<br>urlpatterns = [<br>    path(&quot;products/&quot;, product_list)<br>]</pre><p>Connect the application URLs to your main project’s urls.py:</p><pre>from django.contrib import admin<br>from djangourls import path, incl<br>urlpatterns = [<br>    path(&quot;admin/&quot;, admin.site.urls),<br>    path(&quot;&quot;, include(&quot;products.urls&quot;)),<br>]</pre><p>You also need to add &quot;products&quot; to INSTALLED_APPS in your project&#39;s settings.py.</p><p>Now visit:</p><pre>http://127.0.0.1:8000/products/</pre><p>Your browser will display a JSON response containing the products.</p><p>This is a simple example, but it demonstrates how Django handles requests and returns information.</p><h3>When Should You Use Django?</h3><p>Django is particularly useful for:</p><p>E-commerce platforms.</p><ul><li>Content management systems.</li><li>Business management applications.</li><li>Customer portals.</li><li>Booking systems.</li><li>Large database-driven websites.</li></ul><p>If you want to build a complete application with authentication, database models, and an administrative interface, Django gives you a strong foundation.</p><h3>4. FastAPI vs. Django: Which One Should You Learn?</h3><p>Both frameworks are powerful, but they solve slightly different problems.</p><p>FeatureFastAPIDjangoMain focusAPI developmentComplete web applicationsLearning curveRelatively lightweightMore concepts to learn Automatic API documentation Built-in Usually requires additional toolsDatabase toolsChoose your preferred integrationsBuilt-in ORMAuthenticationAdd and configure componentsBuilt-in authentication systemAdmin dashboardNot included by default Built-in Async support Designed with async supportSupports asynchronous views and other async features Best suited forAPIs and backend servicesFull-featured web applications</p><h3>My Recommendation</h3><p>If you’re new to Python web development, start with FastAPI.</p><p>You can build small APIs, understand HTTP requests, work with JSON, and learn how frontend applications communicate with backend services.</p><p>After that, explore Django.</p><p>Learning both gives you more flexibility when choosing the right framework for a project.</p><p>Remember: neither framework is universally better. The right choice depends on the application you’re building.</p><h3>5. Connect Your Application to a Database</h3><p>A web application becomes much more useful when it can store information permanently.</p><p>Imagine building a task management application.</p><p>You don’t want users to lose their tasks every time the server restarts.</p><p>This is where databases come in.</p><p>Common database options include:</p><ul><li>SQLite — A lightweight database suitable for learning and smaller applications.</li><li>PostgreSQL — A powerful relational database used in many production systems.</li><li>MySQL — Another widely used relational database.</li></ul><p>For example, SQLAlchemy can help you work with relational databases in a FastAPI application.</p><p>Django provides its own Object-Relational Mapper (ORM), allowing you to interact with database records using Python classes.</p><p>Here’s a simple Django model:</p><pre>from django.db import models<br>class Product(models.Model):<br>    name = models.CharField(max_length=100)<br>    price = models.DecimalField(<br>        max_digits=10,<br>        decimal_places=2<br>    )<br>    stock = modelsIntegerField(default=0)<br>    def __str__(self):<br>        return self.name</pre><p>This defines a product with a name, price, and stock quantity.</p><p>After creating the model, run:</p><pre>python manage.py makemigrations<br>python manage.py migrate</pre><p>Django creates the corresponding database structure.</p><p>Now your application has a foundation for storing real product information.</p><h3>6. Build These 5 Projects to Practice Web Development</h3><p>Reading documentation is useful, but building projects is where you actually develop your skills.</p><p>Here are five practical ideas.</p><h3>Project 1: Personal Expense Tracker</h3><p>&lt;AsyncImage query=”personal expense tracker web dashboard income expense charts interface” aspectRatio=”16:9&quot; /&gt;</p><p>Create an application where users can record their daily expenses.</p><p>Features</p><ul><li>Add and delete transactions.</li><li>Categorize expenses.</li><li>Calculate monthly spending.</li><li>Display expense summaries.</li><li>Store records in a database.</li></ul><p><strong>Recommended framework:</strong> Django.</p><p>This project teaches you database models, forms, authentication, and dashboard development.</p><h3>Project 2: URL Shortener</h3><p>&lt;AsyncImage query=”URL shortener web application dashboard interface” aspectRatio=”16:9&quot; /&gt;</p><p>Build a service that converts long URLs into shorter links.</p><p>Features</p><ul><li>Submit a long URL.</li><li>Generate a unique short code.</li><li>Redirect users to the original URL.</li><li>Track the number of clicks.</li><li>Display link statistics.</li></ul><p><strong>Recommended framework:</strong> FastAPI.</p><p>This project helps you understand API endpoints, database operations, and HTTP redirects.</p><h3>Project 3: AI-Powered PDF Summarizer</h3><p>&lt;AsyncImage query=”AI PDF document summarizer web application interface” aspectRatio=”16:9&quot; /&gt;</p><p>Build an application that extracts text from PDF files and generates summaries using an AI model.</p><p>Features:</p><ul><li>Upload PDF documents.</li><li>Extract text using PyMuPDF.</li><li>Send extracted content to an AI model.</li><li>Generate summaries.</li><li>Allow users to download results.</li></ul><p><strong>Recommended framework:</strong> FastAPI.</p><p>This is an excellent way to combine Python web development with AI.</p><h3>Project 4: Inventory Management System</h3><p>&lt;AsyncImage query=”inventory management software dashboard products stock levels interface” aspectRatio=”16:9&quot; /&gt;</p><p>Create a system that helps small businesses manage their inventory.</p><p>Features:</p><ul><li>Add and update products.</li><li>Track available stock.</li><li>Record incoming and outgoing inventory.</li><li>Generate low-stock alerts.</li><li>Display inventory reports.</li></ul><p><strong>Recommended framework:</strong> Django.</p><p>This project teaches you how to build database-driven business applications.</p><h3>Project 5: Job Application Tracker</h3><p>&lt;AsyncImage query=” job application tracking dashboard web app interface” aspectRatio=”16:9&quot; /&gt;</p><p>Build a dashboard that helps users organize their job applications.</p><p>Features:</p><ul><li>Save company names.</li><li>Record application dates.</li><li>Track application status.</li><li>Add interview notes.</li><li>Display application statistics.</li></ul><p><strong>Recommended framework:</strong> Django.</p><p>This is a practical project that demonstrates CRUD operations, user accounts, and dashboard design.</p><h3>7. Skills You Need Beyond FastAPI and Django</h3><p>Learning a framework is only one part of becoming a web developer.</p><p>To build applications that people can actually use, you should understand the technologies surrounding it.</p><p>Skill | Why it matters: HTML and CSS: Build the structure and appearance of web pages. JavaScript: Add interactive frontend functionality. HTTP and REST: Understand communication between clients and servers. SQL: Work with databases. Git and GitHub: Track and manage code changes. Authentication: Protect user accounts and application data. Testing: Find errors before deployment. Deployment: Make applications accessible online</p><p>You don’t need to master everything before building your first project.</p><p>Learn each skill as your application requires it.</p><h3>8. A Simple 30-Day Learning Roadmap</h3><p>If you’re starting with Python and want to move into web development, here’s a practical learning plan.</p><p>TimelineWhat to learnWhat to buildDays 1–5HTTP, JSON, APIs, requestsSimple APIDays 6–10FastAPI, routes, parametersTask management APIDays 11–15Database basics and SQLAPI connected to a databaseDays 16–20Authentication and validationUser login systemDays 21–25Django fundamentalsBasic CRUD applicationDays 26–30Testing and deploymentDeploy a complete project</p><p>By the end, aim to have at least two working projects on GitHub.</p><p>The goal isn’t to become an expert in 30 days. It’s to build enough practical experience to understand how real web applications work.</p><h3>Final Thoughts</h3><p>Python web development offers much more than creating simple websites.</p><p>With FastAPI, you can build modern APIs that connect applications, AI models, and databases.</p><p>With Django, you can develop complete business applications with authentication, database management, and administrative tools.</p><p>The best way to learn is to stop treating frameworks as something you only study and start using them to solve actual problems.</p><p>Choose one project, build its backend, connect a database, test the endpoints, and deploy it.</p><p><strong>Don’t just learn Python. Build something people can actually use with it.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e0b94f27628e" width="1" height="1" alt=""><hr><p><a href="https://levelup.gitconnected.com/web-development-with-python-build-apis-and-web-applications-using-fastapi-or-django-e0b94f27628e">Web Development with Python: Build APIs and Web Applications Using FastAPI or Django</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[Most Python Developers Ignore These Powerful Features]]></title>
            <link>https://medium.com/codetodeploy/most-python-developers-ignore-these-powerful-features-4a4adfb9050a?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/4a4adfb9050a</guid>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[python]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Sat, 07 Nov 2026 13:12:21 GMT</pubDate>
            <atom:updated>2026-11-07T16:17:52.640Z</atom:updated>
            <content:encoded><![CDATA[<p>Python is famous for being easy to learn. You can write a working script in a few minutes, automate repetitive tasks, and build applications without dealing with complicated syntax.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*UaXFbHLAVINwF5Nf" /><figcaption>Photo by <a href="https://unsplash.com/@glencarrie?utm_source=medium&amp;utm_medium=referral">Glen Carrie</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><blockquote><em>💥 </em><strong><em>Master AI &amp; Tech Skills </em></strong><br> 🔥 Up to 5<strong>0% OFF</strong> — Limited-Time Offer<br><a href="https://trk.udemy.com/zz4NBO"><em>👉 </em><strong><em>Enroll Now &amp; Start Learning</em></strong></a></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ITogvtC6mF2BUF35Qsd9pg.png" /></figure><p>But there is a difference between knowing Python and understanding what it can actually do.</p><p>Many developers spend years using the same familiar features: loops, lists, dictionaries, functions, and classes. Meanwhile, Python has powerful built-in tools that can make code shorter, cleaner, faster to debug, and easier to maintain.</p><p>The interesting part? You don’t always need another library to improve your code. Sometimes, the solution is already built into Python.</p><p>Here are 10 powerful Python features worth adding to your development toolkit.</p><h3>1. enumerate() — Stop Managing Indexes Manually</h3><p>Have you ever written something like this?</p><pre>names = [&quot;Ali&quot;, &quot;Sara&quot;, &quot;Ahmed&quot;]<br>for i in range(len(names)):<br>    print(i, names[i])</pre><p>It works, but Python offers a cleaner alternative.</p><pre>names = [&quot;Ali&quot;, &quot;Sara&quot;, &quot;Ahmed&quot;]</pre><pre>for index, name in enumerate(names):<br>    print(index, name)</pre><p>You get both the index and the value without manually accessing list positions.</p><p>You can even choose where counting starts:</p><pre>for index, name in enumerate(names, start=1):<br>    print(f&quot;{index}. {name}&quot;)</pre><p><strong>Why it matters:</strong> It makes loops easier to read and reduces unnecessary indexing.</p><h3>2. zip() — Process Multiple Lists Together</h3><p>Imagine you have two lists: employee names and their salaries.</p><pre>employees = [&quot;Ali&quot;, &quot;Sara&quot;, &quot;Ahmed&quot;]<br>salaries = [50000, 65000, 55000]</pre><p>Instead of accessing both lists through indexes, use zip():</p><pre>for employee, salary in zip(employees, salaries):<br>    print(f&quot;{employee}: Rs. {salary}&quot;)</pre><p>Output:</p><pre>Ali: Rs. 50000<br>Sara: Rs. 65000<br>Ahmed: Rs. 55000</pre><p>You can also create a dictionary:</p><pre>employee_data = dict(zip(employees, salaries))<br>print(employee_data)</pre><p>One important detail: zip() stops when the shortest iterable ends. If you need to handle unequal lengths, explore itertools.zip_longest().</p><p><strong>Why it matters:</strong> It simplifies working with related datasets, especially when processing spreadsheets, reports, and records.</p><h3>3. collections.Counter() — Count Anything Without Writing a Loop</h3><p>Counting repeated values is a common programming task.</p><p>For example, suppose you want to know which products appear most frequently in an order list.</p><p>The traditional approach involves creating a dictionary and updating counts manually.</p><p>Python already has a specialized tool for this.</p><pre>from collections import Counter<br>orders = [<br>    &quot;Laptop&quot;,<br>    &quot;Mouse&quot;,<br>    &quot;Laptop&quot;,<br>    &quot;Keyboard&quot;,<br>    &quot;Mouse&quot;,<br>    &quot;Laptop&quot;<br>]<br>counts = Counter(orders)<br>print(counts)<br>print(counts.most_common(2))</pre><p>Output:</p><pre>Counter({&#39;Laptop&#39;: 3, &#39;Mouse&#39;: 2, &#39;Keyboard&#39;: 1})<br>[(&#39;Laptop&#39;, 3), (&#39;Mouse&#39;, 2)]</pre><p>You can also count characters, words, categories, and other hashable values.</p><p><strong>Why it matters:</strong> It is particularly useful for data analysis, frequency reports, text processing, and inventory summaries.</p><h3>4. pathlib — Work With File Paths Properly</h3><p>Many developers still use basic string concatenation to create file paths.</p><pre>file_path = &quot;reports/&quot; + &quot;sales.xlsx&quot;</pre><p>This can become inconvenient when working across different operating systems.</p><p>Python’s pathlib provides an object-oriented way to manage paths.</p><pre>from pathlib import Path<br>folder = Path(&quot;reports&quot;)<br>file_path = folder / &quot;sales.xlsx&quot;<br>print(file_path)<br>print(file_path.exists())</pre><p>You can also create directories:</p><pre>folder.mkdir(parents=True, exist_ok=True)</pre><p>Find all Excel files:</p><pre>for file in folder.glob(&quot;*.xlsx&quot;):<br>    print(file.name)</pre><p><strong>Why it matters:</strong> It makes file handling cleaner and more portable, especially in automation projects.</p><h3>5. defaultdict() — Avoid Repeated Dictionary Checks</h3><p>Suppose you want to group employees by department.</p><p>A normal dictionary requires checking whether a key already exists.</p><pre>employees = [<br>    (&quot;Ali&quot;, &quot;Finance&quot;),<br>    (&quot;Sara&quot;, &quot;HR&quot;),<br>    (&quot;Ahmed&quot;, &quot;Finance&quot;)<br>]</pre><p>Using defaultdict, you can simplify the process:</p><pre>from collections import defaultdict<br>departments = defaultdict(list)<br>for name, department in employees:<br>    departments[department].append(name)<br>print(dict(departments))</pre><p>Output:</p><pre>{<br>    &#39;Finance&#39;: [&#39;Ali&#39;, &#39;Ahmed&#39;],<br>    &#39;HR&#39;: [&#39;Sara&#39;]<br>}</pre><p>The dictionary automatically creates an empty list whenever a new department appears.</p><p><strong>Why it matters:</strong> It is useful for grouping records, organizing datasets, building lookup structures, and processing large collections of information.</p><h3>6. functools.lru_cache() — Stop Repeating Expensive Calculations</h3><p>Imagine a function that performs the same expensive calculation multiple times.</p><p>Why calculate the same result again when you can store it?</p><p>Python provides lru_cache for this purpose.</p><pre>from functools import lru_cache<br>@lru_cache(maxsize=128)<br>def fibonacci(n):<br>    if n &lt; 2:<br>        return n<br>    return fibonacci(n - 1) + fibonacci(n - 2)<br>print(fibonacci(30))</pre><p>The decorator remembers previous results and reuses them when the same arguments appear again.</p><p>You can inspect its cache statistics:</p><pre>print(fibonacci.cache_info())</pre><p><strong>Why it matters:</strong> Caching can significantly improve repeated calculations and reduce unnecessary work.</p><p>One limitation: function arguments must be hashable, and cached results should remain valid for the inputs being reused. If the function depends on changing external data, caching needs extra care.</p><h3>7. contextlib — Manage Resources Without Messy Cleanup</h3><p>When working with files, database connections, or other resources, proper cleanup matters.</p><p>Python’s with statement makes resource management easier.</p><p>You probably already use it with files:</p><pre>with open(&quot;data.txt&quot;, &quot;r&quot;) as file:<br>    content = file.read()</pre><p>But you can create your own context managers using contextlib.</p><pre>from contextlib import contextmanager<br>@contextmanager<br>def managed_resource():<br>    print(&quot;Opening resource&quot;)<br>    try:<br>        yield<br>    finally:<br>        print(&quot;Closing resource&quot;)<br>with managed_resource():<br>    print(&quot;Using resource&quot;)</pre><p>Output:</p><pre>Opening resource<br>Using resource<br>Closing resource</pre><p>The finally block runs when the context exits, including when an exception occurs.</p><p><strong>Why it matters:</strong> It helps developers manage setup and cleanup consistently without repeating boilerplate code.</p><h3>8. itertools Handle Iteration More Efficiently</h3><p>Python loops are useful, but sometimes you need more advanced ways to process sequences.</p><p>The itertools module provides tools designed specifically for iteration.</p><p>For example, chain() combines multiple iterables:</p><pre>from itertools import chain<br>group_a = [1, 2, 3]<br>group_b = [4, 5, 6]<br>combined = chain(group_a, group_b)<br>for item in combined:<br>    print(item)</pre><p>You can also use islice() to retrieve a specific portion of an iterable:</p><pre>from itertools import islice<br>numbers = range(1000000)<br>first_five = list(islice(numbers, 5))<br>print(first_five)</pre><p>Unlike creating a complete list first, islice() works directly with the iterable.</p><p><strong>Why it matters:</strong> These tools are valuable when processing large datasets, generating combinations, or working with data streams.</p><h3>9. dataclasses — Write Cleaner Data Models</h3><p>Sometimes, you need a class whose main purpose is to store information.</p><p>Writing constructors and other repetitive methods manually can make these classes unnecessarily long.</p><p>Python’s dataclasses module handles much of that work.</p><pre>from dataclasses import dataclass<br>@dataclass<br>class Employee:<br>    name: str<br>    department: str<br>    salary: int<br>employee = Employee(<br>    name=&quot;Sara&quot;,<br>    department=&quot;Finance&quot;,<br>    salary=65000<br>)<br>print(employee)</pre><p>Python automatically generates useful methods, including an initializer and a readable representation.</p><p>You can also create immutable instances:</p><pre>@dataclass(frozen=True)<br>class Product:<br>    name: str<br>    price: float</pre><p>With frozen=True, normal attribute reassignment is prevented.</p><p><strong>Why it matters:</strong> Dataclasses make data-heavy applications easier to structure and maintain.</p><h3>10. breakpoint() — Debug Code Without Guesswork</h3><p>Printing variables is one of the oldest debugging techniques.</p><pre>print(user_data)<br>print(total_amount)<br>print(status)</pre><p>It works, but repeatedly adding and removing print statements gets annoying.</p><p>Python provides a built-in debugging shortcut:</p><pre>def calculate_total(prices):<br>    total = sum(prices)<br>breakpoint()<br>    return total</pre><p>When execution reaches breakpoint(), Python enters its debugger.</p><p>You can inspect variables, execute expressions, and move through the code.</p><p>Useful debugger commands include:</p><ul><li>n — Execute the next line.</li><li>s — Step into a function.</li><li>c — Continue execution.</li><li>p variable — Print a variable&#39;s value.</li><li>q — Quit the debugger.</li></ul><p><strong>Why it matters:</strong> Debugging becomes more systematic because you can investigate what your program is doing at a specific point.</p><h3>Bonus: __slots__ — Control Instance Attributes</h3><p>This feature is less common in everyday Python code, but it can be useful when creating many instances of a class.</p><p>Normally, Python instances commonly store attributes in an instance dictionary.</p><p>Using __slots__, you can declare the permitted instance attributes:</p><pre>class Employee:<br>    __slots__ = (&quot;name&quot;, &quot;department&quot;)<br>def __init__(self, name, department):<br>        self.name = name<br>        self.department = department<br>employee = Employee(&quot;Ali&quot;, &quot;Finance&quot;)</pre><p>This can reduce per-instance memory usage in suitable classes and prevents adding undeclared attributes.</p><p>However, it introduces restrictions and may affect inheritance and other class behavior. Use it when profiling shows a genuine benefit, not just because it looks advanced.</p><h3>Which Features Should You Learn First?</h3><p>You don’t need to memorize everything at once. Start with features that solve problems you encounter regularly.</p><p>FeatureBest useenumerate()Cleaner loopszip()Combining related datasetsCounter()Counting repeated valuespathlibFile automationdefaultdict()Grouping recordslru_cache()Avoiding repeated calculationscontextlibResource managementitertoolsEfficient iterationdataclassesCleaner data modelsbreakpoint()Debugging__slots__Memory-conscious classes</p><h3>Final Thoughts</h3><p>Becoming a better Python developer doesn’t always mean learning a new framework, installing another library, or writing more complicated code.</p><p>Sometimes, it means discovering that Python already has a better solution for something you have been doing manually.</p><p>Start with three features: pathlib, Counter, and lru_cache. Try them in a real project rather than simply reading their documentation.</p><p>Then gradually explore the others.</p><p>The goal isn’t to use every Python feature you discover. It’s to recognize the right tool when a problem appears.</p><p><strong>Good developers know how to write code. Great developers know when Python has already solved the problem for them.</strong></p><h3>Thank you for being a part of the community</h3><p><em>Before you go:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d9QTaaaxboQP_gKSLedW_w.png" /></figure><p>👉 Be sure to <strong>clap</strong> and <strong>follow</strong> the writer ️👏<strong>️️</strong></p><p>👉 Follow us: <a href="https://medium.com/codetodeploy"><strong>Medium</strong></a></p><p><strong>Disclosure:</strong> This post includes affiliate and partnership links.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4a4adfb9050a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/most-python-developers-ignore-these-powerful-features-4a4adfb9050a">Most Python Developers Ignore These Powerful Features</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[7 pytest Features That Make Automated Testing Much Easier]]></title>
            <link>https://medium.com/codetodeploy/7-pytest-features-that-make-automated-testing-much-easier-b12894db0efc?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/b12894db0efc</guid>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[python-programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Sat, 07 Nov 2026 13:01:32 GMT</pubDate>
            <atom:updated>2026-11-07T16:23:09.732Z</atom:updated>
            <content:encoded><![CDATA[<p>Writing Python code is one thing. Making sure it continues working after every change is another.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xk7qKU3rsZC8bIVZ" /><figcaption>Photo by <a href="https://unsplash.com/@thisisengineering?utm_source=medium&amp;utm_medium=referral">ThisisEngineering</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>You might fix one bug and accidentally introduce two more. A function that worked yesterday might fail after a small update. And manually checking every feature whenever you change something quickly becomes exhausting.</p><blockquote><em>💥 </em><strong><em>Master AI &amp; Tech Skills </em></strong><br> 🔥 Up to 5<strong>0% OFF</strong> — Limited-Time Offer<br><a href="https://trk.udemy.com/zz4NBO"><em>👉 </em><strong><em>Enroll Now &amp; Start Learning</em></strong></a></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ITogvtC6mF2BUF35Qsd9pg.png" /></figure><p>That’s why automated testing matters.</p><p>Python has a powerful testing framework called pytest. It makes writing, running, and maintaining tests much easier without forcing you to write complicated testing code.</p><p>But many developers only use its basic features.</p><p>There are several pytest features that can make your testing workflow cleaner, faster, and more reliable.</p><p>Here are seven worth learning.</p><h3>1. Parametrize Tests: Multiple Inputs Without Repeating Code</h3><p>Imagine you have a function that adds two numbers.</p><p>You want to test it with several different inputs.</p><p>One approach is to write separate tests:</p><pre>def test_add_positive_numbers():<br>    assert add(2, 3) == 5<br>def test_add_negative_numbers():<br>    assert add(-2, -3) == -5<br>def test_add_zero():<br>    assert add(0, 5) == 5</pre><p>This works, but it creates unnecessary repetition.</p><p>pytest provides @pytest.mark.parametrize to test multiple input combinations using one function.</p><pre>import pytest<br>def add(a, b):<br>    return a + b<br>@pytest.mark.parametrize(<br>    &quot;a, b, expected&quot;,<br>    [<br>        (2, 3, 5),<br>        (-2, -3, -5),<br>        (0, 5, 5),<br>        (10, 20, 30)<br>    ]<br>)<br>def test_add(a, b, expected):<br>    assert add(a, b) == expected</pre><p>pytest runs the same test with every combination.</p><p><strong>Why it’s useful:</strong> You can test normal inputs, edge cases, and unusual values without writing separate test functions for each scenario.</p><p>This is particularly useful when testing calculations, data transformations, and API validation.</p><h3>2. Fixtures Reuse Setup Code Across Tests</h3><p>Some tests require preparation before they can run.</p><p>For example, imagine testing a function that processes customer information.</p><p>Every test needs the same sample customer data.</p><p>You could create the data inside every test, but that becomes repetitive.</p><p>Fixtures solve this problem.</p><pre>import pytest<br>@pytest.fixture<br>def customer():<br>    return {<br>        &quot;name&quot;: &quot;Alex&quot;,<br>        &quot;email&quot;: &quot;alex@example.com&quot;,<br>        &quot;age&quot;: 25<br>    }<br>def test_customer_name(customer):<br>    assert customer[&quot;name&quot;] == &quot;Alex&quot;<br>def test_customer_email(customer):<br>    assert customer[&quot;email&quot;] == &quot;alex@example.com&quot;<br>def test_customer_age(customer):<br>    assert customer[&quot;age&quot;] == 25</pre><p>pytest automatically provides the fixture when a test requests it as an argument.</p><p>Fixtures can also prepare database connections, temporary files, test clients, and other resources.</p><p><strong>Why it’s useful:</strong> Avoid duplicated setup code and keep tests organized.</p><p>One particularly useful feature is fixture scope. You can control whether a fixture runs once per test function, class, module, or entire test session.</p><h3>3. tmp_path Test Files Without Creating Messy Folders</h3><p>Testing file-related functionality can be annoying.</p><p>Suppose your application creates a report and saves it to disk.</p><p>You want to verify that the file is generated correctly, but you don’t want every test to leave unnecessary files in your project folder.</p><p>pytest provides the built-in tmp_path fixture.</p><pre>def save_report(path):<br>    path.write_text(&quot;Monthly report completed&quot;)<br>def test_save_report(tmp_path):<br>    report = tmp_path / &quot;report.txt&quot;<br>    save_report(report)<br>    assert report.exists()<br>    assert report.read_text() == &quot;Monthly report completed&quot;</pre><p>pytest creates a temporary directory for the test.</p><p>You can write files inside it, inspect them, and avoid manually cleaning up your project directory.</p><p><strong>Why it’s useful:</strong> Perfect for testing file uploads, report generators, document processors, and file automation scripts.</p><h3>4. monkeypatch Replace Real Dependencies During Testing</h3><p>Imagine your application retrieves information from an external API.</p><p>You want to test your function without making a real network request every time.</p><p>You could manually change the function or modify your application code.</p><p>But pytest provides monkeypatch, which allows you to temporarily replace attributes, environment variables, and other dependencies.</p><p>Consider this example:</p><pre>import pytest<br>def get_username():<br>    return &quot;Real User&quot;<br>def test_get_username(monkeypatch):<br>    def fake_username():<br>        return &quot;Test User&quot;<br>    monkeypatch.setattr(<br>        __import__(__name__),<br>        &quot;get_username&quot;,<br>        fake_username<br>    )<br>    assert get_username() == &quot;Test User&quot;</pre><p>The original function is replaced during the test.</p><p>pytest restores the change automatically after the test finishes.</p><p>You can also use monkeypatch to modify environment variables:</p><pre>def test_api_key(monkeypatch):<br>    monkeypatch.setenv(<br>        &quot;API_KEY&quot;,<br>        &quot;test-secret&quot;<br>    import os<br>    assert os.getenv(&quot;API_KEY&quot;) == &quot;test-secret&quot;</pre><p><strong>Why it’s useful:</strong> Test code without depending on external services, real credentials, or specific machine configurations.</p><p>For more complex applications, dedicated mocking tools such as unittest. mock are also worth learning.</p><h3>5. pytest.raises()Make Sure Errors Are Handled Correctly</h3><p>Good testing isn’t only about checking whether code works.</p><p>You also need to check whether it fails correctly.</p><p>Imagine a function that divides two numbers.</p><p>Dividing by zero should raise an error.</p><pre>def divide(a, b):<br>    return a / b</pre><p>You can test the expected exception using pytest.raises().</p><pre>import pytest<br>def test_divide_by_zero():<br>    with pytest.raises(ZeroDivisionError):<br>        divide(10, 0)</pre><p>You can even inspect the exception message:</p><pre>def test_invalid_age():<br>    with pytest.raises(<br>        ValueError,<br>        match=&quot;Age cannot be negative&quot;<br>    ):<br>        validate_age(-5)</pre><p>This assumes validate_age() raises a ValueError with that message.</p><p><strong>Why it’s useful:</strong> Verify error handling, input validation, and unexpected conditions instead of only testing successful scenarios.</p><h3>6. Markers Organize Tests Into Different Categories</h3><p>As a project grows, running every test after every small change can become time-consuming.</p><p>You might have:</p><ul><li>Fast unit tests.</li><li>Slow integration tests.</li><li>Database tests</li><li>Tests that require external services.</li></ul><p>pytest markers let you categorize tests.</p><p>For example:</p><pre>import pytest<br>@pytest.mark.slow<br>def test_large_data_processing():<br>    assert sum(range(100000)) == 4999950000<br>@pytest.mark.integration<br>def test_database_connection():<br>    assert True<br>def test_basic_calculation():<br>    assert 2 + 2 == 4</pre><p>You can run only the slow tests:</p><pre>pytest -m slow</pre><p>Or exclude them:</p><pre>pytest -m &quot;not slow&quot;</pre><p>For custom markers, register them in your pytest.ini file:</p><pre>[pytest]<br>markers =<br>    slow: tests that take longer to run<br>    integration: tests involving integrated components</pre><p><strong>Why it’s useful:</strong> Keep large test suites organized and choose which tests to run based on your development workflow.</p><h3>7. pytest-cov: Find Out Which Code Your Tests Actually Cover</h3><p>You might have 50 passing tests and still have important parts of your application that nobody has tested.</p><p>Passing tests don’t automatically mean your application is thoroughly tested.</p><p>Code coverage helps you understand which lines of code were executed during testing.</p><p>Install the coverage plugin:</p><pre>pip install pytest-cov</pre><p>Run:</p><pre>pytest --cov=my_project</pre><p>You can also generate a detailed report:</p><pre>pytest --cov=my_project --cov-report=term-missing</pre><p>This shows which lines were not executed during the tests.</p><p>For an HTML report:</p><pre>pytest --cov=my_project --cov-report=html</pre><p>pytest-cov creates an HTML coverage report that you can open in your browser.</p><p><strong>Why it’s useful:</strong> Identify untested sections of your application and make more informed decisions about where additional tests are needed.</p><p>Remember that high code coverage doesn’t guarantee good tests. A test can execute a line without actually checking whether the behavior is correct.</p><h3>Bonus: Make pytest Run Automatically</h3><p>Writing tests is useful, but remembering to run them after every change is another problem.</p><p>You can connect pytest to GitHub Actions so your tests run automatically whenever you push code or open a pull request.</p><p>Create this file:</p><p>.github/workflows/tests.yml</p><pre>name: Python Tests<br>push:<br>  pull_request:<br>jobs:<br>  test:<br>    runs-on: ubuntu-latest<br>    steps:<br>      - name: Checkout code<br>        uses: actions/checkout@v4<br>      - name: Set up Python<br>        uses: actions/setup-python@v5<br>        with:<br>          python-version: &quot;3.12&quot;<br>      - name: Install dependencies<br>        run: |<br>          python -m pip install --upgrade pip<br>          pip install pytest<br>          pip install -e .<br>      - name: Run tests<br>        run: pytest</pre><p>This example assumes your project supports installation with pip install -e . and declares its dependencies appropriately.</p><p>Now your tests can run automatically whenever code changes are pushed.</p><p>You can catch problems before they reach your main branch.</p><h3>A Practical pytest Project Structure</h3><p>As your project grows, keeping tests organized becomes important.</p><p>A simple structure might look like this:</p><pre>my_project/<br>│<br>├── app/<br>│   ├── __init__.py<br>│   ├── calculations.py<br>│   └── users.py<br>│<br>├── tests/<br>│   ├── conftest.py<br>│   ├── test_calculations.py<br>│   └── test_users.py<br>│<br>├── pytest.ini<br>└── pyproject.toml</pre><p>Keep your application code separate from your test code.</p><p>You can place shared fixtures inside conftest.py, making them available to tests in the relevant directory.</p><p>Run the complete test suite with:</p><pre>pytest</pre><p>That’s all you need to get started.</p><h3>Which pytest Features Should You Learn First?</h3><p>FeatureBest forParametrizeTesting multiple inputs Fixtures Reusingsetup codetmp_pathTesting file operationsmonkeypatchReplacing dependenciespytest.raises()Testing expected errors Markers Organizing test suitespytest-covMeasuring code coverage</p><p>You don’t need to use every feature in every project.</p><p>Start with fixtures and parametrization, then introduce the others when your testing requirements become more complex.</p><h3>Final Thoughts</h3><p>Automated testing isn’t just about finding bugs.</p><p>It’s about making changes with confidence.</p><p>When your tests cover important behavior, you can refactor code, introduce new features, and update dependencies without manually checking everything from scratch.</p><p>pytest makes that process much easier.</p><p>The best part is that you don’t need a huge testing framework to get started. A few well-written tests can already prevent frustrating mistakes.</p><p><strong>Write code that works. Then write tests that make sure it keeps working.</strong></p><h3>Thank you for being a part of the community</h3><p><em>Before you go:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d9QTaaaxboQP_gKSLedW_w.png" /></figure><p>👉 Be sure to <strong>clap</strong> and <strong>follow</strong> the writer ️👏<strong>️️</strong></p><p>👉 Follow us: <a href="https://medium.com/codetodeploy"><strong>Medium</strong></a></p><p><strong>Disclosure:</strong> This post includes affiliate and partnership links.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b12894db0efc" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/7-pytest-features-that-make-automated-testing-much-easier-b12894db0efc">7 pytest Features That Make Automated Testing Much Easier</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[These 8 AI Skills Could Open New Career Opportunities in 2027]]></title>
            <link>https://medium.com/codetodeploy/these-8-ai-skills-could-open-new-career-opportunities-in-2027-a910fed6ea2d?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/a910fed6ea2d</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Fri, 06 Nov 2026 15:30:04 GMT</pubDate>
            <atom:updated>2026-11-07T16:53:09.563Z</atom:updated>
            <content:encoded><![CDATA[<p>AI is changing the way companies hire, build products, manage information, and serve customers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*a3bxlsmB_OTn6eVx" /><figcaption>Photo by <a href="https://unsplash.com/@jolin974658?utm_source=medium&amp;utm_medium=referral">Jo Lin</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><blockquote><em>💥 </em><strong><em>Master AI &amp; Tech Skills </em></strong><br> 🔥 Up to 5<strong>0% OFF</strong> — Limited-Time Offer<br><a href="https://trk.udemy.com/zz4NBO"><em>👉 </em><strong><em>Enroll Now &amp; Start Learning</em></strong></a></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ITogvtC6mF2BUF35Qsd9pg.png" /></figure><p>But here’s something worth understanding: companies don’t simply need people who know how to use ChatGPT.</p><p>They need people who can use AI to solve business problems, automate processes, analyze information, build applications, and make existing systems more efficient.</p><p>That’s creating opportunities for people with different backgrounds.</p><p>You don’t necessarily need a computer science degree to enter the AI space. Depending on the role, a combination of technical knowledge, business understanding, and practical projects can be a strong starting point.</p><p>If you’re preparing for the job market in 2027, these are eight AI skills worth developing.</p><h3>1. AI Workflow Automation</h3><p>&lt;badge color=”success”&gt;High practical value&lt;/badge&gt;</p><p>Businesses perform hundreds of repetitive tasks every day.</p><p>Employees process forms, respond to emails, update spreadsheets, organize customer information, and prepare reports.</p><p>AI workflow automation connects different applications and reduces the amount of manual work involved.</p><p>Imagine a company receiving customer inquiries through its website.</p><p>An automated workflow could:</p><ol><li>Receive a new inquiry.</li><li>Use AI to understand the message.</li><li>Categorize it by topic.</li><li>Add the information to a CRM.</li><li>Notify the appropriate employee.</li></ol><p>Instead of manually processing every inquiry, employees can focus on tasks requiring human judgment.</p><p><strong>Tools to learn:</strong></p><ul><li>n8n</li><li>Make</li><li>Zapier</li><li>Python</li><li>APIs</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>AI Automation Specialist</li><li>Workflow Automation Developer</li><li>Business Process Automation Analyst</li></ul><p><strong>Portfolio project:</strong> Build an automated customer inquiry management system that categorizes messages and records them in a spreadsheet.</p><h3>2. AI Application Development</h3><p>Using an AI chatbot is one thing. Building an application powered by AI is another.</p><p>Companies increasingly need applications that integrate language models into existing products and workflows.</p><p>For example, you could build:</p><ul><li>An AI-powered document assistant.</li><li>A customer support application.</li><li>A product recommendation system.</li><li>An intelligent email summarizer.</li><li>An AI-powered research tool.</li></ul><p>Python is a particularly useful starting point.</p><p><strong>Tools to learn:</strong></p><ul><li>Python</li><li>OpenAI API</li><li>Anthropic API</li><li>FastAPI</li><li>Streamlit</li><li>Git and GitHub</li></ul><p>You should also understand API requests, JSON, authentication, and error handling.</p><p><strong>Potential career opportunities:</strong></p><ul><li>AI Application Developer</li><li>Junior AI Engineer</li><li>Python Developer</li><li>AI Software Developer</li></ul><p><strong>Portfolio project:</strong> Create an application that allows users to upload a PDF and ask questions about its contents.</p><h3>3. AI Data Analysis</h3><p>Companies have plenty of data.</p><p>The challenge is turning that data into information that supports better decisions.</p><p>AI can help analysts clean datasets, identify patterns, summarize results, and communicate findings.</p><p>Imagine a retail company with thousands of sales transactions.</p><p>An analyst could use Python and AI tools to identify:</p><ul><li>Best-performing products.</li><li>Monthly sales patterns.</li><li>Unusual transactions.</li><li>Customer purchasing trends.</li><li>Areas where revenue is declining.</li></ul><p>However, AI-generated insights still need verification. Understanding statistics, business context, and data quality remains essential.</p><p><strong>Tools to learn:</strong></p><ul><li>Excel</li><li>SQL</li><li>Python</li><li>Pandas</li><li>Power BI</li><li>AI-assisted data analysis tools</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>Data Analyst</li><li>Business Intelligence Analyst</li><li>AI Data Analyst</li><li>Business Analyst</li></ul><p><strong>Portfolio project:</strong> Build a sales analysis dashboard that identifies trends and explains important business findings.</p><h3>4. Retrieval-Augmented Generation (RAG)</h3><p>Companies have internal information stored across thousands of documents.</p><p>Employees may need to search through policies, reports, contracts, product manuals, and other files to find specific answers.</p><p>RAG helps AI applications retrieve relevant information from external knowledge sources before generating responses.</p><p>For example, an employee could ask:</p><p>“What is our company’s refund policy?”</p><p>Instead of relying only on a model’s general knowledge, a RAG application searches the company’s approved documents and uses relevant information to answer.</p><p>The basic workflow involves:</p><ol><li>Extracting information from documents.</li><li>Splitting documents into smaller sections.</li><li>Creating embeddings.</li><li>Storing information in a searchable database.</li><li>Retrieving relevant content.</li><li>Generating an answer based on that content.</li></ol><p><strong>Tools to learn:</strong></p><ul><li>LangChain</li><li>LlamaIndex</li><li>FAISS</li><li>Chroma</li><li>PostgreSQL with pgvector</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>RAG Developer</li><li>AI Application Engineer</li><li>Knowledge Management Specialist</li><li>Generative AI Developer</li></ul><p><strong>Portfolio project:</strong> Build an internal knowledge assistant that answers questions using a collection of company documents and provides source references.</p><h3>5. AI Agents and Agentic Workflows</h3><p>Traditional automation follows predefined instructions.</p><p>AI agents can use models and tools to work through more flexible, multi-step tasks.</p><p>For example, an AI research assistant could:</p><ol><li>Receive a research question.</li><li>Search approved sources.</li><li>Collect relevant information.</li><li>Compare findings.</li><li>Organize the results.</li><li>Prepare a report for human review.</li></ol><p>This is more than generating a response to a single prompt.</p><p>It involves planning, tool usage, information retrieval, and managing task execution.</p><p><strong>Tools to learn:</strong></p><ul><li>LangGraph</li><li>OpenAI API</li><li>Anthropic API</li><li>LlamaIndex</li><li>Python</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>AI Agent Developer</li><li>AI Automation Engineer</li><li>Generative AI Engineer</li><li>AI Solutions Developer</li></ul><p><strong>Portfolio project:</strong> Build an AI research assistant that gathers information from approved sources and creates structured reports with citations.</p><p>Remember that agents can make mistakes. Learn how to control tool permissions, limit actions, and introduce human approval before consequential operations.</p><h3>6. AI Testing and Evaluation</h3><p>One of the biggest challenges with AI applications is reliability.</p><p>An AI system might produce a correct answer today and a completely different answer tomorrow.</p><p>It might misunderstand a question, invent information, or fail when given an unusual input.</p><p>Companies need people who can test these systems before they reach customers.</p><p>Learn how to evaluate:</p><ul><li>Accuracy.</li><li>Relevance.</li><li>Consistency.</li><li>Hallucinations.</li><li>Response time.</li><li>Cost.</li><li>Performance across different inputs.</li></ul><p><strong>Tools to learn:</strong></p><ul><li>pytest</li><li>DeepEval</li><li>Ragas</li><li>Promptfoo</li><li>GitHub Actions</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>AI Quality Assurance Engineer</li><li>AI Evaluation Specialist</li><li>Software QA Engineer</li><li>AI Testing Engineer</li></ul><p><strong>Portfolio project:</strong> Create a testing framework that evaluates an AI chatbot using a dataset of questions and expected answers.</p><h3>7. AI Security and Governance</h3><p>AI introduces new security and privacy challenges.</p><p>An application might expose sensitive information, follow malicious instructions hidden in documents, or allow unauthorized users to access information.</p><p>Organizations need to understand these risks before deploying AI systems.</p><p>Important topics include:</p><ul><li>Prompt injection.</li><li>Data privacy.</li><li>Secure API key management.</li><li>Access control.</li><li>Sensitive information protection.</li><li>AI output validation.</li><li>Human oversight.</li><li>Responsible AI practices.</li></ul><p><strong>Tools and resources to explore:</strong></p><ul><li>OWASP guidance for LLM applications</li><li>Python</li><li>Git</li><li>Security testing tools</li><li>AI governance frameworks</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>AI Security Analyst</li><li>AI Governance Analyst</li><li>Cybersecurity Analyst</li><li>AI Risk and Compliance Specialist</li></ul><p><strong>Portfolio project:</strong> Perform a security assessment of a sample AI chatbot and document potential vulnerabilities, risks, and recommended controls.</p><h3>8. AI Product Management</h3><p>Not every valuable AI career requires writing code all day.</p><p>Someone also needs to decide what AI products should be built, which problems they should solve, and whether customers actually need them.</p><p>That’s where AI product management comes in.</p><p>Imagine a company wants to introduce an AI-powered customer support application.</p><p>An AI product manager might:</p><ol><li>Research customer problems.</li><li>Identify opportunities for AI.</li><li>Define product requirements.</li><li>Coordinate with developers and designers.</li><li>Evaluate the product’s performance.</li><li>Collect feedback and prioritize improvements.</li></ol><p>The key is understanding both technology and business.</p><p><strong>Skills to develop:</strong></p><ul><li>Product research.</li><li>Market analysis.</li><li>Business communication.</li><li>Requirements gathering.</li><li>User experience.</li><li>AI fundamentals.</li><li>Product analytics.</li></ul><p><strong>Potential career opportunities:</strong></p><ul><li>AI Product Manager</li><li>Associate Product Manager</li><li>AI Business Analyst</li><li>AI Product Operations Specialist</li></ul><p><strong>Portfolio project:</strong> Prepare a product proposal for an AI tool that solves a specific problem for small businesses, including its target audience, features, business model, and MVP plan.</p><h3>Which AI Skill Should You Learn First?</h3><p>Not every career requires the same technical background.</p><p>Your starting point should depend on the kind of work you enjoy.</p><p>If you enjoy…Start with…Automating repetitive work AI workflow automation; Building software; AI application development Working with numbers AI data analysis; Working with documents RAG Solving complex technical problems: AI agents; Finding errors and improving qualityAI testingSecurity and risk managementAI securityBusiness strategy and planningAI product management</p><h3>A Practical 90-Day AI Learning Roadmap</h3><p>You don’t need to master all eight skills in three months.</p><p>Instead, choose one primary direction and build a project around it.</p><p>&lt;box border radius=”lg” gap={3} padding={3}&gt;<br> **Month 1 — Build your foundation**</p><ul><li>Learn basic AI concepts.</li><li>Understand how AI APIs work.</li><li>Practice Python or a no-code automation platform.</li><li>Explore real business use cases.</li></ul><p>&lt;divider color=”subtle”/&gt;<br> **Month 2 — Develop a practical skill**</p><ul><li>Choose one specialization.</li><li>Follow a structured learning path.</li><li>Build a small working application or workflow.</li><li>Test it with different inputs.</li></ul><p>&lt;divider color=”subtle”/&gt;<br> **Month 3 — Build your portfolio**</p><ul><li>Complete one useful project.</li><li>Document the problem and your solution.</li><li>Upload your code or project documentation.</li><li>Create a short demonstration.</li></ul><h3>What Employers Actually Want to See</h3><p>Knowing the names of AI tools is not enough.</p><p>A certificate might show that you completed a course, but a working project demonstrates that you can apply what you learned.</p><p>For every project, explain four things:</p><p>Question: What to demonstrate: What problem did you identify? A real user or business problem. What did you build? A working AI-powered solution. How does it work?Tools, workflow, and technical approach. What value does it provide? Time saved, errors reduced, or better decisions</p><p>You don’t need ten projects.</p><p>Two or three well-documented projects that solve specific problems can be more convincing than a portfolio full of unfinished experiments.</p><h3>Final Thoughts</h3><p>AI is creating opportunities across software development, data analysis, automation, cybersecurity, and business management.</p><p>But learning every new AI tool is not a career strategy.</p><p>Choose a direction. Understand the underlying skills. Build something useful. Learn how to evaluate your work.</p><p>And don’t ignore the skills that make you valuable beyond AI: communication, critical thinking, problem-solving, and business understanding.</p><p><strong>The goal for 2027 shouldn’t be to become someone who simply knows how to use AI. It should be to become someone who knows how to use AI to solve problems that matter.</strong></p><h3>Thank you for being a part of the community</h3><p><em>Before you go:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d9QTaaaxboQP_gKSLedW_w.png" /></figure><p>👉 Be sure to <strong>clap</strong> and <strong>follow</strong> the writer ️👏<strong>️️</strong></p><p>👉 Follow us: <a href="https://medium.com/codetodeploy"><strong>Medium</strong></a></p><p><strong>Disclosure:</strong> This post includes affiliate and partnership links.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a910fed6ea2d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/these-8-ai-skills-could-open-new-career-opportunities-in-2027-a910fed6ea2d">These 8 AI Skills Could Open New Career Opportunities in 2027</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Forget Prompt Engineering. Learn These AI Skills Before 2027]]></title>
            <link>https://medium.com/codetodeploy/forget-prompt-engineering-learn-these-ai-skills-before-2027-0eaffdd8973e?source=rss-0832601780a9------2</link>
            <guid isPermaLink="false">https://medium.com/p/0eaffdd8973e</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <dc:creator><![CDATA[Arfa]]></dc:creator>
            <pubDate>Fri, 06 Nov 2026 15:09:31 GMT</pubDate>
            <atom:updated>2026-11-07T16:31:55.145Z</atom:updated>
            <content:encoded><![CDATA[<p>A year ago, knowing how to write a good prompt felt like a competitive advantage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CdLMG--n1Av3xtq9" /><figcaption>Photo by <a href="https://unsplash.com/@jeswinthomas?utm_source=medium&amp;utm_medium=referral">Jeswin Thomas</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>People were sharing prompt templates, selling prompt packs, and teaching others how to get better answers from ChatGPT.</p><blockquote><em>💥 </em><strong><em>Master AI &amp; Tech Skills </em></strong><br> 🔥 Up to 5<strong>0% OFF</strong> — Limited-Time Offer<br><a href="https://trk.udemy.com/zz4NBO"><em>👉 </em><strong><em>Enroll Now &amp; Start Learning</em></strong></a></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ITogvtC6mF2BUF35Qsd9pg.png" /></figure><p>But AI is moving quickly.</p><p>Today’s tools can understand longer instructions, work with files, use external tools, write code, and complete multi-step tasks. Simply knowing how to phrase a question is becoming less impressive.</p><p>That doesn’t mean prompting is useless. It means <strong>prompting alone is no longer enough.</strong></p><p>The next advantage belongs to people who understand how to build with AI, connect it to real workflows, evaluate its output, and solve problems that businesses actually have.</p><p>If I were preparing for the AI job market before 2027, these are the 10 skills I would prioritize.</p><h3>1. AI Workflow Automation</h3><p>One of the biggest opportunities in AI is connecting different tools so that work happens automatically.</p><p>Imagine a business receiving 100 customer inquiries every day.</p><p>Someone has to read each message, identify the customer’s problem, categorize it, and send it to the right department.</p><p>An AI-powered workflow can handle much of this process.</p><p>For example:</p><ol><li>A customer submits a form.</li><li>AI reads the message.</li><li>The system identifies its category.</li><li>The inquiry is added to a spreadsheet or CRM.</li><li>The appropriate team receives a notification.</li></ol><p>Tools worth exploring:</p><ul><li><strong>n8n:</strong> Build visual automation workflows.</li><li><strong>Make:</strong> Connect applications and automate processes.</li><li><strong>Zapier:</strong> Automate tasks across business applications.</li><li><strong>Python:</strong> Build custom automation logic.</li></ul><p>The important skill isn’t learning every automation platform.</p><p>It’s learning how to identify repetitive business processes and turn them into reliable workflows.</p><h3>2. Building AI Agents</h3><p>Chatbots respond to questions.</p><p>AI agents can go further by using tools, retrieving information, and performing multi-step tasks within defined permissions.</p><p>For example, imagine an AI research assistant that can:</p><ul><li>Search approved information sources.</li><li>Extract relevant details.</li><li>Compare findings.</li><li>Organize results.</li><li>Generate a structured report.</li></ul><p>Instead of giving you one answer, it works through a sequence of tasks.</p><p>Technologies worth learning:</p><ul><li>OpenAI API</li><li>Anthropic API</li><li>LangGraph</li><li>LlamaIndex</li></ul><p>Start with a simple agent that performs one useful task. Then gradually introduce tool calling, memory, and workflow control.</p><p>One important distinction: an agent that can perform actions also needs boundaries. You should understand permissions, human approval, and error handling before allowing it to interact with important systems.</p><h3>3. Python for AI Development</h3><p>Python remains one of the most useful languages for working with AI.</p><p>You don’t need to become a machine learning researcher to benefit from it.</p><p>Learn how to use Python to:</p><ul><li>Connect to AI APIs.</li><li>Process documents</li><li>Clean datasets.</li><li>Automate repetitive tasks.</li><li>Build AI-powered applications.</li><li>Integrate different services.</li></ul><p>A basic example using an AI API looks like this:</p><pre>from openai import OpenAI<br>client = OpenAI()<br>response = client..responses create (<br>    model=&quot;YOUR_AVAILABLE_MODEL&quot;,<br>    input=&quot;Explain how an AI agent works in simple terms.&quot;<br>)<br>print(response.output_text)</pre><p>This small example demonstrates an important capability: connecting your Python application to an AI model.</p><p>Once you understand APIs, you can build much more useful applications around them.</p><p><strong>My recommendation:</strong> Learn Python fundamentals, functions, APIs, JSON, error handling, and asynchronous programming before jumping into complex AI frameworks.</p><h3>4. Retrieval-Augmented Generation (RAG)</h3><p>AI models don’t automatically know everything about a company’s internal documents.</p><p>Imagine a company with hundreds of PDFs containing policies, product details, financial procedures, and employee guidelines.</p><p>Employees need answers based on those documents.</p><p>This is where Retrieval-Augmented Generation (RAG) becomes useful.</p><p>RAG allows an AI application to retrieve relevant information from an external knowledge source before generating an answer.</p><p>A simplified workflow looks like this:</p><ol><li>Upload documents.</li><li>Extract their text.</li><li>Split the text into smaller sections.</li><li>Convert sections into embeddings.</li><li>Store those embeddings in a searchable database.</li><li>Retrieve relevant sections when someone asks a question.</li><li>Give the retrieved information to an AI model.</li></ol><p>Technologies worth exploring:</p><ul><li>LangChain</li><li>LlamaIndex</li><li>FAISS</li><li>Chroma</li><li>PostgreSQL with pgvector</li></ul><p>A beginner-friendly project would be a PDF question-answering application.</p><p>Upload a document, ask a question, and receive an answer supported by relevant passages.</p><p>This is much more practical than building another generic chatbot.</p><h3>5. AI Evaluation and Testing</h3><p>Here’s something people often overlook:</p><p><strong>An AI application that produces an impressive answer isn’t necessarily a reliable application.</strong></p><p>AI can hallucinate, misunderstand instructions, produce inconsistent results, and fail on unusual inputs.</p><p>Businesses need people who can determine whether an AI system actually works.</p><p>Learn how to evaluate:</p><ul><li>Accuracy.</li><li>Relevance.</li><li>Consistency.</li><li>Hallucination rates.</li><li>Response time.</li><li>Cost per request.</li><li>Performance across different inputs.</li></ul><p>Useful tools include:</p><ul><li>DeepEval</li><li>Ragas</li><li>Promptfoo</li><li>pytest</li></ul><p>For example, you could create a small test dataset containing 50 questions and expected answers.</p><p>Then evaluate your AI application’s responses against those expectations.</p><p>This skill becomes particularly valuable when AI moves from experimentation into real business operations.</p><h3>6. Working With AI APIs</h3><p>Using ChatGPT through its website is different from integrating an AI model into software.</p><p>APIs allow developers to connect AI capabilities directly to their own applications.</p><p>For example, a company might use an AI API to:</p><ul><li>Summarize customer feedback.</li><li>Classify support tickets.</li><li>Extract information from invoices.</li><li>Generate product descriptions.</li><li>Analyze survey responses.</li></ul><p>Learn these concepts:</p><ul><li>API requests and responses.</li><li>Authentication.</li><li>JSON.</li><li>Rate limits.</li><li>Error handling.</li><li>Token usage.</li><li>Structured outputs.</li></ul><p>A particularly useful skill is structured output.</p><p>Instead of asking an AI model to return a paragraph, you can request information in a defined format that your application can process.</p><p>For example:</p><pre>{<br>  &quot;customer_name&quot;: &quot;Ali&quot;,<br>  &quot;category&quot;: &quot;Billing&quot;,<br>  &quot;priority&quot;: &quot;High&quot;,<br>  &quot;requires_follow_up&quot;: true<br>}</pre><p>This makes it easier to connect AI with databases, dashboards, and automation systems.</p><h3>7. AI-Assisted Data Analysis</h3><p>Businesses collect enormous amounts of data.</p><p>But raw data doesn’t automatically create useful decisions.</p><p>Someone still needs to clean it, understand it, identify patterns, and communicate the findings.</p><p>AI can assist with several parts of this process.</p><p>For example, imagine receiving a spreadsheet containing 10,000 sales transactions.</p><p>You could use Python and AI to:</p><ol><li>Identify missing values.</li><li>Detect duplicate records.</li><li>Summarize sales performance.</li><li>Identify unusual patterns.</li><li>Generate visualizations.</li><li>Explain important findings.</li></ol><p>Tools worth learning:</p><ul><li>Python</li><li>Panda</li><li>SQL</li><li>Power BI</li><li>ChatGPT for data analysis</li></ul><p>The most important part is understanding the data yourself.</p><p>AI can generate a chart or suggest an explanation, but you need to verify whether its conclusions make sense.</p><h3>8. AI Security and Responsible AI</h3><p>As companies introduce AI into their operations, security becomes increasingly important.</p><p>An AI system can expose sensitive information, follow malicious instructions hidden in documents, or perform actions beyond its intended permissions.</p><p>Learn about:</p><ul><li>Prompt injection.</li><li>Data privacy.</li><li>Secure API key management.</li><li>Access controls.</li><li>Sensitive information handling.</li><li>Model output validation.</li><li>Human approval for high-impact actions.</li></ul><p>For example, imagine an AI assistant connected to a company’s internal documents.</p><p>If it has unrestricted access, a poorly designed system might expose information to users who shouldn’t see it.</p><p>Security needs to be considered from the beginning, not added after deployment.</p><p>Useful areas to explore include OWASP’s guidance on Large Language Model applications and secure software development practices.</p><h3>9. Building and Deploying AI Applications</h3><p>A project that only works on your laptop is a good starting point.</p><p>But a project that other people can actually use demonstrates a different level of ability.</p><p>Learn how to turn AI experiments into working applications.</p><p>A practical technology stack could include:</p><p>TechnologyPurposePythonApplication logicFastAPI Build API endpoints Streamlit Create simple interfaces PostgreSQL Store application dataDockerPackage applicationsGitHubManage and share code</p><p>For example, you could build an AI-powered document assistant.</p><p>A user uploads a PDF, asks questions, and receives answers based on the document.</p><p>Then deploy it so other people can test it.</p><p>You don’t need a complicated interface. A reliable application that solves one real problem is a stronger portfolio project than ten unfinished experiments.</p><h3>10. AI Product Thinking</h3><p>This might be the most underrated skill on the list.</p><p>You can understand Python, use AI APIs, and build agents.</p><p>But can you identify a problem worth solving?</p><p>That’s where product thinking comes in.</p><p>Imagine two developers:</p><p><strong>Developer A</strong> builds another chatbot that answers general questions.</p><p><strong>Developer B</strong> builds an application that helps small businesses organize customer inquiries, identify urgent complaints, and track unresolved issues.</p><p>Both use AI.</p><p>But the second developer has identified a specific audience and a practical problem.</p><p>Learn how to:</p><ul><li>Identify repetitive problems.</li><li>Understand customer needs.</li><li>Research existing alternatives.</li><li>Define a specific target audience.</li><li>Build a minimum viable product (MVP).</li><li>Collect user feedback.</li><li>Improve the product based on actual usage.</li></ul><p>AI development isn’t just about making technology work.</p><p>It’s about making technology useful.</p><h3>The AI Skills I Would Learn First</h3><p>You don’t need to master all ten skills simultaneously.</p><p>Some skills naturally build on others.</p><p>Here’s a practical learning sequence:</p><p>StageSkillsSuggested focus1Python and APIs Build a foundation2Workflow automationConnect different tools3RAG and AI agents Build useful AI systems4Evaluation and security Make systems reliable5DeploymentTurn projects into applications6Product thinkingSolve real problems</p><h3>Three Projects That Can Make Your Portfolio Stronger</h3><p>Instead of collecting certificates without building anything, create projects that demonstrate what you can actually do.</p><p><strong>1. AI Invoice Information Extractor</strong></p><p>&lt;badge color=”success”&gt;Beginner-friendly&lt;/badge&gt;</p><p>Build a tool that accepts an invoice PDF and extracts:</p><ul><li>Invoice number.</li><li>Customer name.</li><li>Invoice date.</li><li>Total amount.</li><li>Tax amount.</li></ul><p>Use Python, PyMuPDF, and an AI API. Add validation so the application doesn’t blindly trust extracted figures.</p><p><strong>2. AI Knowledge Assistant</strong></p><p>&lt;badge color=”info”&gt;Intermediate&lt;/badge&gt;</p><p>Create an application where users upload documents and ask questions about their contents.</p><p>Use RAG, embeddings, a vector database, and a simple interface.</p><p><strong>3. AI Customer Support Automation</strong></p><p>&lt;badge color=”discovery”&gt;Advanced&lt;/badge&gt;</p><p>Build a workflow that reads incoming customer messages, categorizes them, assigns priority, and prepares suggested responses.</p><p>Use Python or n8n, an AI API, and a spreadsheet or database.</p><p>These projects demonstrate practical skills rather than just familiarity with AI terminology.</p><h3>Final Thoughts</h3><p>Prompt engineering is still useful. Understanding how to communicate with AI will remain part of working with these systems.</p><p>But the bigger opportunity is learning what comes after the prompt.</p><p>Learn to connect AI with software. Build workflows. Work with data. Test model outputs. Understand security. Deploy applications. Most importantly, learn to recognize problems that are worth solving.</p><p>The people who stand out in the coming years won’t necessarily be those who know the longest list of prompts.</p><p>They’ll be the ones who can turn AI capabilities into something people genuinely need.</p><p><strong>Don’t spend the next year collecting prompts. Spend it building things.</strong></p><h3>Thank you for being a part of the community</h3><p><em>Before you go:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d9QTaaaxboQP_gKSLedW_w.png" /></figure><p>👉 Be sure to <strong>clap</strong> and <strong>follow</strong> the writer ️👏<strong>️️</strong></p><p>👉 Follow us: <a href="https://medium.com/codetodeploy"><strong>Medium</strong></a></p><p><strong>Disclosure:</strong> This post includes affiliate and partnership links.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0eaffdd8973e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codetodeploy/forget-prompt-engineering-learn-these-ai-skills-before-2027-0eaffdd8973e">Forget Prompt Engineering. Learn These AI Skills Before 2027</a> was originally published in <a href="https://medium.com/codetodeploy">CodeToDeploy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>