ArjanCodes - Videos
Back to ChannelDon’t Use Boolean Flags in Python, Use Policies Instead
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I show how to replace growing conditional logic with the Policy Pattern. In...
What Most Python Developers Miss About Generators
Talk to the internet when you need answers. Talk to Recall when you need your answers. 🔗 https://www.recall.it/?t=arjan Use code ARJAN25 for 25% off, valid until 1 June 2026. Do the Ports & Adap...
The State Pattern in Python - I Like How This Turned Out
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. The classic State design pattern is often implemented with many small classes and heavy in...
Python Has Serious Problems, But I Use It Anyway
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I explain what I didn’t like about Python when I first encountered it. From...
Why “Clean Code” Often Creates Worse Designs
→ Get started with Hostinger today: http://hostinger.com/arjancodes (make sure to use coupon ARJANCODES). In this video, I refactor a small Python program that looks clean on the surface but hides...
The Hidden Mechanism Behind Clean Python APIs (Descriptor Deep Dive)
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I explain what descriptors are, why attribute access in Python sometimes be...
Stop Passing Primitives Everywhere (Use Value Objects)
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I show how to use the Value Object pattern in Python to model prices, perce...
Stop Mixing FastAPI with Business Logic: Fix It with Ports & Adapters
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I refactor a FastAPI + SQLAlchemy example into a clean Ports & Adapters (He...
You’ve Been Underusing Dataclasses (These Tricks Are Wild)
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I show you 7 powerful and lesser-known things you can do with dataclasses i...
Python Properties vs Methods: The Contract You Didn’t Know You Were Making
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I break down when something in Python should be a property and when it shou...
CQRS in Python: Clean Reads, Clean Writes
💡 Check out MongoDB Atlas: https://www.mongodb.com/atlas. When your FastAPI list endpoint starts pulling full documents just to compute derived fields, it’s usually a sign your read and write mode...
Stop Building Ugly APIs: Use the Fluent Interface Pattern
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I take a small but realistic Python animation API and refactor it step by step into a fluent interf...
10 Python Features You’re Not Using (But Really Should)
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Python has a lot of powerful features hiding in plain sight, and many developers never really use them. In this vi...
This Design Pattern Scares Me To Death
👉 Get real-time, search result data from Google, Youtube and more with SerpApi: https://serpapi.link/arjan-codes-jan-2025. Business rules have a nasty habit of spreading across your codebase: copi...
7 Things You Didn’t Know Dataclasses Could Do
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Dataclasses are often treated as nothing more than a shortcut for generating init methods, but there’s a lot more ...
The Right Way to Use AI for Writing Maintainable Code
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. AI can write code, but without solid software design, it quickly turns into an unmaintaina...
I Made a Classic Refactoring Mistake
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In my previous video on refactoring complicated business logic, I made several mistakes and you spotted them. In t...
How to Tell If Your Code Is Actually Production-Ready
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Your code works locally: you’ve tested the endpoint, the numbers add up, and everything looks fine in the terminal...
Retry Pattern: The Secret to Resilient Python Code
👉 Get real-time, search result data from Google, Youtube and more with SerpApi: https://serpapi.link/arjan-codes. This video shows you how to stop your Python code from crashing when APIs, network...
From Spaghetti Code to Clean Python
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Untangling deeply nested if/else logic is one of the hardest parts of working in real-world Python codebases. In t...
The Lazy Loading Pattern: How to Make Python Programs Feel Instant
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I dive deep into the **Lazy Loading pattern,** one of the simplest and most effective ways to make ...
Stop Hardcoding Everything: Use Dependency Injection
→ Check out Thesys here: https://www.thesys.dev/?utm_source=youtube&utm_medium=creators&utm_campaign=arjan In this video, I explore how Dependency Injection can make your Python code cleaner, more...
Stop Overwriting State And Use Event Sourcing Instead
→ Try Flox for free: https://flox.dev/?utm_source=youtube&utm_medium=social&utm_campaign=Arjan&utm_content=homepage In this video, I explore how to build an inventory system using the event sourci...
Learning Python Feels Easy. Until It Isn’t.
→ Python Programming Fundamentals course (DataCamp): https://datacamp.pxf.io/POPxVR → Associate Python Developer track (DataCamp): https://datacamp.pxf.io/Dy2oea Python is often praised as the ea...
Why Your Code Isn’t Pythonic (And How to Fix It)
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. What does it actually mean to write *Pythonic* code? In this video, we answer that question by taking a small, mes...
Too Many Function Arguments? Use This Pattern
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Tired of passing five arguments to every function? In this video, I clean up a realistic Python codebase using the...
The Best Way to Share Code Between Python Apps
✅ Learn how to build robust and scalable software architecture: https://arjan.codes/checklist. In this video, I show you how to use uv workspaces to manage multiple Python apps—like a CLI tool and...
I Hate Long If-Elif Chains: This Design Pattern Solved It Once and For All
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. If your code is littered with endless if-elif chains just to handle different formats, behaviors, or commands, the...
My 4 Favorite Python 3.14 Features
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Python 3.14 is here, and it’s not just about pi. In this video, I’ll walk you through the four features I’m most e...
Anatomy of a Scalable Python Project (FastAPI)
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, we break down the anatomy of a scalable Python project using FastAPI and uv. You’ll learn how to se...
SOLID: Writing Better Python Without Overengineering
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. Are the SOLID principles still relevant when you’re writing Pytho...
The Real Reason the Singleton Pattern Exists
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Singletons are often criticized for introducing global state and making code harder to test—but there’s more to th...
Avoid Messy Code: Design Patterns for AI Agents in Python
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. If you’re building AI agents in Python and your code is starting ...
Python Has the Best Standard Library Ever: 10 Modules You Need to Know
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Python’s standard library is one of its greatest strengths, but many developers only scratch the surface. In this ...
Build Production-Ready AI Agents in Python with Pydantic AI
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. Pydantic AI lets you integrate large language models like GPT-5 *...
We need to talk.
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. We all have assumptions that quietly hold us back. I’ve been guilty of this my whole career. In this video, I shar...
How to Write Great Unit Tests in Python
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. Want to learn how to write professional, maintainable unit tests ...
UV Just Got A Serious Upgrade
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I walk you through everything new in uv, including major improvements to performance, dependency ma...
Why Are Not More People Using These Python Libraries?
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Python’s standard library is one of its greatest strengths, but many developers only scratch the surface. In this ...
The Builder Pattern in Python: Finally Explained!
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I show you the Builder Pattern in Python. It’s a practical and underrated design pattern you’re pro...
Is SaaS Dead? Here's a Senior Engineer's Perspective
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. Is SaaS dead? Some claim AI agents and vibe-coded micro-SaaS will...
I Designed a Python SDK That Relies on… Deep Inheritance?!
Check out https://www.squarespace.com/arjancodes to save 10% off your first purchase of a website or domain using code ARJANCODES. Ever wondered how to build a clean Python SDK without a giant god...
This Is Why Your Python Code Turns Into Spaghetti
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Why do Python projects turn into spaghetti so easily? In this video, I show how using abstraction (with Callable, ...
It Seems I No Longer Use Python’s Dataclasses
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I take a deep dive into Python dataclasses in 2025. Are they still useful now that we have Pydantic...
Serverless on Google Cloud: What You Can and Can’t Do
➡️ Get started with Pulumi for free: https://www.pulumi.com/?utm_source=arjancodes. In this video, I’ll show you what Cloud Run Functions can and can’t do, how to work around common limitations, ...
MCP…. So What’s That All About?
✅ Learn how to build robust and scalable software architecture: https://arjan.codes/checklist. Want your AI tools to actually *do* something? In this video, I’ll show you how to integrate external...
Writing Python Functions Like a Mad Scientist
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Most Python developers stick with def, but there’s a whole world of alternative ways to define functions—some sma...
Should You Replace Every For Loop With Map and Filter?
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. Think map() and filter() are always better than for loops? Not so fast. In this video, I’ll walk you through four ...
If I Were Starting Today, This Would Be My Tech Stack (2025)
💡 Save hours every week and bring your tasks, calendars, and AI assistant into one powerful app. Try AkiFlow here → https://akiflow.pro/ArjanCodes. Curious what tech stack powers ArjanCodes? In th...
10 Python Anti-Patterns That Are Breaking Your Code
➡️ Try Lokalise today: https://bit.ly/arjancodes. Think your Python code is clean? Think again. In this video, I’m exposing 10 Python anti-patterns that look smart, but secretly create chaos. Stic...