<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rob MacDonald</title>
    <description>The latest articles on Forem by Rob MacDonald (@rob_macdonald).</description>
    <link>https://forem.com/rob_macdonald</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1730161%2Fa654d197-be04-4e0f-ac59-e45a23e75ffc.JPG</url>
      <title>Forem: Rob MacDonald</title>
      <link>https://forem.com/rob_macdonald</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rob_macdonald"/>
    <language>en</language>
    <item>
      <title>AFK: A Laid-Back Way to Work with AI on Bigger Features</title>
      <dc:creator>Rob MacDonald</dc:creator>
      <pubDate>Fri, 16 Jan 2026 19:25:20 +0000</pubDate>
      <link>https://forem.com/rob_macdonald/afk-a-laid-back-way-to-work-with-ai-on-bigger-features-2p0p</link>
      <guid>https://forem.com/rob_macdonald/afk-a-laid-back-way-to-work-with-ai-on-bigger-features-2p0p</guid>
      <description>&lt;p&gt;&lt;em&gt;[Originally posted on &lt;a href="https://www.linkedin.com/pulse/afk-laid-back-way-work-ai-bigger-features-rob-macdonald-viewe" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Sharing here for the Dev.to community.]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The speed at which AI coding tools are improving is impossible to ignore. Even &lt;a href="https://www.theregister.com/2026/01/13/linus_torvalds_vibe_coding/" rel="noopener noreferrer"&gt;Linus Torvalds is having a go&lt;/a&gt;! If the creator of Linux is experimenting with AI-assisted coding, if you're not already, it's time to pay attention.&lt;/p&gt;

&lt;p&gt;I've been in the software industry for quite a while, and AI tooling has been a genuine game-changer for my productivity over the last couple of years. It's helped me branch out into different languages, ship side projects I'd been meaning to build for years, and explore ideas I wouldn't have tackled alone. My &lt;a href="https://github.com/m0nkmaster/synth-tools" rel="noopener noreferrer"&gt;synth-tools&lt;/a&gt; project - a browser-based synthesiser - is a good example. Without AI assistance, that would still be on my "one day" list.&lt;/p&gt;

&lt;p&gt;But when you start using these tools on larger features, an anti-pattern can emerge.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Context Bloat
&lt;/h2&gt;

&lt;p&gt;Long AI chat sessions get messy.&lt;/p&gt;

&lt;p&gt;You're building something substantial - a new web app, a major feature, a multi-step refactor. You start prompting. The AI responds. You clarify. It revises, it's going well. You nudge the direction. It adjusts. Five or six exchanges in, the conversation is sprawling. Even with 200,000-token context windows, you can &lt;em&gt;feel&lt;/em&gt; it struggling.&lt;/p&gt;

&lt;p&gt;The model starts forgetting what you agreed earlier. It contradicts itself. It revisits decisions you already made. The output quality degrades, and you spend more time steering than thinking.&lt;/p&gt;

&lt;p&gt;This is &lt;strong&gt;context exhaustion&lt;/strong&gt;. The AI has filled its working memory with false starts, abandoned approaches, and conversational noise. It's become bloated and confused.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovering the Ralph Approach
&lt;/h2&gt;

&lt;p&gt;That's when I came across something called the &lt;strong&gt;Ralph Wiggum approach&lt;/strong&gt; - or just "Ralph" for short.&lt;/p&gt;

&lt;p&gt;The concept was first articulated by &lt;a href="https://ghuntley.com/ralph/" rel="noopener noreferrer"&gt;Geoffrey Huntley&lt;/a&gt; in late 2025, and it's been gaining traction ever since. Matt Pocock covered it on &lt;a href="https://aihero.dev/" rel="noopener noreferrer"&gt;AI Hero&lt;/a&gt;, Ibrahim Pima did a deep dive on DEV Community, and it's showing up in more and more developer conversations.&lt;/p&gt;

&lt;p&gt;The idea is named after Ralph Wiggum from &lt;em&gt;The Simpsons&lt;/em&gt; - a character who approaches each moment with fresh-eyed obliviousness, unburdened by what came before. In AI terms, that forgetfulness is the &lt;em&gt;feature&lt;/em&gt;, not the bug.&lt;/p&gt;

