<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Jamal Yusuf</title><link>https://jamal.dev/writing/</link><description>Recent content in Writing on Jamal Yusuf</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 12 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jamal.dev/writing/index.xml" rel="self" type="application/rss+xml"/><item><title>Developer Experience Is How Experts Stay Fast</title><link>https://jamal.dev/writing/developer-experience-is-how-experts-stay-fast/</link><pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/developer-experience-is-how-experts-stay-fast/</guid><description>&lt;p&gt;I used to think Developer Experience was a polite name for &amp;ldquo;make the engineers happier.&amp;rdquo; Stickers. A nicer wiki. A lunch-and-learn about the new pipeline.&lt;/p&gt;
&lt;p&gt;Then I watched a principal engineer spend forty minutes finding the &lt;em&gt;correct&lt;/em&gt; way to stand up a preview environment — not because they were slow, but because the organization had six unofficial ways and one official way that nobody trusted.&lt;/p&gt;
&lt;p&gt;That is not a happiness problem. That is a &lt;strong&gt;cognition problem&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Golden Paths Beat Golden Rules</title><link>https://jamal.dev/writing/golden-paths-beat-golden-rules/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/golden-paths-beat-golden-rules/</guid><description>&lt;p&gt;Every enterprise I have worked in had golden rules.&lt;/p&gt;
&lt;p&gt;Use this pipeline. Deploy this way. Don&amp;rsquo;t touch production on Friday. File a ticket for an environment. Put your Terraform in &lt;em&gt;that&lt;/em&gt; repo, unless you are Team B, in which case ask Dave.&lt;/p&gt;
&lt;p&gt;Some of those rules were wise. Almost none of them were &lt;strong&gt;walkable&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The difference matters. A rule is a sentence. A path is a sequence an engineer can complete on a Tuesday without a meeting, a waiver, or a folk hero.&lt;/p&gt;</description></item><item><title>AI Tooling Belongs on a Path That Already Works</title><link>https://jamal.dev/writing/ai-tooling-belongs-on-a-path-that-works/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/ai-tooling-belongs-on-a-path-that-works/</guid><description>&lt;p&gt;The pitch is always the same. Give every engineer an assistant. Watch velocity go up. Put the chart in a QBR.&lt;/p&gt;
&lt;p&gt;I have led AI enablement programs. I have trained engineers on Claude, Claude Code, and OpenAI tooling in a regulated healthcare environment. I believe these tools are real. I also believe most organizations are trying to &lt;strong&gt;buy a path they have not built&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;An assistant cannot outrun a broken Developer Experience. It can only generate code faster toward the same traffic jam.&lt;/p&gt;</description></item><item><title>Open Source AI in Mid-2026: The Convergence Is Real — And So Are the Divides</title><link>https://jamal.dev/writing/open-source-ai-vs-frontier-labs/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/open-source-ai-vs-frontier-labs/</guid><description>&lt;p&gt;There was a time, not long ago, when choosing an open-source model for anything serious felt like a compromise.&lt;/p&gt;
&lt;p&gt;You accepted lower reasoning quality, weaker instruction following, and the constant fear that your fine-tune would fall behind the next closed-model leap. Many teams defaulted to frontier APIs for anything that mattered and used open models only for prototypes or cost-sensitive classification tasks.&lt;/p&gt;
&lt;p&gt;That era is over.&lt;/p&gt;
&lt;p&gt;By the middle of 2026, the best open-weight models — DeepSeek V4 Pro, Qwen 3.7 series, Llama 4 Maverick/Scout, and a handful of strong GLM and Mistral variants — are competitive on the benchmarks that used to define “frontier.” On coding (SWE-Bench Verified, LiveCodeBench), mathematical reasoning, and general knowledge they often sit within a few points of Claude Opus 4.x, GPT-5.x, and Gemini 3.x releases. In several cases they match or exceed older frontier snapshots at a fraction of the cost or with full self-hosting rights.&lt;/p&gt;</description></item><item><title>GOMAXPROCS, CPU Limits, and the Kubernetes Trap That Silently Kills Go Throughput</title><link>https://jamal.dev/writing/gomaxprocs-kubernetes-cpu-limits/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/gomaxprocs-kubernetes-cpu-limits/</guid><description>&lt;p&gt;There is a particular kind of production mystery that appears only in containerized Go services.&lt;/p&gt;
&lt;p&gt;Your service is handling load fine on a development machine. You deploy it to Kubernetes with a sensible 500m CPU request and limit. The pod scheduled happily on a 16-core node. Under moderate traffic everything looks green in your dashboards.&lt;/p&gt;
&lt;p&gt;Then real traffic arrives. Latency climbs. Throughput plateaus well below what the node should be able to deliver. CPU utilization inside the pod hovers around 40-60% of the limit, yet the process feels starved. You add more replicas. The problem follows the pods.&lt;/p&gt;</description></item><item><title>Expert Vision: Cognitive Foundations for Human-AI Collaboration</title><link>https://jamal.dev/writing/expert-vision-ai-augmentation/</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/expert-vision-ai-augmentation/</guid><description>&lt;p&gt;Most AI tooling conversations begin with the model.&lt;/p&gt;
&lt;p&gt;I prefer to begin with the expert.&lt;/p&gt;
&lt;p&gt;Before I ever worked on large-scale backend systems or Generative AI platforms, I spent years building eye-tracking and cognitive systems at LC Technologies. I watched how radiologists, air traffic controllers, competitive gamers, and software engineers actually move their eyes, allocate attention, and make decisions under uncertainty. Later, through the Expert Vision research practice I founded, I formalized this into a framework for capturing, modeling, and transferring expert performance.&lt;/p&gt;</description></item><item><title>Reliability Engineering for Generative AI Platforms</title><link>https://jamal.dev/writing/reliability-engineering-generative-ai/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/reliability-engineering-generative-ai/</guid><description>&lt;p&gt;The first time an AI agent I helped put into production caused a visible incident, it did not fail dramatically.&lt;/p&gt;
&lt;p&gt;It failed quietly.&lt;/p&gt;
&lt;p&gt;A claims adjustment agent, under load, began making decisions based on slightly stale eligibility data. The downstream payment system accepted the decisions. Finance noticed the variance three days later. By then we had processed thousands of incorrect adjustments.&lt;/p&gt;
&lt;p&gt;There was no stack trace. No obvious error rate spike. Just a slow, silent drift in the quality of context the agent was operating on.&lt;/p&gt;</description></item><item><title>Context Engineering for Production Agentic Systems</title><link>https://jamal.dev/writing/context-engineering-production-agents/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/context-engineering-production-agents/</guid><description>&lt;p&gt;There is a moment in every complex AI project when the prompts stop working.&lt;/p&gt;
&lt;p&gt;You have beautiful ReAct loops. You have tool schemas. You have a vector store full of relevant documents. And yet the agent drifts. It forgets constraints three turns in. It hallucinates policy details it was explicitly told. It loses the thread between a membership eligibility check and the downstream claims adjustment it was supposed to trigger.&lt;/p&gt;</description></item><item><title>What My Side Projects Are Really About</title><link>https://jamal.dev/writing/what-my-side-projects-are-really-about/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/what-my-side-projects-are-really-about/</guid><description>&lt;p&gt;There is a particular kind of silence that arrives after a long day of architecture reviews and compliance checkpoints. The laptop is still warm. The room is dark. And somewhere in the back of my mind, a question starts tapping like a finger on glass: &lt;em&gt;what would it feel like if this were simpler, sharper, more human?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;That is usually when a side project begins.&lt;/p&gt;
&lt;p&gt;I do not build these tools to pad a portfolio. In my view, they are something closer to field notes — small, honest experiments in how software can support the way people actually think, focus, perceive, and play. Some are practical. Some are strange. All of them teach me something I bring back to the serious work.&lt;/p&gt;</description></item><item><title>The Boring Go Layer Between Your RAG Demo and Production</title><link>https://jamal.dev/writing/go-rag-ingestion-pipelines/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/go-rag-ingestion-pipelines/</guid><description>&lt;p&gt;RAG demos are seductive. Chunk a PDF. Embed. Retrieve. Watch the answer sparkle. Applause. Next slide.&lt;/p&gt;
&lt;p&gt;Production RAG is a &lt;strong&gt;pipeline problem&lt;/strong&gt; — documents that change, access policies that differ by team, embeddings that stale, audits that ask where a paragraph came from three quarters ago. The demo never shows that part. The on-call engineer lives there.&lt;/p&gt;
&lt;p&gt;I keep choosing Go for the unglamorous middle between source systems and vector indexes. Not because Python cannot embed. Because &lt;strong&gt;operations is a language choice too&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Validating Agent Outputs in Go Before They Touch Production</title><link>https://jamal.dev/writing/go-validate-agent-outputs/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/go-validate-agent-outputs/</guid><description>&lt;p&gt;An agent that sounds right is the most dangerous kind of wrong.&lt;/p&gt;
&lt;p&gt;I have seen it in healthcare workflows — confident JSON, clean prose, a downstream system that accepts the payload and only screams twenty minutes later when reconciliation fails. The model did its job. The &lt;strong&gt;system&lt;/strong&gt; failed to treat probability like probability.&lt;/p&gt;
&lt;p&gt;In Go, I fix that with a boring layer between the model and the world: &lt;strong&gt;validate before side effects&lt;/strong&gt;. Always.&lt;/p&gt;</description></item><item><title>Context Is the Kill Switch: Go, Cancellation, and LLM Timeouts</title><link>https://jamal.dev/writing/go-context-llm-timeouts/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/go-context-llm-timeouts/</guid><description>&lt;p&gt;The first time I watched an agent runaway eat a month&amp;rsquo;s inference budget in an afternoon, nobody blamed the model. They should have blamed &lt;strong&gt;the missing kill switch&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The model kept going because nothing told it to stop. Tool calls chained. Retries compounded. Goroutines — or their equivalent — waited politely for a provider that had already left the building.&lt;/p&gt;
&lt;p&gt;In Go, the kill switch has a name: &lt;code&gt;context.Context&lt;/code&gt;. And I think it is the most underrated tool in production LLM orchestration.&lt;/p&gt;</description></item><item><title>The Case for Sharp Design Systems in 2026</title><link>https://jamal.dev/writing/sharp-design-systems/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/sharp-design-systems/</guid><description>&lt;p&gt;There is a particular kind of interface that smiles at you while hiding its hierarchy.&lt;/p&gt;
&lt;p&gt;Rounded cards. Muted gradients. Friendly empty states. Everything slightly soft, slightly same — as if the design is afraid to tell you where to look first. I kept running into this in professional tools: dashboards that felt approachable until you needed an answer in under ten seconds. Then the softness became noise.&lt;/p&gt;
&lt;p&gt;I named my response &lt;strong&gt;REDLINE&lt;/strong&gt; — a design system for interfaces that &lt;strong&gt;commit&lt;/strong&gt;. Not playful. Not decorative. Not trying to be your friend. Trying to be &lt;strong&gt;clear&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Building Production-Grade AI Agents at Enterprise Scale</title><link>https://jamal.dev/writing/production-ai-agents-enterprise/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/production-ai-agents-enterprise/</guid><description>&lt;p&gt;An agent that cannot reach production systems is not an agent. It is a &lt;strong&gt;demo with ambition&lt;/strong&gt; — and in healthcare, ambition without integration is just risk in a nicer font.&lt;/p&gt;
&lt;p&gt;I learned this leading multi-agent platforms wired into claims, membership, and payment flows — real latency SLAs, real audit requirements, real members on the other end of every invocation.&lt;/p&gt;
&lt;h2 id="integration-over-isolation"&gt;Integration over isolation&lt;/h2&gt;
&lt;p&gt;The value was never &amp;ldquo;another tab with a chat box.&amp;rdquo; Experts wanted help &lt;strong&gt;inside the flow of work&lt;/strong&gt; — grounded in operational context, historical data they could defend, and APIs that did not lie.&lt;/p&gt;</description></item><item><title>Why Go Remains the Best Language for LLM Orchestration</title><link>https://jamal.dev/writing/go-llm-orchestration/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/go-llm-orchestration/</guid><description>&lt;p&gt;I have orchestrated LLM workloads in more than one language. Python gets you to demo fast. Go gets you to &lt;strong&gt;sleep&lt;/strong&gt; — or at least to on-call with fewer surprises.&lt;/p&gt;
&lt;p&gt;That is not ideology. It is fifteen years of distributed systems scar tissue talking.&lt;/p&gt;
&lt;h2 id="the-concurrency-advantage"&gt;The concurrency advantage&lt;/h2&gt;
&lt;p&gt;Agent orchestration is not one request. It is dozens of concurrent flows — tool calls, retrieval hops, validation steps, retries with independent timeout budgets — all competing for resources while a human waits on the other end.&lt;/p&gt;</description></item><item><title>Engineering Leadership in the Age of Generative AI</title><link>https://jamal.dev/writing/engineering-leadership-genai/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/engineering-leadership-genai/</guid><description>&lt;p&gt;The cloud shift asked teams to learn new deployment physics. Generative AI asks something stranger: &lt;strong&gt;learn new collaboration physics&lt;/strong&gt; — with tools that sound confident while being probabilistic, fast while being wrong in creative ways.&lt;/p&gt;
&lt;p&gt;Leading through that shift is not a tooling problem dressed up as strategy. It is a learning problem at organizational scale.&lt;/p&gt;
&lt;h2 id="lead-with-curiosity-not-fear"&gt;Lead with curiosity, not fear&lt;/h2&gt;
&lt;p&gt;I have seen two failure modes up close. Blanket restriction — &amp;ldquo;no AI until Legal finishes a novel.&amp;rdquo; Unchecked adoption — &amp;ldquo;ship the chatbot, ask forgiveness later.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Why Most Enterprise AI Agents Fail</title><link>https://jamal.dev/writing/why-enterprise-ai-agents-fail/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/why-enterprise-ai-agents-fail/</guid><description>&lt;p&gt;I have watched smart teams ship impressive agent demos — and then watch those same agents fail the only test that matters: &lt;strong&gt;would an expert trust this under pressure?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The model is rarely the villain. The retrieval design is.&lt;/p&gt;
&lt;h2 id="the-expert-retrieval-gap"&gt;The expert retrieval gap&lt;/h2&gt;
&lt;p&gt;Most enterprise AI agents are built around a comforting pipeline: chunk, embed, retrieve, generate. It looks scientific. It scales on slides. It also assumes experts think in paragraphs — flat, interchangeable, equally worthy of attention.&lt;/p&gt;</description></item><item><title>The Go Advantage for Production Agentic Systems</title><link>https://jamal.dev/writing/go-advantage-agentic-systems/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/go-advantage-agentic-systems/</guid><description>&lt;p&gt;Agentic systems are distributed systems wearing a chat costume. The sooner you accept that, the fewer 3 a.m. pages you earn.&lt;/p&gt;
&lt;p&gt;I have been building Go backends since 2011 — Kafka pipelines, membership APIs, payment flows, the unglamorous center of enterprise operations. When multi-agent workflows arrived, I did not reach for a new religion. I reached for &lt;strong&gt;the same primitives that kept the event backbone alive&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="why-go-for-agent-orchestration"&gt;Why Go for agent orchestration&lt;/h2&gt;
&lt;p&gt;Multi-agent workflows are coordination problems: fan-out, join, timeout budgets, partial failure, human escalation. Go&amp;rsquo;s concurrency model — goroutines, channels, context cancellation — maps to those problems without pretending parallelism is free.&lt;/p&gt;</description></item><item><title>Governing GenAI at Scale</title><link>https://jamal.dev/writing/governing-genai-at-scale/</link><pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate><guid>https://jamal.dev/writing/governing-genai-at-scale/</guid><description>&lt;p&gt;Governance has a branding problem. Say the word in an engineering standup and watch shoulders drop. I understand why — too often it means slow reviews, vague anxiety, and a PDF no one read.&lt;/p&gt;
&lt;p&gt;But here is the reframe that actually worked in healthcare: &lt;strong&gt;good governance is a force multiplier&lt;/strong&gt;. When teams know the guardrails, they move faster inside them. Ambiguity is what kills velocity.&lt;/p&gt;
&lt;h2 id="governance-is-enablement"&gt;Governance is enablement&lt;/h2&gt;
&lt;p&gt;In regulated environments, governance is not about saying no. It is about creating &lt;strong&gt;safe paths to yes&lt;/strong&gt; — predictable tiers, instrumented controls, and clarity about what Tuesday&amp;rsquo;s compliance conversation will look like.&lt;/p&gt;</description></item></channel></rss>