Observation log - 29 entries

Writing.

Engineering leadership, architecture, team practices - and the occasional build log.

Positivity Is a Leadership Tool, Not a Personality TraitA small amount of warmth at the start of a meeting can lower social threat, improve openness, and make direct work easier. Used badly, it becomes noise.OpenCode Is My AI Coding Home BaseI use OpenCode because it gives me a clean terminal workflow, strong extensibility, and the freedom to switch models without rebuilding how I work.Otto 2/x: Building the Thing I Actually WantedA personal build update on Otto: what changed since part 1, why it is built around OpenCode, what already works, and why the architecture became much more practical.Otto 1/x: Vision, Boundaries, and the BuildOtto is a personal assistant that runs on your network, with explicit permissions and a sandboxed execution model. This is the vision and why it starts with trust boundaries, not hype.We're Building on Rented Ground (And the Lease Is Expiring)AI tools feel like magic and we're building around them. But what happens when you can't code without them, and they cost $3,000 a month?I built AI Agents to fix my job Search. It worked.Job titles are meaningless. 'Engineering Manager' can mean building teams or managing HVAC systems. I built five AI agents that search by role substance, not keywords. Five weeks later, I had an offer from my top choice.Designing for What SurvivesWe design for anticipated change and get blindsided by everything else. Residuality Theory offers a different lens: stop predicting what will change, start understanding how your system falls apart.Choose Boring Technology (Your Future Self Will Thank You)The tech that wins isn't the newest or most exciting. It's the one that stays running while you build features.The Modern Monolith 4/4: Operating the Monolith-Simplicity as StrategyThe operational story matters more than the architectural one. A well-structured monolith is straightforward to run, which means you spend time on features instead of infrastructure.The Modern Monolith 3/4: When to Stay, When to SplitThe modular monolith isn't a temporary solution. For most teams, it's where you should stay. But sometimes you do need to split.The Modern Monolith 2/4: Building a Modular MonolithStructure without distribution. Clear boundaries enforced at dev time. Here's how to build a monolith that won't trap you later.The Modern Monolith 1/4: Why Small Teams Should Start HereA monolith isn't spaghetti code. It's a deployment decision that makes sense for most teams. Microservices solve problems you probably don't have.LLMs as Semantic Middleware 3/3 - Between Humans and SystemsHow the same architectural logic that makes LLMs useful in software also applies to how people communicate and coordinate.LLMs as Semantic Middleware 2/3 - Where They Belong in the StackPlacing LLMs inside real systems: how semantic middleware fits between intent, execution, and feedback.LLMs as Semantic Middleware 1/3 - Translating IntentThinking of LLMs not as oracles but as middleware that sits between human ambiguity and system execution.Transparency 6/6: Measuring Transparency - Finding the BalanceTransparency isn’t a feeling; it’s a system property. You can measure how information moves, how safe people feel using it, and how fast learning travels.Transparency 5/6: Leadership Transparency - Sharing Context at ScaleLeaders should share almost everything. The challenge isn’t how much to reveal, but how to make radical openness useful, humane, and scalable.Transparency 4/6: Work Transparency - Showing Progress Without MicromanagementTransparency shouldn’t feel like surveillance. Here’s how to make work visible in ways that build trust, not control.Transparency 3/6: Decision Transparency - Making the Why VisibleGood decisions age well when their reasoning is visible. This is how to make the why discoverable without drowning people in paperwork.Transparency 2/6: Psychological Safety - The Precondition for TransparencyTransparency fails without safety. Fear turns openness into performance, while trust turns it into learning.Transparency 1/6: Why Transparency Matters (and Where It Breaks)Transparency isn’t a moral good; it’s a system property. What happens when organizations claim openness but operate in the dark?Mob Programming 3/3 - Beyond Code: Where Else Can We Mob?Exploring how mob programming applies outside of coding - design, incidents, onboarding, and more.Mob Programming 2/3 - Can You Mob Without a Room?Exploring how mob programming works when everyone is remote - what changes, what stays the same, and how to set it up for success.Mob Programming 1/3 - One Task, One Keyboard, Full Team AttentionAn introduction to mob programming as part of my learn-in-public series - how it works, why it matters, and when it pays off.Enterprise setups that work: Opencode with demos and hosted modelsHere is how I run CLI-first AI coding in real teams without drama. One realistic enterprise pattern, plus a simple demo setup anyone can try.Make AI Coding CLIs Reliable: Practices That Actually Hold Up In TeamsHere's how I run AI from the terminal day to day. It's opinionated, boring on purpose, and it keeps repos clean.AI Coding CLIs in 2025: A Practical GuideA hands-on guide to the best AI coding CLIs in 2025, including setup, configuration, and a practical comparison to help you choose the right tool for your workflow.Feedback as your teams core value: How to Build a Culture That LearnsExplore why feedback is a critical tool for growth, how most feedback cultures fail, and a step-by-step guide to building a culture of continuous improvement.Domain Thinking: Your Superpower in the AI EraAI has undeniably changed the day-to-day of software engineering - but not always in the ways the headlines suggest.
Let's build something that lasts.
engineering leadership · system architecture · or just a chat
Email me →