Landing the Plane
by James Stanier
Project completion hits a wall that takeoff never does. The ninety-ninety rule compounds edge cases, integration problems, and small decisions as teams drift toward easier wins under pressure.
A collection of blog posts I enjoyed reading and found worth sharing. Also available as an RSS feed.
Project completion hits a wall that takeoff never does. The ninety-ninety rule compounds edge cases, integration problems, and small decisions as teams drift toward easier wins under pressure.
Human review becomes the bottleneck at agentic scale. Quality gates migrate upstream into constraints, with tests, linting rules, security scanners, and benchmarks acting as enforceable guardrails.
Raw model output carries a signal of its own. Pasting unedited generations without refinement reads as laziness rather than collaboration, no matter where the thinking originated.
Model training is closer to baking than to sequential logic. Pre-training sets conditions at continental scale, while post-training nudges numbers through experiment, and the architecture reflects that split.
Quick reframes internal deployment as dropping assets in a folder and getting back a URL. Deliberate constraints on the platform surface became the catalyst for rapid prototyping across Shopify.
A proxy layer unified LLM access across 250 teams and cut PR lead time by 20 to 40 percent through automated low-risk approvals. Agentic engineering moved from experiment to infrastructure.
AI removes the collaborative messy middle that made abstract knowledge work tolerable. Workism depends on that middle, and the constructed illusion collapses once efficiency supplants exploration.
Every meeting with a direct report is an extension of the manager, not a negotiation across a divide. Treating the team as an extension of yourself creates the permission structure for growth.
Staff engineers find impact by absorbing day-to-day signals across teams rather than scheduling strategy sessions. Patterns surface across unrelated requests and point to problems worth solving at scale.
Credit travels through informal networks, since managers cannot independently assess complex work. Engineers who hand credit outward build the alliances that later carry their own projects.
Every query is a subset, so the response type belongs to the operation rather than the schema. Selections become the types, and dropping a field fails compilation immediately.
Benchmark optimization pushes models toward confident assumptions instead of clarifying questions. That trade weakens exploratory work, where user guidance shifts from valued signal to penalized interruption.
Yelp moved 1.4 million lines from Flow to TypeScript over three years, one package at a time, with both type systems running side by side. Gradual conversion beat a wholesale rewrite.
Client-side analytics reported 5,977 pageviews a week while the server logged 2.5 million requests a day. Geographic blocks and user-agent rules cut the noise without locking out real readers.
Listeners, timers, and subscriptions linger long after the view that created them. Soak testing compresses hours of real usage into minutes and catches the accumulation before production does.
No-code platforms won the middle ground between building and buying because custom software was expensive. Coding agents change that math and make bespoke code cheaper than platform lock-in.
Juniors have nothing to unlearn on new tools while seniors build the guardrails and process around them. Mixed-seniority teams produce stronger systems than either extreme on its own.
Delegation fails quietly when intent stays in the delegator head. Six questions on context, purpose, resources, success criteria, timeline, and risk surface the gap before work starts.
Magical thinking substitutes a simple story for the actual work of leadership. Understanding constraints, removing bottlenecks, and shaping team dynamics beat inspirational speeches and hiring myths.
Knowledge splits into facts, processes, and concepts, each needing a different learning strategy. Conceptual frameworks transfer across projects while the rest requires reference material or repetition.
Calling code the easy part erases the craft of turning vague requirements into systems that hold up. The hard part was always the code, because that is where the ambiguity gets resolved.
React Compiler retrofits optimization into existing code rather than requiring architectural redesign. The approach treats compilation as pragmatic enhancement, adoptable without forcing developers toward new patterns.
Loop engineering automates repetitive AI prompting by designing systems where agents run toward defined goals. Developers report drift and cost concerns, suggesting loops suit specific workflows rather than universal application.
Code Yellows and Code Reds formalize escalation protocols for infrastructure crises across Meta, LinkedIn, and Shopify. Success requires clear problem statements, measurable exit criteria, and cross-functional authority.
Software projects fail not from poor execution but from ignoring uncertainty in scope and deadlines. Successful delivery requires adaptive scope, incremental validation, and cross-functional viability from the start.
Agents generate code faster than humans can review it. The boundary between automation and accountability must remain human; someone has to answer for what ships.
Winning arguments rarely changes minds; they just wound egos. Divergent viewpoints shipped beat ideas proven correct, since success comes from competitive advantage, not intellectual victory.
Self-improving AI systems succeed through harness architecture, not raw capability. Workflow orchestration and persistent memory outweigh model weights; human stewardship remains essential throughout the loop.
Senior managers seldom change; people adapt to them instead. The Artist demands written clarity, the Dictator responds to preparation and pushback, the Knife requires distance, and adjustment beats transformation.
Meerkat eliminates leader-dependent bottlenecks in distributed consensus. All replicas write concurrently, and the trade-off is latency proportional to distance, ideal for consistency-critical control-plane state.
Two EU surveillance proposals advance in parallel. A temporary rule faced expiration then reinstatement in July 2026 while a permanent regulation deadlocks over voluntary versus mandatory scanning of private communications.
The AI industry survives on circular venture capital, not real demand. Hyperscalers consume 70% of revenues while subsidized pricing and relentless hype substitute for authentic user need.
Design docs answer one question: what's the penalty for being wrong. Catching expensive decisions before implementation beats exhaustive specifications that move coding problems to the design phase.
Engineering managers amplify team effectiveness through four responsibilities: people, technical, product, and delivery leadership. Each pillar's emphasis shifts with organizational context, but collectively they remove obstacles to success.
Meta's incubation teams succeed not through talent selection but organizational structure. Executive sponsorship, self-sufficient resources, clear customer problems, and advance scaling plans embed excellence beyond individual projects.
Custom select dropdowns need balanced sizing. Small pickers become unusable and oversized ones awkward, while calc-size() enables intrinsic sizing that respects viewport margins and minimum constraints without forcing unwanted expansion.
AI commoditizes code production, so engineers write less but review more and bottleneck on decisions. Technical proficiency no longer differentiates; judgment about problem selection and trade-offs becomes the rare capability.
Development conversation currently happens after commits, yet real collaboration occurs continuously. DeltaDB captures every operation as linked deltas, letting teams and agents work simultaneously while conversation and code remain connected.
Leaders assume authority drives adoption; teams comply temporarily then revert. Peer-driven change succeeds where mandates fail, since resistance framed as technical objection usually masks autonomy or identity concerns beneath.
All-hands meetings fail when perceived as leadership spectacle disconnected from daily work. Consistent structure, peer achievements, and mystery guests shift meetings from noise to information inoculation against gossip.
Software teams gain velocity by treating development as continuous discovery. Collapsing the time from 'let me try something' to user feedback through daily shipping and narrow scope becomes the competitive moat.
NPM registries maintain packuments that accumulate metadata for all versions. Drizzle ORM hit the 100MB ceiling after roughly 763 releases, preventing new publication to the registry for weeks.
AI capabilities are rendering the traditional dedicated people manager archetype obsolete. Engineering leaders must evolve from pure people management into design-focused roles to remain relevant.
Cross-team collaboration dysfunction typically stems from organizational structure and cascading goal incoherence, not collaboration skills. Restructure to eliminate unnecessary dependencies rather than perfecting collaboration itself.
Hyperscaler AI capex spending now exceeds free cash flow growth. OpenAI and Anthropic capture approximately two-thirds of the industry's claimed revenues, while other deployments accumulate losses across fragmented applications.
A hybrid architecture pairing native shells with React shows web technology can deliver desktop feel without Chromium bloat. Cross-platform parity came from intentional choices about feel, not framework selection.
Coding agents crossed into production-ready reliability while open-weight models exceeded expectations on consumer hardware. Model leadership shifted across providers five times in six months.
AI-generated code passes the eye test while hiding subtle logical errors. Documenting intent before generation and automating surface checks catches design issues earlier than waiting on code review to find them.
Hyperscalers burned hundreds of billions on AI infrastructure without a clear path to profitability. Enterprise spend lacks measurable ROI, exposing the gap between executive narrative and what the unit economics actually support.
Individual actions propagate through social networks up to three degrees of separation. Modeling citizenship through visible behavior shifts organizational norms more reliably than any policy mandate.
AI agents are strong implementers but lack accountability and contextual judgment for the decisions that actually matter. Human debate about constraints and trade-offs still produces better architecture than deferring to confident but ungrounded machine output.
Consistent contribution and visible work in open source accelerates growth past traditional career paths. Communication and community engagement earn recognition and responsibility faster than corporate ladders measure them.
Coding agents drop the cost of porting between languages, turning stack choices from permanent lock-in into manageable technical debt. Bun's Zig to Rust migration hints at how fluid these decisions become.
Local LLM inference on Apple Silicon costs roughly 3x more per token than cloud providers once hardware depreciation is included. Speed and privacy, not raw cost, are what justify keeping inference on the machine.
GitLab restructures around five architectural bets and flattens hierarchies to position itself for machine-directed development. The premise is that agentic software construction requires fundamental platform redesign, not AI bolted on the side.
Treating language models as autonomous agents adds latency and unpredictability. Typed input-output functions enable testability, composability, and debugging at lower cost than agentic workflows trying to reason their way to the same result.
AI collapses the translation layer between strategy and execution, eating most middle-management coordination. The 'what' expands while the 'how' shrinks, leaving judgment-heavy engineering and product roles as the only ones that scale.
Group effort drops predictably as team size grows, an effect Ringelmann measured a century ago. Small autonomous units, radical transparency, and peer accountability counter it better than adding hierarchical oversight.
Critical chain pools task buffers at the project level instead of padding individual estimates. Cutting estimates in half and tracking buffer consumption against progress surfaces scope creep weeks earlier than burndown charts.
Discovery, OKRs, and AI rarely help a struggling product org until delivery works. Slow release cycles and accumulated tech debt are the actual bottleneck, and everything strategic downstream treats symptoms instead of cause.
Design system value lives in accessible organizational memory, not in the tooling. Agents make confident mistakes when decision history scatters across Slack and ADRs. Structure data and governance first, then layer orchestration on top.
Leaders who always say yes erase their own judgment and train the organization to keep demanding more. Making commitment costs visible and holding operational boundaries breaks the loop before it becomes the role.
Go validates at runtime through discipline and tools. Rust encodes correctness into compile-time types that prevent entire categories of bugs. The trade is steeper upfront complexity for dramatically fewer production incidents.
Coding agents produce better code when given real-time feedback loops like linting, dependency rules, and mutation testing. Computational analysis catches mechanics; semantic issues across files still need LLM interpretation to surface.
Tech hiring growth diverges by geography. The US and UK expanded while Germany and France contracted. AI engineering roles surged 50 to 100% at major firms, outpacing general software engineer recruitment.
Code generation compresses work into shorter timeframes but concentrates cognitive load, replacing craft satisfaction with reviews and iteration. More output ships, less fulfillment remains, and burnout follows the density of thinking, not the hours.
Three management motions form one system. Exceptions flag deviations, presence transfers tacit knowledge, delegation pushes authority to local expertise. Run any of them alone and you get dashboards no one reads or leaders trapped in every meeting.
AI abstracts away manual coding the way frameworks abstracted browser mechanics, lowering both skill requirements and worker leverage. Leaky abstractions resurface when the tooling fails, and understanding the layer below stays non-negotiable.
Centering looks simple but demands different analysis across Flexbox, Grid, and positioning. Modern properties like text-box and anchor-center finally close the historical precision gaps that older recipes papered over.
Productivity gains turn into permanent indenture if maintenance cost rises with output. Doubling code volume without halving its long-term cost leaves teams trapped under their own velocity.
Seniors talk in complexity while the business talks in uncertainty. Reframing expertise as a solution to speed problems shifts seniors from objectors into editors of rapid AI-generated output.
Maintainers should treat OSS work on company time as legitimate professional work, not a side hustle. A direct-action stance on balancing corporate value extraction with maintainer sustainability.
European infrastructure providers run at production quality for most workloads. A two-month migration shows sovereignty is feasible; keep US services only where the context-specific advantage outweighs the cost.
AI authors code at scale while humans shift to editor and director. The constraint is not technology but the human cognitive ceiling and the 24/7 pressure that erodes Agile's core principle.
Technical decisions dominate engineering strategy while human alignment, communication, and realistic planning get skipped. Execution lives in those overlooked organizational factors, not the architecture diagram.
Strategic thinking is a teachable progression of analytical habits, not an innate trait that separates executives from managers. Moving up requires unlearning the habits that worked one level down.
Premature financial validation kills discovery. Early-stage product needs financials as guardrails, not goals, so teams optimize for customer outcomes instead of spreadsheet output.
A weekly five-minute record of impact protects your work from recency bias and review-cycle amnesia. Product-manage your career using shipped outcomes, not memory.
Stop babysitting one agent at a time. Sandboxes let them run wild safely and git worktrees let them run in parallel, trading more tokens for measurable velocity.
AI amplifies the system you already have rather than fixing it. Expect a productivity dip over three months before compounding gains arrive, with realistic first-year ROI around 39%.
Multi-agent systems collapse under accumulated message history. Slack uses structured journals, credibility scoring, and consolidated timelines to keep coherence across hundreds of requests without passing raw history forward.
Hands-on managers who keep solving problems directly stall the layer below them. The lever shifts to enabling other managers through shared context, multiplying impact precisely when you step away.
Thirty years of writing code with Phish on dissolved when managing agents replaced hands-on work. The trade buys leverage but surfaces a harder question: where does flow live in a queue-driven workflow?
The 30-60-90 onboarding plan breaks on inherited teams. Reading context first, fractured morale, structural gaps, unmet needs, beats imposing a template that ignores what's already there.
React decouples delivery from completion. Fast components ship immediately with placeholder markers while slow resolvers fill in asynchronously, turning streaming into a composition primitive.
When code is cheap, the moat shifts. Value lives in identifying genuinely hard problems and navigating their complexity, not in automating trivial generation.
Visible irritation, emotional bleed, defensive responses, and pessimism erode credibility faster than weak work. Composure under stress is the signal senior looks like from the outside.
Local inference fails on fragmentation, not capability. Picking one configuration and treating every failure as a product bug builds confidence faster than chasing breadth across hardware and models.
Senior engineers plateau at the business fluency ceiling, not the technical one. Translating technical choices into revenue impact and customer consequence is the work that earns a seat at the table.
Trade-offs are permanent, not solvable, so teams oscillate instead of settling. Healthier course corrections come from watching direction of movement, not chasing the next opposite.
React's API becomes a specification, not the implementation. An AI-generated lightweight variant lands ~9KB client and 2-3x faster SSR by treating the API surface as a target rather than a source.
Semantic HTML, proper labels, focus management in SPAs, and live regions cover most accessibility failures. Native elements do the work for free.
AI-powered bug hunting surfaced 271 Firefox vulnerabilities by steering agents to generate and validate hypotheses. Models finally got capable enough to separate signal from slop.
Frustration masks incomplete context. Leaders shift the question toward collaborative problem-solving, acknowledging real constraints while identifying where influence actually exists.
On-device AI eliminates vendor dependencies, privacy baggage, and network fragility. You build trust by not needing a privacy policy in the first place.
Effective leadership demands knowing when to step back and when to decisively intervene. The discipline is not picking a stance, it is recognizing which moment you are in.
Generation speed is no longer the bottleneck. Production-grade agent work shifts focus to verification, explicit contracts, and architectural clarity the agent can actually execute.
Technical excellence alone does not ship. Architects succeed by reading stakeholder motivations and building credibility with decision-makers, not by drawing better diagrams.
Feedback turns actionable only when leaders stop judging and start listening. Real change requires earning trust through curiosity, not defending against the signal.
Transformative technology takes decades to reshape society. AI is moving faster than historical norms yet still feels glacial because expectations outpace physics.
LightOn shipped semantic code search models that beat much larger alternatives, plus ColGrep for local hybrid search. Agents find relevant code measurably faster.
A zero-downtime migration of 248 GB of MySQL, 34 Nginx sites, GitLab, and Neo4j cuts the bill by 84%. Cloud pricing turns inefficient fast once your workload stops being spiky.
A catalog of principles covering architecture, teams, and decision-making. Read together they reveal that software reflects organizational structure and human constraints more than technology.
AI commoditizes knowledge and makes raw intellect table stakes. Leaders now differentiate on emotional wisdom, ethical judgment, and creativity, the parts algorithms still miss.
AI saturation breeds exhaustion, not from the tools but from unreviewed code and pressure to adopt without consent. The burnout here is grief over the field's abandoned ideals.
Railway swapped Next.js for Vite plus TanStack Router and cut build times from 10+ minutes to under two. Framework choice matters more than hype when iteration speed is the moat.
AI removes drudgery, but outsourcing understanding creates a quiet intellectual dependency. Judgment and adaptability stay irreplaceable; tools can only extend them.
Eighteen months in, the compiler auto-memoizes components and retires an entire bug class. Greenfield adoption is smooth; brownfield migrations still surface the rough edges.
Subscription pricing has been hiding the real per-token cost of AI products. As billing shifts to usage-based, the unit economics underneath the industry start to unravel.
Structural merging via mergiraf plus a Claude Code skill turns conflict resolution into a workflow, not a slog. Tools handle syntax-aware merges so you only weigh in on genuine ambiguity.
The middle layer of facilitation roles got squeezed as AI absorbed coordination work. Surviving engineering management demands either deep technical involvement or strategic portfolio leadership.
A long-time GitHub user moves off the platform after repeated reliability failures in PRs, issues, and Actions. The pain point is the surrounding infrastructure, not git.
Directness without strategy is just venting. Reading current beliefs and emotional impact before framing your message is what makes the same words actually land.
Painted-door tests gauge demand without engineering investment by showing fake features and measuring take-rate. A binary signal beats intuition before you commit resources.
One environment variable replaces a patchwork of per-tool telemetry opt-outs. A single standard for CLI and TUI tools to respect user intent without bespoke flags.
DeepSeek V4-Pro and V4-Flash hit competitive frontier performance while undercutting price dramatically. Flash undercuts GPT-5.4 Nano, Pro undercuts every flagship.
Forty of the sharpest minds in software gathered to map the AI-shaped future. The biggest takeaway. Nobody has it figured out, and that shared uncertainty is oddly the most useful answer.
A decade as an Amazon Bar Raiser, distilled into what actually separates strong candidates from the rest. Signal beats polish, and most interviewers look for the wrong things.
Automated benchmarks miss what actually matters in enterprise GenAI. Real quality signals come from humans in the loop, not leaderboards.
GitHub rebuilt diff rendering and found the win was not smarter code but less of it. The fastest path to performance often runs through simplicity.
The middle ground on AI isn't neutral. It's occupied by people who actually used the tools long enough to judge them. Non-use is not the same as balance.
Cybersecurity capability in LLMs is jagged. It does not scale smoothly with size, generation, or price. Small open-weights models matched a flagship on the same FreeBSD exploit at a fraction of the cost.
A team of eight engineers burns roughly 4,000 euros per working day, yet most organizations have no visibility into that number or what it takes to break even. Two decades of structural blindness now collides with the arrival of LLMs.
Power moves spring from insecurity, not authority, and they quietly corrode trust. Nine common ones and the damage each leaves behind.
Recursive rendering blocks the browser. Fiber slices work into ~5ms chunks so the main thread stays responsive. A walk through the linked-list tree of fiber nodes that powers interruptible reconciliation.
Signals power Solid, Vue, and modern reactivity, yet few devs can explain their internals. Pushes notify downward, pulls re-evaluate upward, and together they keep reactive graphs efficient.
Organizing code by technical layer scales poorly once features cross boundaries. Slicing vertically by feature keeps related code colocated, reduces cross-cutting churn, and makes ownership obvious.
MDN rebuilt its frontend and unpacks the why. Lit-powered web components replace a tangle of four git repos, cutting friction for authors of interactive examples.
One year after ditching Scrum for Shape Up, the team moved from maintenance mode to high output with happier engineers. Fixed time with variable scope beat the sprint treadmill.
Promise.then() implicitly flattens nested promises, a choice that lost functional programmers the Promises/A+ debate but won on convenience. Real concurrency control code reveals rare but legitimate uses for keeping the nesting intact.
RSCs became a paradigm you orbit around, not a primitive you reach for. TanStack reframes them as just streams of data the client fetches, caches, and composes. Powerful primitives lose their leverage the moment a framework makes them mandatory.
Move computation from runtime to build time. A Vite plugin that evaluates TypeScript expressions at compile time for smaller bundles and better performance.
Google's testing playbook: test size taxonomy, test selection strategies, and how to scale CI/CD without creating brittleness or slow feedback loops.
Agents reason better with structured context. How to engineer context quality so agents understand code intent and constraints.
Design systems should move slower than the products they serve, yet still enable rapid iteration. How deliberate pace prevents bottlenecks.
A mature design system isn't a library, it's an ecosystem. How components, tokens, and governance scale across complex organizations.
Knowledge silos compound every other technical debt. Practical strategies to identify and break them down before they paralyze your team.
Skip the metrics theater. How to design a minimal, effective process that uses the right metrics to drive real improvements in engineering productivity.
Apply wilderness ethics to engineering leadership: leave systems cleaner than you found them, minimize your footprint, and respect the team's capacity.
What looks like a management mistake often works surprisingly well. Larson challenges three conventional anti-patterns that actually drive results at high-performing companies.
Great corporate engineering blogs share specific technical insights rather than abstract principles. They succeed by writing about real problems and trade-offs.
Technical debt is a strategic tool for CTOs, not a burden to minimize. When managed intentionally as a financing mechanism, it accelerates delivery without sacrificing velocity.
Rather than top-down reorganization, solve staffing problems from the inside out using concentric circles to progressively expand and restructure teams.
Navigating a startup culture that rejects management infrastructure. When flat structures work and when they create scaling friction.
As systems scale, platforms must evolve into managed runtimes that abstract complexity and cognitive load. Moving from passive infrastructure to active runtime enablers.
Slack open-sourced their AI-driven migration tool that automatically converts Enzyme tests to React Testing Library, balancing modernization with preservation of testing intent.
Booking.com doubled their team's delivery performance in a year by systematically measuring and improving the four DORA metrics.
AI coding assistants can accelerate delivery but risk eroding the fundamentals that make engineers effective. Strategies to maintain depth while leveraging AI.
Design docs are a cornerstone of Google's engineering culture, serving as the mechanism for aligning teams and capturing architectural reasoning before code is written.
Cookies are ubiquitous client-side state flowing across every request, making them a critical security surface. How Slack detects and mitigates compromised session cookies.
Continuous incremental shipping beats ambitious batches. Regular releases reduce risk, gather feedback faster, and keep momentum strong.
Effective leadership isn't about having all answers. Create psychological safety where learning is expected, failure is normalized, and your team drives innovation.
Engineering challenges shift as products mature. Startup hustle, scaleup organization, and enterprise reliability each demand different strategies.
Incremental infrastructure modernization avoids the risk of full rewrites. Airbnb's approach to rolling out new React features while maintaining stability.
Strong engineering managers protect their teams by absorbing difficult decisions. Taking ownership means sometimes being the one who makes unpopular calls.
Effective AI prompting requires the same information architecture rigor we apply to software. Structure context intentionally for consistently better outputs.
Teams perform best when individual autonomy aligns with shared goals. Give engineers clear direction and freedom to solve problems their way.
LLMs can be powerful thinking partners for engineering leaders. Using them creatively for brainstorming and decision analysis sharpens your leadership.
What the data really shows about AI coding tools in 2025. Most effective as assistants handling boilerplate, not as replacements for human judgment.
Writing code is only one part of effective software engineering. LLMs excel at code generation but lack the architectural thinking and quality assurance that define professional development.
Effective organizations communicate fluidly across org chart boundaries rather than rigidly following reporting lines, accelerating decision-making.
Lessons from building a metrics tool using subagents to split work in parallel, demonstrating concrete patterns for AI-accelerated development workflows.
A grounded, practical approach to working with AI coding agents that cuts through hype and focuses on what actually works.
Technical strategies and infrastructure patterns for handling peak traffic during Black Friday and Cyber Monday at scale.
Claude can now discover and dynamically execute tools in real-time, enabling AI agents to take actions directly in external systems without pre-integration.
Challenges the assumption that modern management practices are universally correct, arguing context and organizational needs matter more than dogma.
Distilled wisdom on code quality, career progression, and the interpersonal dimensions of engineering drawn from nearly a decade and a half at scale.
The playbook for engineering management has shifted in the post-ZIRP era, requiring managers to balance efficiency with the realities of constrained resources.
Document templates and structural tools that help scaling engineering organizations maintain clarity and alignment as teams grow.
Explores the distinct challenges and opportunities of leading engineering teams across distributed locations, moving beyond one-size-fits-all remote work policies.
Manager instinct often says fix everything at once, but the easy way forward is paradoxically harder. Tackle bottlenecks sequentially to avoid chaos.
CEOs hold hiring power but depend on technical judgment they cannot independently evaluate. The partnership survives on candor and shared context, not technical competence alone.
Five critical questions are reshaping how we build software. Competing scenarios for each and what they mean for your choices today.
Scale frontend architecture without scaling complexity. Module Federation enables independent teams to ship in parallel without coordination overhead.
Neurodiversity isn't just about accommodation. It's about understanding how different thinking styles create friction in teams and how to navigate it.
When product and go-to-market strategies drift, founders lose leverage. How to align both around metrics that actually predict customer success.
A decade of management experience distilled into non-obvious advice that changes how you think about leading engineers.
A resilience pattern that tests whether your system can survive the removal of its own components. Architecture thinking at its most practical.
The SaaS model's greatest strength becomes a liability as AI commoditizes once-differentiated products. The race for profitability just got harder.
Performance gains matter in production. Practical optimizations to run Next.js faster in Kubernetes environments.
Career growth isn't always up. Discover the three key motivators that matter in a saturated job market and why your next strategic move might be staying put.
A deceptively simple framework for making hard decisions as an engineering leader by focusing on what matters most.
Real lessons from integrating AI tools into daily development work: what worked, what didn't, and how adoption patterns are changing how senior engineers operate.
How agentic AI workers with Mastra.ai and MCP can automate e-commerce operations end-to-end, reducing manual overhead significantly.
Move beyond simple request-response loops to deep agents that maintain state, reason over extended periods, and handle genuinely complex multi-step workflows.
Anthropic's battle-tested principles for building reliable, production-ready AI agents that actually work at scale.
Skip the experimentation phase with ready-to-use agent patterns and copy-paste code snippets designed to improve your LLM applications immediately.
Understand the evolution from simple automation to intelligent agents: their architecture, capabilities, and why they represent a fundamental shift in how we build software.
As AI coding agents evolve from tools to collaborators, our code organization and documentation must evolve with them. How to structure projects for agent-friendly codebases.
Build fully functional agents using on-device models like Phi-4-mini in under 200 lines of code, bringing AI inference closer to users.
MCP UI extends the Model Context Protocol to let AI agents return interactive components instead of just text, making agent outputs more actionable.
What happens when you build production infrastructure using only AI agents writing code? A two-month experiment in agentic development constraints.
Relying on LLMs for sensitive data redaction introduces hallucination risks where accuracy isn't optional. Deterministic approaches are essential.
LangGraph codifies complex workflow architectures as executable automations, giving structure to stateful AI reasoning.
The Model Context Protocol is creating a common language between AI and apps, enabling a new category of integrations and possibilities.
A grounded take on what AI is actually changing for non-tech folks, cutting through the noise to explain real implications.
Beyond technical debt: a framework for understanding four types of system debt including technical, evolutionary, and cognitive dimensions.
Microservices unlocked backend autonomy, but applying the same pattern to frontends isn't always the solution. When micro frontends genuinely add value.
Why do we comply with directives we privately question? The crucial distinction between power through fear and authority through legitimacy.
One engineer rebuilt Next.js on Vite with AI assistance, achieving 4x faster builds, 57% smaller bundles, and Workers deployment in a week.
A concrete cost comparison between CLI and MCP approaches reveals surprising economics for agent deployment.
Why CLI-based patterns are winning over MCP for building AI agents and what it means for the tooling landscape.
A practical technique for exposing hidden assumptions in your thinking by playing with timescales.
Agentic patterns aren't about replacing engineers. They're about building systems that elevate code quality and developer productivity.
The role of managers is evolving with AI, not disappearing. What changes and what stays the same.
AI tools are helping engineers write better tests at scale, tackling one of engineering's persistent blind spots.
Being right doesn't matter if nobody understands what you're saying. Learn the core gap between clarity and correctness.
A decade-long journey of migrating an entire codebase to TypeScript reveals lessons about gradual modernization at scale.
Behind the polished presentations and formal agendas lies a messier reality about how decisions actually get made in board meetings.
True rigor in modern systems often looks like apparent recklessness. The Phoenix Architecture challenges conventional wisdom about structure and control.
Transforming into an AI-first company isn't about tools. It's about fundamentally rethinking how software gets built and how engineering teams organize around that change.
A reflection on the cost of constant acceleration and what happens when you deliberately choose to slow down.
Knowing when to intervene as a manager is a skill distinct from knowing how. The difference between micromanagement and appropriate guidance lies in recognizing which moments actually require your involvement.
When you need something from a defensive or hostile coworker, transaction-focused approaches backfire. The strategy requires reframing the relationship before the ask.
The .claude folder is where you configure your entire Claude Code experience. How CLAUDE.md, custom commands, skills, agents, and permissions work together.
A hands-on guide to making Claude Code part of your actual development workflow.
React's use() hook reads promises and context at render time without the complexity of useEffect. The missing piece that finally makes async patterns feel native to component rendering.
A relentless focus on velocity led to building more interesting, random, and useless scripts and tools than ever before. Sometimes the best learning comes from building things that don't need to exist.
When a CTO is genuinely aligned with the business, the entire organization temperature shifts. Misalignment creates hidden friction that compounds across teams.
Code review catches bugs, but great review reduces comprehension debt. PRs should help teams understand the codebase faster, not just validate changes.
Coding agents work when they combine three things well: tools, memory, and repository context. Understanding these components explains why some agents fail and others don't.
A roadmap for the career arc beyond your first years in web development, from someone who's lived it.
Building reliable systems around AI agents requires intentional design patterns. Harness engineering treats the agent as a fallible component in a larger architecture.
Leaders who pause to examine what worked and what didn't gain insight that keeps them from repeating mistakes and compounds their effectiveness.
Technical debt isn't an engineering morale problem. It's a code problem. A quick audit reveals whether you're fighting the system or the people.
Time investment shapes thought patterns, which compound into skill. Where you focus your hours is where your expertise emerges.
Your silence at work isn't protecting you. It's costing you. Ask for what you actually need.
AI systems behave in ways that defy intuition and resist simple categorization. Understanding their weirdness is essential for anyone building with or around them.
AI commoditizes competence, but judgment becomes scarce. The real edge isn't in output quality but in pairing taste with context and the conviction to build something meaningful.