&lt;p&gt;Here's the core of it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fresh context every iteration&lt;/strong&gt; - Start each task with a brand-new AI instance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One task at a time&lt;/strong&gt; - Kanban-style: pick up a ticket, complete it, move on&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory through files, not conversation&lt;/strong&gt; - Progress persists via git commits and  concisely captured learnings, not chat history.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No more dragging old context forward. No more rescuing the model mid-flight. Each task gets exactly the context it needs, and nothing more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Pillars: Context and Focus
&lt;/h2&gt;

&lt;p&gt;Having been in the industry long enough to see patterns repeat, I immediately saw parallels with good engineering practice.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Context Without Bloat
&lt;/h3&gt;

&lt;p&gt;In the Ralph approach, context is something you &lt;em&gt;prepare&lt;/em&gt;, not something you accumulate. You don't patch it mid-run. You don't layer requirement on top of requirement until the developer loses the plot - or walks out!&lt;/p&gt;

&lt;p&gt;Each iteration starts clean. If the output is off, you adjust the inputs explicitly and run again. That makes failures &lt;em&gt;useful&lt;/em&gt; - they tell you something was unclear in the context, not that the AI had a bad day after a long conversation.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Focus on One Thing at a Time
&lt;/h3&gt;

&lt;p&gt;The other key is focus. Each task is clearly defined and narrow. Not "build the dashboard" but "design the data model". Not "add auth" but "define the auth flow and constraints".&lt;/p&gt;

&lt;p&gt;This dramatically reduces hallucinations and off-topic behaviour. The model has less room to wander because the scope is tight.&lt;/p&gt;

&lt;p&gt;If you've ever used Kanban properly, this will feel familiar. One card. One goal. Finish it. Move on. It's not an AI idea - it's a good engineering idea, applied to AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built afk
&lt;/h2&gt;

&lt;p&gt;I read the articles. I tried the pattern manually with shell scripts. It worked well. But it was fiddly. I wanted something that made the Ralph approach &lt;em&gt;enjoyable&lt;/em&gt; - a tool that encouraged people to give it a go.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;afk&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's a small, tool-agnostic CLI that sits outside any specific AI app. It doesn't care if you're using Claude, Cursor, Codex, or something else... It just runs the pattern.&lt;/p&gt;

&lt;p&gt;The workflow is simple:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Write a PRD
&lt;/h3&gt;

&lt;p&gt;This is the most important step. Take an hour or two. Write down what you actually want to build - the problem, the constraints, the expected outcomes. This becomes your source of truth. Work with an AI tool to build it. It should be a collaboration between product teams, engineering teams.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Weather Dashboard&lt;/span&gt;

A simple web app showing current weather for a given city.

Users enter a city name and see temperature, conditions, and a 5-day forecast.
Use the OpenWeather API. UI should be clean and mobile-friendly.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Import and Generate Tasks
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;afk import requirements.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;afk uses your AI CLI to analyse the PRD and break it into small, AI-sized tasks. The output goes to &lt;code&gt;.afk/tasks.json&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Review the Tasks
&lt;/h3&gt;

&lt;p&gt;This step is critical. Run &lt;code&gt;afk tasks&lt;/code&gt; and actually read what it generated. Are the tasks the right size? Do they make sense? Is anything missing or misunderstood?&lt;/p&gt;

&lt;p&gt;If the tasks don't look right, you have two options: refine the PRD and re-import, or edit &lt;code&gt;.afk/tasks.json&lt;/code&gt; directly. Either way, don't skip this step. The quality of the tasks determines the quality of the output. Garbage in, garbage out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Run the Loop
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;afk go        &lt;span class="c"&gt;# Start the autonomous loop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;afk works through the tasks one by one. Each iteration spawns a &lt;strong&gt;fresh AI instance&lt;/strong&gt; with clean context. It implements the task, runs quality gates (lint, test, typecheck), and auto-commits if everything passes. If something fails, it captures learnings and loops.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Memory Persists
&lt;/h3&gt;

&lt;p&gt;The Ralph approach isn't about starting from &lt;em&gt;nothing&lt;/em&gt; each time. It's about starting with the &lt;em&gt;right&lt;/em&gt; context. afk maintains memory through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Git history&lt;/strong&gt; - Commits from previous iterations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;progress.json&lt;/strong&gt; - Task status and per-task learnings (short-term memory)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AGENTS.md&lt;/strong&gt; files - Project-wide patterns and conventions (long-term memory)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Crucially, this isn't about piling up endless learnings until they become a novel. It's about keeping AGENTS.md &lt;strong&gt;fresh and focused&lt;/strong&gt; - capturing only the key insights that will help the next iteration succeed. The AI is explicitly instructed to curate, not accumulate.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Different Kind of Away
&lt;/h2&gt;

