Inside what we can call the Principal Software Delivery Chapter. Ghost Town by The Specials playing in the background. How many of your senior engineers could bootstrap a production-grade project from zero — infrastructure, tooling, SDLC, “AI” agent workflows — with under 30% human involvement, in under 60% of estimated time? Use this as an assessment It is about what a specific kind of person can…
For the most of the systems that ship an SDK , problem they are solving with this is shifting. We are talking dimensional shift - from solving scale problem to solving niche problem. An SDK is knowledge about a system expressed as language-specific code — the API surface, the auth model, how to handle pagination, how to parse error responses, what the data model means. The Python library is just…
There’s a discipline I’ve practised for a long time that I don’t hear talked about enough: writing down how I think, not what I know. I am talking about the actual structure of how I approach a problem — what I look for first, what questions I ask before anyone else has thought to ask them, what lenses I apply and in what order, what the shape of a good answer looks like before I know what the…
There’s an XKCD comic that gets passed around in engineering circles. xkcd.com/2347 — CC BY-NC 2.5 In March 2016, a developer named Azer Koçulu — working out of Oakland, California — unpublished 250 npm packages after a dispute with npm Inc. over a package name. One of those packages was left-pad : eleven lines of JavaScript that padded strings on the left. Within hours, React wouldn’t build.…
The word “architect” is overloaded to the point of near-meaninglessness. In ancient Rome, Vitruvius defined architecture through three principles: firmitas (strength), utilitas (usefulness), and venustas (beauty). A building must be structurally sound, serve its purpose, and be aesthetically pleasing. All three, not any one. Software architects, in theory, apply the same thinking: systems must be…
Feature flags and circuit breakers sound straightforward. In a single-server application, they are. In a distributed system running across multiple Kubernetes clusters in multiple regions, the problem of how do you get a configuration change to all pods simultaneously becomes non-trivial. This post presents an architecture for dynamic configuration management and circuit breakers in Kubernetes…
This post is a catalog. Not a deep dive into any single tool, but a map of the tools and concepts that meaningfully increase DevOps maturity. Think of it as a checklist you can work through incrementally. Seven tools, one half-tool. Let’s go. 1. ChatOps What it is: Bringing CI/CD control into your team’s chat platform (Slack, Teams, etc.). Instead of logging into dashboards, you interact with your…
If there’s one capability that separates high-performing engineering organisations from struggling ones, it’s software delivery. Not talent, not tooling, not architecture — delivery. Continuous integration and continuous delivery (CI/CD) is the engineering practice that makes frequent, safe delivery possible. This post builds the CI/CD blueprint for cloud-native systems. Why Frequent Small…
Security is rarely the most exciting topic in software engineering, but it’s one of the most consequential. This post builds the security blueprint for our IoT case study — covering network security, secrets management, RBAC, and secure container configuration. The core principle throughout: security should be a first-class architectural concern, not a retrofit . Network Segmentation: Protect Your…
In the previous post we introduced the IoT case study. Now let’s build the infrastructure blueprint. The goal here is to map each component of the system to the right Kubernetes (or cloud-native) construct, and to explain the reasoning behind each decision. First Question: What Lives in Kubernetes? Not everything needs to be in Kubernetes. A useful first pass is to categorise components:…
Before diving into individual blueprints, we need a concrete system to reason about. Abstract discussions of architecture are useful up to a point — but the real complexity emerges when you apply principles to a specific problem. This post introduces the IoT data ingestion platform that will serve as the case study throughout this series. The System The system receives data from a large number of…
DevOps is one of the most misused and misunderstood terms in software engineering. Ask ten engineers what DevOps means and you’ll get ten different answers. Some will say CI/CD. Some will say shared responsibility. Some will say it’s just a job title for ops people who can code. I want to introduce a mental model that I find useful: the two scales of DevOps . Scale 1: The Scale of Development The…
This is the first post in the Cloud-Native Blueprints series — a set of deep dives into the non-functional aspects of cloud-native projects. The series is Kubernetes-centric, but the concepts apply broadly. How we got here Cloud computing didn’t just give us cheaper servers. It gave us a fundamentally different way to think about software architecture. Before cloud, infrastructure was slow to…
To deliver high-quality service, organizations must carefully track data flows within applications. This typically requires establishing well-designed code metrics and implementing robust monitoring systems around those metrics. Metrics represent “the fastest observability data. They have the quickest output, can be consumed directly… require the smallest throughput, and have the smallest…
Introduction Observability is the ability of your system to expose data about its performance and behavior so we can further monitor, analyze, and alert on certain trends or changes. Making your system observable requires certain effort in your project. Why Should You Care Observability of your system is the top non-functional requirement . In the author’s opinion, not even application performance…
In the current moment, amid the COVID-19 crisis, isolation and heavy reliance on software for work, communication, entertainment, wellbeing, and information have made it increasingly difficult to comprehend the evolution of software perception over the last 10-15 years. Only nine years before this essay, Marc Andreessen published his influential piece on why software was consuming the world. At…
The rituals How many companies you know are doing “the agile”? How many are going through some kind of agile transformation at the moment? What are the rituals of your agile team? Do you have any? Did those rituals get added on top of your regular agenda or did they streamline it and “merge” it (in a sense)? I know most of you are cringing by now. The sync Being in the tech industry for a while…
As you navigate through your application’s development stages and consider Kubernetes deployment, understanding how components connect internally and externally becomes essential. “Knowledge you will get from this article also covers ‘services & networking’ part of CKAD exam, which currently takes 13% of the certification exam curriculum.” Services Kubernetes services enable networking between…
Minikube serves as an excellent tool for establishing a local Kubernetes environment to test and experiment with deployments. This guide walks through installation, configuration, and integration with essential tools. Minikube Installation Minikube operates through a virtual machine and supports various hypervisor options. VirtualBox is the recommended choice for macOS. Installation via Homebrew:…
towards blockchain solution for any micro service ecosystems The author describes an academic experiment to develop a general-purpose blockchain system that goes beyond introductory tutorials. The goal is creating a blockchain that functions as a supplementary backend component within multi/microservice architectures, removing single points of failure while strengthening data security through…