ArjanCodes - Videos

Back to Channel

Don’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...

104,906 views • 3,506 likes • 193 comments • April 24, 2026

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...

22,764 views • 998 likes • 53 comments • April 17, 2026

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...

30,459 views • 1,345 likes • 84 comments • April 10, 2026

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...

39,384 views • 1,838 likes • 349 comments • April 03, 2026

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...

23,796 views • 965 likes • 48 comments • March 27, 2026

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...

18,574 views • 812 likes • 34 comments • March 20, 2026

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...

59,899 views • 2,739 likes • 229 comments • March 13, 2026

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...

47,944 views • 1,839 likes • 138 comments • March 06, 2026

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...

29,134 views • 1,080 likes • 54 comments • February 27, 2026

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...

54,523 views • 2,118 likes • 108 comments • February 20, 2026

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...

40,137 views • 897 likes • 42 comments • February 13, 2026

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...

36,733 views • 1,276 likes • 76 comments • February 06, 2026

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...

64,262 views • 2,854 likes • 171 comments • January 30, 2026

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...

75,813 views • 2,613 likes • 350 comments • January 23, 2026

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 ...

41,758 views • 2,038 likes • 65 comments • January 16, 2026

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...

44,625 views • 1,373 likes • 160 comments • January 09, 2026

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...

24,045 views • 1,191 likes • 97 comments • January 02, 2026

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...

41,407 views • 1,672 likes • 75 comments • December 26, 2025

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...

29,252 views • 1,212 likes • 73 comments • December 19, 2025

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...

121,153 views • 4,861 likes • 378 comments • December 12, 2025

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 ...

43,368 views • 1,465 likes • 84 comments • December 05, 2025

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...

131,654 views • 4,459 likes • 240 comments • November 28, 2025

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...

33,553 views • 1,124 likes • 75 comments • November 21, 2025

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...

42,587 views • 1,724 likes • 97 comments • November 14, 2025

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...

157,857 views • 6,400 likes • 401 comments • November 07, 2025

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...

123,504 views • 4,101 likes • 218 comments • October 31, 2025

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...

43,681 views • 1,707 likes • 109 comments • October 24, 2025

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...

387,212 views • 11,446 likes • 719 comments • October 17, 2025

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...

61,384 views • 2,570 likes • 129 comments • October 10, 2025

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...

116,588 views • 4,923 likes • 220 comments • October 03, 2025

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...

65,515 views • 2,090 likes • 167 comments • September 26, 2025

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...

43,109 views • 1,511 likes • 108 comments • September 19, 2025

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 ...

24,885 views • 775 likes • 41 comments • September 12, 2025

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 ...

108,024 views • 4,958 likes • 182 comments • September 05, 2025

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 *...

117,608 views • 4,744 likes • 194 comments • August 29, 2025

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...

26,725 views • 1,619 likes • 102 comments • August 22, 2025

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 ...

42,907 views • 1,371 likes • 61 comments • August 15, 2025

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...

46,330 views • 2,103 likes • 154 comments • August 08, 2025

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 ...

67,473 views • 2,839 likes • 141 comments • August 01, 2025

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...

59,503 views • 2,568 likes • 111 comments • July 25, 2025

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...

17,659 views • 424 likes • 33 comments • July 18, 2025

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...

17,727 views • 651 likes • 82 comments • July 11, 2025

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, ...

37,336 views • 1,431 likes • 72 comments • July 04, 2025

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...

126,928 views • 2,790 likes • 173 comments • June 27, 2025

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, ...

11,053 views • 291 likes • 30 comments • June 20, 2025

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...

36,163 views • 2,027 likes • 65 comments • June 13, 2025

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...

32,998 views • 1,394 likes • 74 comments • June 06, 2025

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 ...

98,517 views • 2,347 likes • 230 comments • May 30, 2025

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...

23,260 views • 682 likes • 37 comments • May 23, 2025

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...

65,543 views • 2,734 likes • 166 comments • May 16, 2025