&lt;p&gt;The name "afk" isn't just cute - it's the point.&lt;/p&gt;

&lt;p&gt;When you step away from keyboard, you're not abandoning the work. You're giving the AI space to operate without your interference. And you're giving &lt;em&gt;yourself&lt;/em&gt; space to think strategically - to talk to product, understand the problem properly, or just take a walk.&lt;/p&gt;

&lt;p&gt;That separation matters. When you come back, you read the output cold, like a code review. You're less attached to it. You spot gaps faster. Your judgement improves.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pace of Change
&lt;/h2&gt;

&lt;p&gt;What's clear right now is that things are moving fast. AI coding tools are evolving by the month, sometimes by the week. What works today might look different tomorrow.&lt;/p&gt;

&lt;p&gt;Even Linus Torvalds - not exactly known for jumping on hype trains - is &lt;a href="https://www.theregister.com/2026/01/13/linus_torvalds_vibe_coding/" rel="noopener noreferrer"&gt;experimenting with vibe coding&lt;/a&gt;. As he put it at the Open Source Summit Asia: it's fine for projects that don't really matter. For his guitar pedal visualiser, that's the sweet spot.&lt;/p&gt;

&lt;p&gt;The Ralph approach sits somewhere in between pure vibe coding and the traditional interactive chat. It's structured enough for serious work, but hands-off enough to let AI do what it's good at.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Out
&lt;/h2&gt;

&lt;p&gt;afk is still early. I'm pleased with where it is now, but there will be rough edges. That's fine - I'm experimenting in the open and learning as I go.&lt;/p&gt;

&lt;p&gt;If this sounds interesting, give it a try:&lt;/p&gt;

&lt;h3&gt;
  
  
  Install
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/m0nkmaster/afk/main/scripts/install.sh | bash

&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;
irm https://raw.githubusercontent.com/m0nkmaster/afk/main/scripts/install.ps1 | iex
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Get Started
&lt;/h3&gt;

&lt;p&gt;Collaborate, speak to people, write a PRD you're happy with.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;afk import requirements.md    &lt;span class="c"&gt;# Parse your PRD into tasks&lt;/span&gt;
afk tasks                     &lt;span class="c"&gt;# Review - refine PRD or edit tasks if needed&lt;/span&gt;
afk go                        &lt;span class="c"&gt;# Start the autonomous loop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pick something real. Preferably something sizeable. Write clear requirements. Review the tasks - don't skip this. Let it run. Step away.&lt;/p&gt;

&lt;p&gt;That's where this approach starts to click.&lt;/p&gt;




&lt;p&gt;To find out more and dive into the detail, take a look on GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/m0nkmaster/afk" rel="noopener noreferrer"&gt;github.com/m0nkmaster/afk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love feedback - especially from people already feeling the limits of chat-based workflows. If something feels awkward, that's useful signal. If something clicks, I want to know why.&lt;/p&gt;

&lt;p&gt;Contributions welcome. Stay curious. Embrace the tools.&lt;/p&gt;

</description>
      <category>promptengineering</category>
      <category>cli</category>
      <category>ralph</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Global collaboration in Software Engineering</title>
      <dc:creator>Rob MacDonald</dc:creator>
      <pubDate>Fri, 14 Mar 2025 10:19:36 +0000</pubDate>
      <link>https://forem.com/rob_macdonald/global-collaboration-what-open-source-and-big-tech-can-teach-us-4c5a</link>
      <guid>https://forem.com/rob_macdonald/global-collaboration-what-open-source-and-big-tech-can-teach-us-4c5a</guid>
      <description>&lt;h3&gt;
  
  
  What open source and big tech can teach us
&lt;/h3&gt;

&lt;p&gt;Let me introduce the Synthstrom Deluge - a 'groove box'. It lets musicians create complete electronic music tracks from scratch. Electronic music has become my latest hobby and I love the Deluge, but what makes this device fascinating isn't my obsession with it. Two years ago, Synthstrom made a bold move: they released the device firmware as open source.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4ne7nzvyp3fwnhgozve.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4ne7nzvyp3fwnhgozve.png" alt="The Deluge" width="800" height="272"&gt;&lt;/a&gt;&lt;/p&gt;
Synthstrom Deluge - my new favourite toy






