<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Mo Abualruz — writing</title><description>Essays on distributed systems, on-call, postmortems, and survivable production.</description><link>https://abualruz.com/</link><language>en</language><item><title>The only latency budget I&apos;ve ever stuck to</title><link>https://abualruz.com/writing/only-latency-budget/</link><guid isPermaLink="true">https://abualruz.com/writing/only-latency-budget/</guid><description>A story about picking one number, writing it on a whiteboard, and refusing to argue about anything else until production caught up with us.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate><category>latency</category><category>performance</category><category>on-call</category></item><item><title>Multi-tenant recruitment platforms, or how I learned to love identity</title><link>https://abualruz.com/writing/multi-tenant-recruitment/</link><guid isPermaLink="true">https://abualruz.com/writing/multi-tenant-recruitment/</guid><description>Talentera served enterprises and governments on one codebase. The data model survived years of tenancy demands because identity + access were first-class.</description><pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate><category>multi-tenant</category><category>identity</category><category>access-control</category><category>architecture</category></item><item><title>Running a local LLM stack inside your actual engineering pipeline</title><link>https://abualruz.com/writing/local-llm-pipeline/</link><guid isPermaLink="true">https://abualruz.com/writing/local-llm-pipeline/</guid><description>Ollama on a GPU you own, llama.cpp for CPU work, vLLM for throughput — wired into the same engineering pipeline that runs your tests. Not a science project.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><category>llm</category><category>ollama</category><category>local-first</category><category>engineering-culture</category></item><item><title>Everything I know about on-call, in one page</title><link>https://abualruz.com/writing/on-call-in-one-page/</link><guid isPermaLink="true">https://abualruz.com/writing/on-call-in-one-page/</guid><description>The list I hand new engineers on their first rotation: the habits that kept me sane, the runbooks that earned their keep, and the heroics I regret.</description><pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate><category>on-call</category><category>sre</category><category>incident-response</category></item><item><title>Why I run five CLI agents, not one</title><link>https://abualruz.com/writing/five-cli-agents/</link><guid isPermaLink="true">https://abualruz.com/writing/five-cli-agents/</guid><description>Most frame LLM-coding-agents as winner-takes-all. My reality: five in rotation, each good at a different local minimum, swapped atomically via a Go CLI I wrote.</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>tools</category><category>engineering-culture</category><category>developer-experience</category></item><item><title>Against the second system effect (again)</title><link>https://abualruz.com/writing/second-system-effect/</link><guid isPermaLink="true">https://abualruz.com/writing/second-system-effect/</guid><description>Every rewrite I&apos;ve watched die had the same warning signs. This is the checklist I now force every &apos;let&apos;s just rewrite it&apos; conversation through.</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate><category>architecture</category><category>complexity</category><category>rewrites</category></item><item><title>Wikipedia runs on boring code, and that&apos;s the lesson</title><link>https://abualruz.com/writing/wikipedia-boring-code/</link><guid isPermaLink="true">https://abualruz.com/writing/wikipedia-boring-code/</guid><description>Three years at Wikimedia: the systems serving half the planet are unglamorous PHP, careful caching, and operational culture — not architecture-astronaut stuff.</description><pubDate>Sat, 01 Nov 2025 00:00:00 GMT</pubDate><category>wikimedia</category><category>scale</category><category>architecture</category><category>operations</category></item><item><title>How I learned to stop worrying and love the monolith</title><link>https://abualruz.com/writing/love-the-monolith/</link><guid isPermaLink="true">https://abualruz.com/writing/love-the-monolith/</guid><description>The modular monolith isn&apos;t a defeat — it&apos;s a design choice that keeps optionality open and the deploy story boring. Here&apos;s the case, with receipts.</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate><category>architecture</category><category>monoliths</category><category>microservices</category></item><item><title>AI-assisted engineering is a new collaborator model, not autocomplete</title><link>https://abualruz.com/writing/ai-assisted-eng-new-collaborator/</link><guid isPermaLink="true">https://abualruz.com/writing/ai-assisted-eng-new-collaborator/</guid><description>After 3,400 commits running Claude Code, Codex, Gemini, PI, and OpenCode side-by-side: the pattern that works is clear, and most teams miss it.</description><pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>engineering-culture</category><category>developer-experience</category></item><item><title>Your design doc is actually a political document</title><link>https://abualruz.com/writing/design-doc-political/</link><guid isPermaLink="true">https://abualruz.com/writing/design-doc-political/</guid><description>Design docs aren&apos;t just technical specs. They&apos;re where organisational constraints meet engineering choices — and pretending otherwise ships you in circles.</description><pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate><category>design-docs</category><category>engineering-management</category><category>writing</category></item><item><title>Event-driven architectures that actually shipped</title><link>https://abualruz.com/writing/event-driven-that-shipped/</link><guid isPermaLink="true">https://abualruz.com/writing/event-driven-that-shipped/</guid><description>Most event-driven rewrites die with 80% of the bus built and zero hard problems solved. Here&apos;s what separated the one that shipped at Bytro from the graveyard.</description><pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate><category>event-driven</category><category>architecture</category><category>cqrs</category><category>distributed-systems</category></item><item><title>Interview questions that are just trivia in a trench coat</title><link>https://abualruz.com/writing/interview-trivia-trench-coat/</link><guid isPermaLink="true">https://abualruz.com/writing/interview-trivia-trench-coat/</guid><description>A rant about the questions we keep asking because we were asked them — and a short list of what I actually learned replacing them with work samples.</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate><category>hiring</category><category>interviewing</category><category>engineering-management</category></item><item><title>MUMPS is not a joke, and it runs your pharmacy</title><link>https://abualruz.com/writing/mumps-is-not-a-joke/</link><guid isPermaLink="true">https://abualruz.com/writing/mumps-is-not-a-joke/</guid><description>MUMPS runs Epic, VistA, and chunks of global healthcare. It turns 60. Every time I mention it in a meeting someone laughs — then finds out I&apos;m serious.</description><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate><category>mumps</category><category>healthcare</category><category>databases</category><category>legacy</category></item><item><title>Healthcare software is mostly paperwork you can&apos;t see</title><link>https://abualruz.com/writing/healthcare-paperwork-you-cant-see/</link><guid isPermaLink="true">https://abualruz.com/writing/healthcare-paperwork-you-cant-see/</guid><description>Years building EHRs taught me the visible UI is 15% of what makes a hospital system work. The other 85% is audit, regulation, and wire formats.</description><pubDate>Tue, 01 Apr 2025 00:00:00 GMT</pubDate><category>healthcare</category><category>ehr</category><category>hl7</category><category>fhir</category><category>architecture</category></item><item><title>Fulcrum: the agent control plane I built because others didn&apos;t fit</title><link>https://abualruz.com/writing/fulcrum-agent-control-plane/</link><guid isPermaLink="true">https://abualruz.com/writing/fulcrum-agent-control-plane/</guid><description>Why I wrote a local-first agent control plane when dozens exist. TLDR: none handled the boring operational parts that make multi-agent work usable.</description><pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>fulcrum</category><category>architecture</category></item><item><title>The onboarding doc I wish I&apos;d had at 22</title><link>https://abualruz.com/writing/mentor-mode-doc/</link><guid isPermaLink="true">https://abualruz.com/writing/mentor-mode-doc/</guid><description>A letter to every new software engineer about what nobody told me in my first decade. Specific habits that compound, with receipts from 15 years of shipping.</description><pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate><category>mentoring</category><category>engineering-culture</category><category>onboarding</category></item><item><title>Event-driven credit assessment: what it actually means</title><link>https://abualruz.com/writing/auxmoney-fintech-lending/</link><guid isPermaLink="true">https://abualruz.com/writing/auxmoney-fintech-lending/</guid><description>What shipping AI-assisted lending workflows inside a regulated fintech backend actually looks like — Kafka, compliance, and the honest end of the story.</description><pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate><category>fintech</category><category>event-driven</category><category>kafka</category><category>ai-integration</category><category>aws</category><category>kubernetes</category></item><item><title>Playing Captain</title><link>https://abualruz.com/writing/playing-captain/</link><guid isPermaLink="true">https://abualruz.com/writing/playing-captain/</guid><description>What it actually means to lead by staying in the code — and why &apos;engineering managers should stop coding&apos; is advice for a different team shape than mine.</description><pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate><category>leadership</category><category>management</category><category>playing-captain</category><category>hands-on</category></item><item><title>Founding AFAQ: What It Takes to Ship an EHR at 27</title><link>https://abualruz.com/writing/founding-afaq/</link><guid isPermaLink="true">https://abualruz.com/writing/founding-afaq/</guid><description>I founded a healthcare software company in Amman, managed 12 engineers, and shipped a cardiac hospital EHR in KSA. Here&apos;s what that actually looked like.</description><pubDate>Fri, 01 Nov 2024 00:00:00 GMT</pubDate><category>healthcare</category><category>ehr</category><category>startup</category><category>leadership</category></item><item><title>What HL7 Integration at a Cancer Centre Actually Looks Like</title><link>https://abualruz.com/writing/hl7-khcc-integration/</link><guid isPermaLink="true">https://abualruz.com/writing/hl7-khcc-integration/</guid><description>I integrated King Hussein Cancer Centre with Jordan&apos;s national EHR via HL7 v2. Here&apos;s what the wire format looks like and why it&apos;s harder than it sounds.</description><pubDate>Tue, 01 Oct 2024 00:00:00 GMT</pubDate><category>healthcare</category><category>hl7</category><category>integration</category><category>interoperability</category></item><item><title>HAKEEM: Rolling Out a National EHR at 22</title><link>https://abualruz.com/writing/hakeem-national-ehr/</link><guid isPermaLink="true">https://abualruz.com/writing/hakeem-national-ehr/</guid><description>I spent three years building HAKEEM, Jordan&apos;s national EHR built on VistA. Here&apos;s what rolling out to four hospitals actually looked like from inside.</description><pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate><category>healthcare</category><category>hakeem</category><category>vista</category><category>hl7</category></item><item><title>I wrote MUMPS in VistA&apos;s Pharmacy package</title><link>https://abualruz.com/writing/vista-gtm-deep-dive/</link><guid isPermaLink="true">https://abualruz.com/writing/vista-gtm-deep-dive/</guid><description>What it actually felt like to write production MUMPS routines inside VistA — Pharmacy, Billing, HL7 — on GT.M in Linux. Not a joke. I was there.</description><pubDate>Thu, 01 Aug 2024 00:00:00 GMT</pubDate><category>mumps</category><category>vista</category><category>gt.m</category><category>healthcare</category></item><item><title>What multi-tenant actually means when governments use it</title><link>https://abualruz.com/writing/elevatus-multi-tenant/</link><guid isPermaLink="true">https://abualruz.com/writing/elevatus-multi-tenant/</guid><description>Building Elevatus: an AI-powered hiring platform where a government ministry and a retail chain shared the same codebase and nothing could break.</description><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate><category>saas</category><category>multi-tenant</category><category>recruitment</category><category>ai</category></item><item><title>TCL/TK in production in 2018</title><link>https://abualruz.com/writing/tcl-tk-in-production/</link><guid isPermaLink="true">https://abualruz.com/writing/tcl-tk-in-production/</guid><description>How I shipped microservices and BPMN workflows on top of a TCL/TK core running on AOL servers, and why that was the right call.</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate><category>tcl</category><category>legacy</category><category>multi-tenant</category><category>saas</category></item><item><title>GWT + Spring Boot: a 2013 retrospective</title><link>https://abualruz.com/writing/gwt-spring-boot-era/</link><guid isPermaLink="true">https://abualruz.com/writing/gwt-spring-boot-era/</guid><description>I was doing type-safe full-stack Java when TypeScript was a 1.0 RC. GWT is gone now. Spring Boot is everywhere. Here&apos;s what that era actually felt like.</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate><category>gwt</category><category>spring-boot</category><category>java</category><category>nostalgia</category></item><item><title>Telecom billing, GWT, and why Salesforce hates you</title><link>https://abualruz.com/writing/blulogix-telecom-salesforce/</link><guid isPermaLink="true">https://abualruz.com/writing/blulogix-telecom-salesforce/</guid><description>What I learned building a cloud billing platform for telecom operators and integrating it with Salesforce when the data models fundamentally disagreed.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><category>telecom</category><category>billing</category><category>salesforce</category><category>gwt</category></item><item><title>From Gaming Center Net-Admin to Architect</title><link>https://abualruz.com/writing/network-admin-to-architect/</link><guid isPermaLink="true">https://abualruz.com/writing/network-admin-to-architect/</guid><description>What an unusual path through retail, LAN cables, and a gaming hall in Amman taught me that a straight line from CS degree to big tech never could.</description><pubDate>Fri, 01 Mar 2024 00:00:00 GMT</pubDate><category>career</category><category>retail</category><category>network-admin</category><category>early-career</category></item><item><title>Teaching Open Source at 22 in Amman</title><link>https://abualruz.com/writing/university-oss-club/</link><guid isPermaLink="true">https://abualruz.com/writing/university-oss-club/</guid><description>I co-founded a university OSS club in 2009 when open source was still an unusual pitch in the MENA region, and J2ME was a viable mobile platform.</description><pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate><category>open-source</category><category>teaching</category><category>career</category><category>community</category></item><item><title>Java 6 to 17: what each version actually changed</title><link>https://abualruz.com/writing/java-6-to-17/</link><guid isPermaLink="true">https://abualruz.com/writing/java-6-to-17/</guid><description>A working engineer&apos;s retrospective on 15 years of Java versions — not the spec, but what actually changed how I write code day to day.</description><pubDate>Mon, 01 Jan 2024 00:00:00 GMT</pubDate><category>java</category><category>kotlin</category><category>jvm</category><category>retrospective</category></item><item><title>Building prescription software during a pandemic</title><link>https://abualruz.com/writing/meinrezept-pharmacy-backend/</link><guid isPermaLink="true">https://abualruz.com/writing/meinrezept-pharmacy-backend/</guid><description>What the e-prescription backend actually looked like in 2020: legacy pharmacy integrations, RabbitMQ, and engineering under pandemic pressure.</description><pubDate>Wed, 01 Jul 2020 00:00:00 GMT</pubDate><category>healthcare</category><category>microservices</category><category>rabbitmq</category><category>pandemic</category><category>php</category><category>nodejs</category></item><item><title>Integrating Mobile.de, Amazon, and eBay in eight weeks</title><link>https://abualruz.com/writing/payever-ecommerce-integrations/</link><guid isPermaLink="true">https://abualruz.com/writing/payever-ecommerce-integrations/</guid><description>What marketplace integration archaeology looks like up close: three different inventory models, two months, and one unified domain schema to rule them all.</description><pubDate>Fri, 01 May 2020 00:00:00 GMT</pubDate><category>nestjs</category><category>e-commerce</category><category>integration</category><category>rabbitmq</category><category>typescript</category><category>mongodb</category></item></channel></rss>