There are few things in software engineering that induce panic quite like a massive git merge conflict. You pull down the latest code, open your editor, and suddenly your screen is bleeding with <<<<<<< HEAD markers. Your logic is tangled with someone else’s, the CSS is conflicting, and you realise you just wasted hours building… Continue reading How Even Senior Developers Mess Up Their Git Workflow
Articles on Best Practices
How to Automate Python Performance Benchmarking in Your CI/CD Pipeline
By Julian Sequeira on 16 February 2026
The issue with traditional performance tracking is that it is often an afterthought. We treat performance as a debugging task, (something we do after users complain), rather than a quality gate. Worse, when we try to automate it, we run into the “Noisy Neighbour” problem. If you run a benchmark in a GitHub Action, and… Continue reading How to Automate Python Performance Benchmarking in Your CI/CD Pipeline
How Dependency Injection makes your FastAPI Code Better Testable
By Bob Belderbos on 9 February 2026
Most Python web frameworks make you choose between testability and convenience. You either have clean code with complex test setup, or you use global state and hope your tests don’t interfere with each other. FastAPI’s Depends() solves this elegantly. Here is an example how you would use it in your API: What’s happening here: Type-safe –… Continue reading How Dependency Injection makes your FastAPI Code Better Testable
7 Software Engineering Fixes To Advance As A Developer
By Julian Sequeira on 29 January 2026
It’s January! If you look back at yourself from exactly one year ago, January 2025, how different are you as a developer from then to now? Did you ship the app you were thinking about? Did you finally learn how to configure a proper CI/CD pipeline? Did you land the Senior role you were after?… Continue reading 7 Software Engineering Fixes To Advance As A Developer
The missing 66% of your skillset
By Julian Sequeira on 27 January 2026
Bob and I have spent many years as Python devs, and 6 years coaching with Pybites and we can safely say that being a Senior Developer is only about 1/3 Python knowledge. The other 60% is the ecosystem. It’s the tooling. It’s all of the tech around Python that makes you stand out from the rest. This is… Continue reading The missing 66% of your skillset
From Backend to Frontend: Connecting FastAPI and Streamlit
By Zach Merrill on 29 April 2025
In my previous Pybites article, I showed how I built and deployed a book tracking API using FastAPI, Docker, and Fly.io. That project taught me a lot about backend development, containers, and deploying modern APIs. But a backend alone isn’t enough—users need an interface. And FastAPI’s Swagger UI, while useful for testing, just isn’t user-friendly… Continue reading From Backend to Frontend: Connecting FastAPI and Streamlit
The Mutable Trap: Avoiding Unintended Side Effects in Python
By Craig Richards on 3 February 2025
Ever had a Python function behave strangely, remembering values between calls when it shouldn’t? You’re not alone! This is one of Python’s sneakiest pitfalls—mutable default parameters. Recently someone asked for help in our Pybites Circle Community with a Bite exercise that seemed to be behaving unexpectedly. It turned out that this was a result of modifying a mutable parameter… Continue reading The Mutable Trap: Avoiding Unintended Side Effects in Python
A Better Place to Put Your Python Virtual Environments
By Ahmed Lemine on 7 March 2024
Virtual environments are vital if you’re developing Python apps or just writing some Python scripts. They allow you to isolate different app requirements to prevent conflicts and keep your global OS environment clean. This is super important for many reasons. The most obvious one is requirements isolation. Let’s say that you’re working on two different… Continue reading A Better Place to Put Your Python Virtual Environments
Exploring the Role of Static Methods in Python: A Functional Perspective
By Bob Belderbos on 24 January 2024
Introduction Python’s versatility in supporting different programming paradigms, including procedural, object-oriented, and functional programming, opens up a rich landscape for software design and development. Among these paradigms, the use of static methods in Python, particularly in an object-oriented context, has been a topic of debate. This article delves into the role and implications of static… Continue reading Exploring the Role of Static Methods in Python: A Functional Perspective
6 Cool Things You Can Do With The Functools Module
By Bob Belderbos on 21 September 2023
In this article let’s look at the functools Standard Library module and 6 cool things you can do with it (be warned, a lot of decorators are coming your way! 😍) … 1. Cache (“memoize”) things You can use the @cache decorator (formerly called @lru_cache) as a “simple lightweight unbounded function cache”. The classic example is… Continue reading 6 Cool Things You Can Do With The Functools Module
