The choice of Git workflow has a bigger impact on team productivity than most technical decisions. Git Flow, GitHub Flow, trunk-based development are complete models for work, code review, and deployment. I show when to use each and what separates a good pull request from a bad one.
Working with remotes is everyday work in every team – but many people only use git pull and have a vague idea of what actually happens. Tracking refs, the difference between fetch and pull, when to use --force-with-lease instead of --force, and how remote branches actually work is knowledge that saves you from irreversible mistakes.
The question “merge or rebase?” is one of the most common in Git-using teams. Both strategies achieve the same result – integrating changes – but produce completely different history. There is no single right answer, there is context. I show when to use each, how conflicts work, and why fast-forward is not the same as “no merge commit”.
Commit history is project documentation – other developers read it, git bisect searches it for bugs, and git blame explains decisions. Good commit messages, the ability to tidy history before a merge, and knowing cherry-pick and bisect are tools that separate someone who “uses Git” from someone who “manages” it.
Most developers use Git like a magic box: you type something, something gets saved, history somehow works. Until something goes wrong. To stop Git being a black box – start by understanding what actually lives inside the .git/ directory. Four object types: blob, tree, commit, tag. That is it. Everything else follows from these.
Magento 2.4.9 was released in May 2025 alongside official PHP 8.5 support. This is the first Magento release where PHP 8.5’s pipe operator is available out of the box. Beyond PHP 8.5, the release brings performance improvements, updated dependencies, and deprecation cleanup. I show what actually changed, how to migrate, and which PHP 8.5 features are worth using in modules immediately.
Two years after I first wrote about AI coding tools, the landscape has changed completely. Context windows went from 8K to 200K+ tokens. Models that were unreliable on Magento code are now genuinely useful. Cursor IDE turned AI from a suggestion machine into a pair programmer. I revisit my 2024 assessment with two years of production experience and concrete workflow changes.
OpenSearch 3.x adds neural/vector search capabilities that were previously only available in specialised vector databases. Combined with Ollama running locally for embedding generation, you can add semantic product search to Magento 2 without external API dependencies. I show the complete implementation: generating embeddings, storing k-NN vectors, hybrid search combining text and semantic scoring.
Interpreter is the GoF pattern for implementing a mini-language. Instead of hardcoding discount rules, you define a grammar and an interpreter that evaluates expressions at runtime. This makes complex pricing rules configurable without code deployments. I build a complete discount rule language in PHP: grammar definition, recursive descent parser, AST, and evaluation.
SQL optimisation has always required human expertise, but the workflow has changed. I now use an LLM as a pair programmer when reading EXPLAIN output – it translates the cryptic rows into plain English and suggests indexes. Blackfire shows me where the time goes. Together they cut a query from 4.2 seconds to 0.8 seconds in an afternoon. I show the complete workflow with real examples.
