ArjanCodes
On this channel, I post videos about programming and software design to help you take your coding skills to the next level. I'm an entrepreneur and a university lecturer in computer science, with more than 20 years of experience in software development and design. If you're a software developer and you want to improve your development skills, and learn more about programming in general, make sure to subscribe for helpful videos. I post a video here every Friday. If you have any suggestion for a topic you'd like me to cover, just leave a comment on any of my videos and I'll take it under consideration. Thanks for watching!
Channel created: January 01, 2017
325,000
Subscribers
506
Total Videos
28,771,733
Total Views
551
Videos
Recent Videos
View All VideosDon’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...