At Pinterest, ads are more than just advertisements; they are a vital part of the content ecosystem, designed to inspire users and connect them with products and ideas they love. Our goal is to surface the right ads at the right time, ensuring they seamlessly integrate into a user’s shopping journey and provide genuine value. To achieve this, understanding user behavior is paramount.
Delivering highly relevant ads in a dynamic environment like Pinterest presents unique challenges. Users’ interests and shopping intents evolve rapidly, making it crucial for our ad systems to adapt and anticipate their needs. Traditional ad targeting methods often rely on broad demographic data or static interest categories, which can fall short in capturing the nuanced and evolving nature of user behavior. — Read More
Tag Archives: DevOps
The 80% Problem in Agentic Coding
… Some time ago I wrote about “the 70% problem” – where AI coding took you to 70% completion, then leave the final 30% last mile for humans. That framing may now be evolving. The percentage may shift to 80% or higher for certain kinds of projects, but the nature of the problem changed more dramatically than the numbers suggest.
Armin Ronacher’s poll of 5,000 developers compliments this story: 44% now write less than 10% of their code manually. Another 26% are in the 10-50% range. We’ve crossed a threshold. But here’s what the triumphalist narrative misses: the problems didn’t disappear, they shifted. And some got worse. — Read More
Why We’ve Tried to Replace Developers Every Decade Since 1969
Every decade brings new promises: this time, we’ll finally make software development simple enough that we won’t need so many developers. From COBOL to AI, the pattern repeats. Business leaders grow frustrated with slow delivery and high costs. Developers feel misunderstood and undervalued. Understanding why this cycle persists for fifty years reveals what both sides need to know about the nature of software work. — Read More
Junior Developers in the Age of AI
For a long time, we were all hand-wringing over the shortage of software developers. School districts rolled out coding curriculums. Colleges debuted software “labs”. “Bootcamps” became a $700m industry.
Today, we have the opposite problem. Thousands of trained, entry-level engineers that no one wants to hire. — Read More
Vibe Coding Without System Design is a Trap
Lowering the barrier to creation has always been a net positive. WordPress turned anyone into a publisher. YouTube turned anyone into a broadcaster. Shopify turned anyone into an e-commerce operator. AI-assisted coding is doing the same for product building.
Let a thousand flowers bloom. I’m all in!
The problem: AI is very good at helping you build something. It’s not very good at helping you build something well.
The difference matters. — Read More
When AI Meets DevOps To Build Self-Healing Systems
Traditional DevOps, with its rule-based automation, is struggling to work effectively in today’s complex tech world. But when combined with AIOps it can lead to IT systems that predict failures and solve issues without human intervention.
In the fast-paced and ever-changing world of software development and IT operations, automation is a great asset. From CI/CD pipelines to provisioning infrastructure, DevOps has equipped teams to construct and deploy software faster than ever. But as systems become more complex, distributed, and data-rich, automation in isolation is not enough.
This is where artificial intelligence for IT operations (AIOps) enters the conversation. By embedding AI and machine learning with DevOps practices, AIOps shifts the paradigms beyond a workflow of defined rules. Not only does AIOps analyse data patterns and detect anomalies, it can also anticipate failures and take preemptive action with little or no human assistance. — Read More
Welcome to the Machine, a guide to building infra software for AI agents
… I happen to have a bit of time these days, so I decided to write down a question I’ve been repeatedly thinking about lately.
The main reason is that I’ve been seeing one trend with increasing clarity: the primary users of infrastructure software are rapidly shifting from developers (humans) to AI agents.
… Because of this, I’ve started to rethink the problem from a more ontological perspective: when the core users of foundational software are no longer humans but AI, what essential characteristics should such software have? — Read More
The Planning Paradox: Why your plans are useless, but planning isn’t.
Your carefully crafted roadmap is probably fiction within weeks of creating it. Priorities shift. Leadership changes direction. That feature everyone agreed on in Q1 planning feels irrelevant by April.
I learned this while launching a massive CRM overhaul at one of my previous employers. It wasn’t the plan that saved us. It was the planning.
… That’s the paradox: the plan became obsolete, but the act of planning together made us capable of executing even as everything changed. — Read More
Context plumbing
Loosely AI interfaces are about intent and context.
Intent is the user’s goal, big or small, explicit or implicit.
Uniquely for computers, AI can understand intent and respond in a really human way. This is a new capability! Like the user can type I want to buy a camera
or point at a keylight and subvocalise I’ve got a call in 20 minutes
or hit a button labeled remove clouds
and job done.
Companies care about this because computers that are closer to intent tend to win
… This is why I think the future of interfaces is Do What I Mean: it’s not just a new capability enabled by AI, there’s a whole attentional economics imperative to it. — Read More
How prompt caching works – Paged Attention and Automatic Prefix Caching plus practical tips
Recently at work, I had to build a feature on a tight deadline. It involved chat plus tool calling components. I didn’t give much thought to prompt caching as I was just trying to ship v0.
Following next week I started to optimise it and started realising some silly mistakes I had made under pressure. I ended up adding long user-specific data at the end of system prompt thinking that I just need to keep the longest prefix stable for a single conversation / messages array.
… I could find amazing tips for prompt caching but was unable to find a comprehensive resource on how prompt caching works under the hood. So here I am load-bearing the responsibility and suffering to write the post. Following “Be the change you want to see in the world” etc. When somebody searches “how does prompt caching work really”, my hope is this post pops-up and gives them a good idea of how prompt caching works with the bonus of learning how inference looks like at scale. — Read More