&lt;p&gt;The Deluge’s open source firmware development processes are &lt;em&gt;relaxed&lt;/em&gt; by corporate standards. No roadmaps, sprint planning, or formal hierarchies. Just a global group of musicians and programmers working across time zones. This isn't a simple project—it's sophisticated music hardware running complex C &amp;amp; C++ firmware handling audio processing to user interface design. Yet they're shipping features faster than many well-funded tech teams.&lt;/p&gt;

&lt;p&gt;In the first year of being open source, there have been three high-quality releases introducing dozens of well-received new features.&lt;/p&gt;

&lt;p&gt;This success story illustrates what I want to share about global software development.&lt;/p&gt;




&lt;p&gt;Over 25 years, I've seen software development from several angles. From working in a four-person startup to heading up a team of 30+ at Amazon Prime Video. I've led teams across Poland, Slovakia, China, and the UK.&lt;/p&gt;

&lt;p&gt;I've contributed to open source projects along the way, and what I've learnt is that the best practices in big-tech and open source are more similar than you think.&lt;/p&gt;

&lt;p&gt;My thesis is simple: three fundamental principles drive the success of global collaborative working:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Asynchronous communication first&lt;/li&gt;
&lt;li&gt;The importance of quality documentation&lt;/li&gt;
&lt;li&gt;A clear customer focus.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These principles sound simple and obvious. But implementing them requires challenging deeply held assumptions about how good software teams work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Seeing Both Sides
&lt;/h2&gt;

&lt;p&gt;I recently contributed to the Deluge project; adding new features, reviewing pull requests and realised I’m collaborating with developers from New Zealand to New York building complex software at scale, without many of the processes that we expect in our day jobs. No daily stand-ups. No quarterly planning. No ‘management’. But it’s working really well. My GitHub activity shows I’ve collaborated with over ten developers across various time zones in two months.&lt;/p&gt;

&lt;p&gt;Thinking back, Amazon's structured corporate processes and open source's volunteer-led approach share similarities in their operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Avoid Always-On Communication
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi! Got a minute? 👋&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a bug bear of mine. We've replaced the in-person disruption of shoulder-tapping with the digital equivalent scaled x10 using Slack and Teams. The result? Engineers regularly context-switching, the stress of responding to "always-on" availability, and knowledge split across private messages and chat channels. This can work well with a close centrally located team, but it's a weakness at a global scale and during onboarding.&lt;/p&gt;

&lt;p&gt;Open source takes a different approach. Most have a chat platform, but these are primarily used for chit-chat. Important communications happen in GitHub issues, discussions, and pull requests. Focused, single-threaded discussions that stay on topic and create a permanent record. No demand for an instant response.&lt;/p&gt;

&lt;p&gt;While slower, this communication is more efficient, leading to faster progress. Without the ping-pong of chat messages and impromptu meetings, developers can maintain focus and manage their time. Important decisions get captured rather than buried in message threads. Teams across time zones can contribute equally, rather than being nudged into someone else's "standard" working hours. The playing field is levelled.&lt;/p&gt;

&lt;p&gt;I recommend choosing minimal, integrated, async tools and sticking to them. Whether it’s GitHub, Jira, or something else, org-wide adoption and clear usage expectations matter. Amazon mostly uses internal tools - not the most feature-rich but adopted across the company from facilities, HR, to the teams owning the video streaming APIs, all teams use the same tools. And they are integrated into everything.&lt;/p&gt;

&lt;p&gt;Knowledge accumulates naturally, becoming more refined and useful over time. Code repositories become not just a collection of code, but a living knowledge base that grows with the project.&lt;/p&gt;

&lt;p&gt;This doesn't mean abandoning modern tools or returning to just emails. As leaders, it's about being intentional about team communication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intentional Documentation
&lt;/h2&gt;

