It Ain't Broke: Software Fundamentals in the AI Era
Matt Pocock at AI Engineer Europe argues that bad code is now more expensive than ever — and that the engineers winning with AI are the ones who went back to basics.
All posts tagged with "architecture"
Matt Pocock at AI Engineer Europe argues that bad code is now more expensive than ever — and that the engineers winning with AI are the ones who went back to basics.
Every era of software engineering is really about one thing: building higher abstractions to hide complexity and let developers focus on solutions, not machines. Here's the full arc from machine code to AI.
Microservices promise scalability and independence, but they come with a hidden complexity tax that teams pay in distributed tracing, operational overhead, and cognitive load. Here's what the tutorials skip.
Learn how to design and build ingestion APIs for IoT systems — handling high-throughput device data, batching, validation, backpressure, and storage strategies with practical examples.
Deep dive into URL shortening algorithms. Implement Base62 encoding, handle collisions at scale, support custom aliases, and understand the math behind short code uniqueness and collision probability.
Master API gateways: what they are, how they work, routing, authentication, rate limiting, request aggregation, circuit breaking, and practical setup with Kong, AWS API Gateway, and Spring Cloud Gateway.
Learn edge computing and fog architecture for IoT systems. Covers edge vs fog vs cloud, data filtering, store-and-forward, edge runtimes (AWS Greengrass, Azure IoT Edge, K3s), and offline-first patterns.
Learn the Backend for Frontend (BFF) pattern — what it is, why it exists, how it solves over-fetching and coupling between APIs and UIs, and how Next.js naturally implements BFF with Server Components and Route Handlers.
Learn IoT architecture layers, device types, connectivity options (WiFi, BLE, LoRaWAN, 5G), communication protocols (MQTT, CoAP, AMQP), message patterns, digital twins, and IoT vs IIoT.
Why developers over-engineer with excessive abstractions, design patterns, and premature optimization. Learn when abstraction helps vs. when it creates unnecessary complexity, with practical examples.