Software engineering and AI
by Dominic J. Arrow
(01)
Software Engineering
01Requirementswhat should exist, and for whom
02Designboundaries before code
03Implementationwork, then right, then fast
04Testingevidence, not hope
05Code reviewa second pair of eyes
06CI/CDsmall releases, always ready
07Deploymentboring by design
08Operationsread the live system
09Maintenancewhere the cost lives A defect found in requirements costs a fraction of the same defect found in production.
Read the full lesson(02)
Machine Learning
One idea trains everything, nudge every weight slightly downhill, millions of times.
Read the full lesson(03)
AI Engineering
The same model in a different harness produces different results.
Read the full lesson(04)
The Corpus
- Software EngineeringA plain language tour of requirements, design, implementation, testing, review, delivery and maintenance.
- Machine LearningA plain language tour of data, models, loss, training, generalization, evaluation and inference.
- AI EngineeringA practical map of the parts around a model that turn a request into dependable work.
- An AI found a WordPress zero-day for $25. Read the fine print.A researcher used GPT-5.6 to build a working WordPress Core exploit for about $25 - a bug brokers value in the hundreds of thousands. What is verified, what is his own account, and what actually changed for defenders.
- The closing cyber gap: open-weight AI is four to seven months behind the frontierThe UK's AI Security Institute has, for the first time, measured how far downloadable open-weight models trail the closed frontier on offensive-cyber tasks: four to seven months, down from six to ten a year ago. Why a measurable, shrinking gap changes what defenders should assume.
- WAICO: China launches a global AI governance body - what it can and can't doTwenty-nine states founded a China-led AI cooperation body in Shanghai on 16 July - without the US, EU, UK, Japan or South Korea. What a governance bloc with no binding power actually changes.
(05)
Systems Thinking
Systems thinking treats a technology estate as one connected system: applications, data, infrastructure, and the teams that run them, tied together by dependencies and feedback loops. Behaviour emerges from those interactions, not from any single component. That is why a failure rarely sits where its symptom shows; it travels along the connections. Read the whole system first, and the fix is usually small.
