&lt;p&gt;"Writing is thinking" - this mantra is drilled into every Amazonian. With teams across London and Beijing, I saw its importance. For every significant decision, product or technical, we'd write a two to six-page narrative document. The process was simple but powerful: write a proposal, circulate it for comments, and collect feedback. While we often reviewed these documents in meetings (with the famous 20-minute silent reading starts), being distributed, my teams had little in-office overlap. Alternatively, we ensured every stakeholder provided their comments before the author revised the document. We included a check box for each person to confirm they'd reviewed the document and communicated through annotated comments. This approach means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engineers across time zones review proposals at their convenience.&lt;/li&gt;
&lt;li&gt;Non-native English speakers have time to process and respond thoughtfully.&lt;/li&gt;
&lt;li&gt;Knowledge accumulates into an evolving knowledge base.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's fascinating how closely this mirrors successful open source projects. In the Deluge project, pull request checks enforce documentation updates. READMEs and Wikis are treated as code and product specifications, not afterthoughts. When I contributed a change recently, much of my PR’s discussion focused on improving documentation rather than implementation.&lt;/p&gt;

&lt;p&gt;This documentation-first approach creates a self-sustaining cycle in corporate and open source environments. Knowledge becomes discoverable and persistent, unlike chat tool conversations.&lt;/p&gt;

&lt;p&gt;PowerPoint isn't banned at Amazon, but I never wrote a presentation there. Presentations are synchronous and important information comes from discussions. Time is spent on making it look nice. A clear narrative forces precise thinking and a lasting record for revisiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Customer Focus is key
&lt;/h2&gt;

&lt;p&gt;Great documentation and async communication are powerful tools. But what motivates people to create and read docs? What drives engineers to write detailed pull requests, hold others accountable, and improve documentation?&lt;/p&gt;

&lt;p&gt;In open source, the answer is clear. Contributors join projects like Deluge because they believe in what they're building, and they're often users of the software. Everyone understands why they are there.&lt;/p&gt;

&lt;p&gt;When people care about the outcome, traditional management structures become less critical. We see this in successful open source projects; good practices emerge naturally because contributors care.&lt;/p&gt;

&lt;p&gt;The open source community has been customer-focused from the start. It’s not just about finding the right tools or processes. The most important thing is that when everyone knows what they are building, why, and for who, collaboration comes for free and location becomes irrelevant.&lt;/p&gt;

&lt;p&gt;This understanding is at Amazon’s core and summed up in their most often quoted &lt;a href="https://www.amazon.jobs/content/en/our-workplace/leadership-principles" rel="noopener noreferrer"&gt;“Leadership Principle”&lt;/a&gt;:  &lt;/p&gt;

&lt;p&gt;Customer Obsession.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. They obsess over customers.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is demonstrated in the PR FAQ (Press Release and Frequently Asked Questions) process, which is a key Amazon document that serves two main purposes: it validates that an idea solves a real customer need and captures the rationale for future reference.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summing up
&lt;/h2&gt;

&lt;p&gt;Here are my thoughts: whether you’re managing a distributed corporate team or contributing to an open source project, the fundamentals remain the same: prioritise asynchronous communication, insist on quality documentation, and maintain a focus on the customer.&lt;/p&gt;

&lt;p&gt;These principles work because they address the core challenges of global collaboration: time zone differences, knowledge sharing, and team alignment. When implemented thoughtfully, they create an environment where location is a non-issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps
&lt;/h2&gt;

&lt;p&gt;Here are a few ideas to try out.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Make Async Default&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Keep key information out of chat and in persistent docs.&lt;/li&gt;
&lt;li&gt;Write complete questions instead of "Hi!" or "Got a minute?"&lt;/li&gt;
&lt;li&gt;Make it clear that out-of-hours responses are not expected.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build a Documentation Culture&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Enforce document updates in pull requests and your definition of done.&lt;/li&gt;
&lt;li&gt;Try a document read meeting instead of a presentation.&lt;/li&gt;
&lt;li&gt;For remote teams, try async document reviews with checkboxes for stakeholders.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start with the Customer&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Try writing a PR-FAQ document for your next feature.&lt;/li&gt;
&lt;li&gt;Run a “Walk the store” session - get your team using your product.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As leaders, we must model these approaches consistently and set clear expectations. Teams follow your example: if you respect people’s time, favour async communication, prioritise documentation, and demonstrate genuine customer focus, they will too.&lt;/p&gt;

&lt;p&gt;Our behaviour shapes how global teams work together.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>global</category>
      <category>bigtech</category>
      <category>collaboration</category>
    </item>
  </channel>
</rss>
