Why You’re Still Stuck With Python (And How to Fix It) | Issue #79


Hi there,

If you’ve been learning Python for a while and still feel like you’re not improving, you’re not alone.

Python feels easy at first. The syntax is clean, the barrier to entry is low, and you can build something useful in your first hour. But then… things get weird.

You hit a wall.

There’s object-oriented programming.

Then functional programming.

Then decorators, dunder methods, typing, Protocol, mypy, async…

And somehow Python lets you write the same thing five different ways, and you’re supposed to just "know" which one is right.

This week’s video is a roadmap: from mastering the core, to building tools, to understanding types and design principles.

If you’ve finished the basics but don’t feel like an expert yet, this one’s for you.


Enjoy the video and wish you a great weekend!

Cheers,

Arjan

Pulumi Neo: AI for Your Infrastructure

(sponsored)

We’ve seen AI copilots for developers. But what about one for your cloud infrastructure?

Pulumi Neo is not just another chatbot. It’s an AI agent trained on your actual infrastructure — your code, your state, your resource graph — not just random examples from the internet.

That means Neo:

  • Understands your infra dependencies and drift
  • Generates and fixes Infrastructure-as-Code (with guardrails)
  • Automates upgrades, policy enforcement, and cloud hygiene
  • Gives you real insights, based on your real cloud — not guesses

It’s like having a platform engineer who never sleeps

Teams using Neo report up to 18× faster provisioning and 90% fewer policy violations.

If you’re working in DevOps, SRE, or platform engineering and want a smarter way to scale your cloud infra, check out Pulumi Neo today for free.


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:

👕 Clean code and clean clothes

The ArjanCodes merch store features T-shirts, hoodies, hats, and more for the clean-code-obsessed. Careful though: you'll look dangerously professional while reviewing PRs.

👉 Check out the store here and grab something before your stand-up call starts.

Unsubscribe | Send by ArjanCodes

Wolvenplein 25, Utrecht, UT 3512 CK

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

You’ve tested the endpoint. The response looks right. No errors in the terminal. So you’re done, right? Well... not quite. In the last video of this year (time flies!) I start with a tiny FastAPI app that "works", and step by step, I turn it into something that’s actually ready for production (and that's more work than you think). That includes: Proper type usage Input validation and error handling Configuration management Rate limiting to prevent abuse ...and more! All using a real example:...

Sometimes your code fails, you change absolutely nothing, and on the next run everything works again. If that sounds familiar, this week’s video is for you. These kinds of failures usually have nothing to do with bad code. They come from the outside world: APIs that time out, networks that briefly misbehave, or LLMs that occasionally return something almost structured, but not quite. It’s frustrating, because the failure feels random, and those types of failures are really annoying to debug!...

If you’ve ever opened a function and instantly regretted it… this week’s video is for you. I’m talking about those legendary functions: ten levels of indentation, contradictory conditions, duplicate branches, mysterious try/except blocks, and business logic so unclear that nobody knows what it actually does anymore. I start with a really messy example and walk through the exact process I use to refactor it safely. You’ll see how to create characterization tests so you don’t break existing...