10 Python Anti-Patterns That Are Breaking Your Code | Issue #53


Hi there,

You ever look at some Python code and think, “Wait… why did we do it like this?”

This week’s video is all about the Python anti-patterns that sneak into our codebases—sometimes looking clever, sometimes just copied from bad tutorials. But they can seriously hurt long-term maintainability. 🚨

I walk through 10 real-world examples, from using exceptions as control flow to awkward class structures, and even show how hardcoding UI strings can make your app a localization nightmare.

Have a great weekend, and let’s keep our Python clean and our codebases happy!

Cheers,

Arjan

# News

What Sets the Best Programmers Apart? 🧠

What makes a developer truly exceptional? Matthias Endler reflects on this in his article, The Best Programmers I Know, highlighting traits that distinguish top-tier engineers. 🎯

From deeply understanding tools and reading documentation to embracing continuous learning and effective communication, these insights offer valuable guidance for personal and professional growth. 🌱

Whether you’re just starting out or looking to refine your skills, this article provides a thoughtful perspective on what it takes to excel in the field. Click here to find out more.

# Community

🧠 When “it works” isn’t good enough…

Kenny, a member of our Discord community brought, up a great design dilemma: How do you keep your code clean when dealing with generics and type casting?

It sparked a thoughtful discussion, the kind where you realize you’re not alone in wanting your code to be both correct and elegant.

👉 Click here to jump in the discussion on ArjanCodes Discord and share your perspective!


Do you enjoy my content on YouTube and would you like to dive in deeper?

🚀 Check out my online courses

My courses have helped thousands of developers take the next step in their careers. Check out these courses to help grow your skills and become a senior developer:

🔧 Need help with a complex codebase?

If your team is struggling with tech debt, unclear architecture, or cloud costs that keep creeping up, my team and I can help. We don’t just review, we get in and fix things. We’re only working with a few companies at a time to stay focused, so if it sounds like a fit:

Unsubscribe | Send by ArjanCodes

Jan van Eijklaan 2-4, Bilthoven, UT 3723 BC

The Friday Loop

Every Friday, you'll get a recap of the most important and exciting Python and coding news. The Friday Loop also keeps everyone posted on new ArjanCodes courses and any limited offers coming up.

Read more from The Friday Loop

Hi there, I’m emailing you from prison. 🚨 No, not like that. The new ArjanCodes office is inside a 19th-century prison in Utrecht. And it’s actually… amazing. The cells are now offices, the vibe is creative, and it’s got just the right kind of gloominess for video production (because direct sunlight and camera lenses don’t mix). In this week’s video, I take you on a little tour of the space and talk about what’s ahead for the channel. After a year of scaling down, I’m finding more balance—and...

Hi there, We all know type hints can catch bugs before runtime. 🐛 But what if I told you they’re also one of your best tools for designing better software? In this week’s video, I show how type hints can lead to smarter choices about inputs, outputs, and even class structure — all without adding complexity. It’s the kind of thinking that leads to better architecture and fewer “why did I do this?” moments later on. 😌 And yes, I also drop a few tips you’ve probably never heard about inputs and...

Hi there, If you’ve ever used Python decorators, you know they look like a clean way to add functionality. But have you ever struggled to debug a decorated function? Or wondered why your type hints suddenly break? Or spent way too much time figuring out why your decorators aren’t working as expected? 🫠 🚨 Decorators introduce hidden complexity that can turn your code into a nightmare. And honestly? I think they’re overused. In this week’s video, I explain: Why decorators break type safety and...