Why Building a Production RAG Pipeline is Easier Than You Think

Adding AI to legacy code doesn’t have to be a challenge. Many devs are hearing this right now: “We need to add AI to the app.” And for many of them, panic ensues. The assumption is that you have to rip your existing architecture down to its foundation. You start having nightmares about standing up… Continue reading Why Building a Production RAG Pipeline is Easier Than You Think

Why do we insist on struggling alone?

A realisation about my son’s basketball team reminded me that we should never be ashamed to ask for help, or better yet, seek formal coaching/support. Last year, for two straight seasons, my son’s team got absolutely smashed on the court.  They had the energy and the determination, but they were effectively running in circles without… Continue reading Why do we insist on struggling alone?

How Even Senior Developers Mess Up Their Git Workflow

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

We’re launching 60 Rust Exercises Designed for Python Devs

“Rust is too hard.” We hear it all the time from Python developers. But after building 60 Rust exercises specifically designed for Pythonistas, we’ve come to a clear conclusion: Rust isn’t harder than Python per se, it’s just a different challenge. And with the right bridges, you can learn it faster than you think. Why… Continue reading We’re launching 60 Rust Exercises Designed for Python Devs

How to Automate Python Performance Benchmarking in Your CI/CD Pipeline

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

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