Dax Raad on Building OpenCode: Fast Growth, Slow Thinking, and Why AI Hasn't Made the Hard Parts Easier

Open on YouTube ↗
Overview

Dax Raad is a co-founder of OpenCode, an open source AI coding harness that, by the numbers given in this conversation, grew from about 650,000 monthly active users in December to somewhere near 8 million within a few months. In this episode of The Pragmatic Engineer, Raad also argues that the tool he builds, and AI coding tools in general, have not made building good software meaningfully easier. The conversation covers that tension, along with how OpenCode was positioned, how the company turned Anthropic's block of Claude subscriptions into a growth moment, where its revenue comes from, why Raad thinks inference is highly profitable, and why they are tired of confident predictions about the future of engineering.

36 min read

"Objectively, stuff has become easier, but then why am I thinking as hard as I ever have?"

The host starts with the apparent contradiction. Raad builds one of the most widely used AI coding tools, yet says it is not enough on its own to produce better software. Raad's answer starts with dogfooding. OpenCode's team built the product for themselves, uses it heavily every day, and treats it as a critical part of their workflow. Still, "all the old problems" are there. Raad says they are working and struggling as hard as ever, even though much of the job has objectively become easier, and describes holding both of those facts at once as a strange feeling.

Raad separates companies by stage. Before product-market fit, AI helps little, in their view, because the main task is figuring out what to build. It might help a team "swing a lot," but Raad has always preferred thinking a lot to swinging a lot. Many ideas can be eliminated by thinking and talking with the team, and AI does not speed that up.

OpenCode is at the next stage: it has product-market fit and now has to live up to its potential. The problem is that there are a million possible directions: obvious improvements, things users ask for, things competitors ship. It is easy to respond to each one directly. A problem comes in, you prompt the agent. A competitor ships a feature, you prompt the agent. Raad says a thousand features added this way do not sum to a good product. They sum to "a horrible product" in which nothing is cohesive. Every shipped feature has to be supported indefinitely, and every future feature will interact with it, so the ability to ship ten times more does not mean a team has ten times as many good ideas.

As a result, Raad says a lot of their job now is figuring out how to slow everyone down. Over the past six months the team operated very differently than it ever had, "a lot of stuff went wrong," and they are now pulling back to work out what from the old way of working still makes sense. Raad also notes that no competitor is crushing OpenCode either. In a market where every competitor is deeply invested in AI, you might expect a large gap between those who use it well and those who don't. Raad says that gap doesn't exist.

From Minecraft mods to startups

Raad grew up programming. Their father was a software engineer, which Raad says made it easier to get started. They began working straight out of high school, founded a company they now say they didn't really understand how to run, and were eventually acqui-hired into what they call the "real tech industry." After that came consulting, several more startups, and about six years of full-time open source work.

One formative experience was the Minecraft modding scene. Raad worked on a modding framework and built mods with it. What interested them was less playing the game than building sandboxes: they ran a server with about 100 players and used mods to set up situations for observing how people behaved. The community lived on IRC and included very senior programmers who, as Raad describes them, weren't career-driven. They seemed comfortable, perhaps working a couple of hours a day, and put their talent into Minecraft instead. Raad says they learned a lot from those people in just a few months.

Later, Raad was head of engineering at Ride Health, a transportation and healthcare startup that grew to about 20 people. It went further than their previous attempts but "ended up in a disaster." Raad also met their wife there; she was head of product, which Raad jokes was better than a startup exit. Their main takeaway was skepticism about the "team of very young founders" stereotype. Everyone at Ride Health was in their twenties, and Raad says people's insecurities showed up as politics and drama. Startups are intense and personal, so anything unresolved in a person shows up at work. Raad feels their own brain didn't finish developing until around 26 and says that if they ever invest, they wouldn't back companies made up entirely of very young people. They describe the young-team success story as the exception.

Asked whether they considered big tech back then, Raad says the mid-2010s pressure was real: joining a big tech company or a hot unicorn seemed like the only path to success. But they couldn't bring themselves to do the structured interview preparation that path required. Raad considered themselves a good programmer and did well in some interviews, but didn't think they could compete with people who studied specifically for them. They were drawn to building practical things.

Into open source: SST and OpenNext

After Ride Health, Raad joined a Series B startup, the largest company they had worked at, and became a director with no programming duties. With three or four hours of manager meetings a day, they explored open source on the side and found SST, which Frank and Jay had launched only a couple of months earlier. Raad started contributing, invested in the round the founders were raising after Y Combinator, and joined the team a month later. The founders then returned the investment as salary, which Raad had to pay taxes on. Their joking advice: don't invest in a company you might join.

OpenNext is the project Raad says first made the team well known, and it was something they didn't want to build. SST served AWS users, and for about a year people kept asking for help deploying Next.js on AWS. Nobody on the team used Next.js, and recreating the right infrastructure meant digging into JavaScript bundling and Next.js internals, which Raad calls tedious. Frank ended up doing most of it.

From the start, Raad says, the goal was for OpenNext to eventually become unnecessary. They saw it as filling a gap left because the Next.js team's attention naturally went to Vercel, which Raad says wasn't malicious. The project annoyed Vercel, but it helped people deploying elsewhere. Other providers with similar problems joined in: Cloudflare, Netlify, and later Microsoft and Google built OpenNext adapters. Eventually the Next.js team created an official adapters API, and Raad says that over the past year or two things have become more collaborative and the need for OpenNext is fading. This pattern of rallying several companies against a shared gap comes up again later in the OpenCode story.

Why OpenCode: claiming the open source position

In February of the previous year, the company was pushing toward profitability. For three or four months it had been running low on money while revenue climbed, and in February it had about one month of runway left but also broke even. Raad says the team was oddly calm, feeling that something would work out. Breaking even gave them room to step back and decide what they wanted to work on.

Raad describes their general view of hype cycles. Anything with real potential attracts a lot of investment, and most of that investment doesn't make sense, so it's easy to dismiss the whole area. But usually a few things in it make a lot of sense, and sitting out means missing them. The team tried several AI ideas, many of which they dropped before launch after realizing they didn't make sense.

The turning point was using Claude Code as a team. It was the first AI coding tool that stuck for them because it directly solved annoyances in their workflow. Raad asked why they hadn't built it themselves and whether their open source experience gave them an opening. Their reasoning was about positioning. There were many coding agents, but none had claimed to be "the open source option," and Raad argues that in every category of dev tool, whether databases or compilers, the open source option eventually becomes the default. They also expected model competition to stay fierce: with billions invested, OpenAI and the open source world weren't going to let Anthropic win uncontested. A neutral, open source agent that worked with all models seemed valuable in that environment, so the initial push was to ignore everything else and secure that spot.

Growth: from 650,000 to nearly 8 million

OpenCode launched in June 2025 with three people, the co-founders. A friend joined to help build the first version, and a designer the team had long wanted to work with joined in the fall after launch. Growth was immediately better than anything they had done before. By December, OpenCode had 650,000 monthly active users. In the fall the team had said publicly that they aimed for 1 million by early the next year, and people thought that was unrealistic.

In January they reached 2.5 million monthly actives. Raad reports 6.5 million the previous month and, halfway through the current month, perhaps close to 8 million. The next milestone is 10 million.

Raad offers two explanations for the December-to-January jump. From their dev tools experience, usage usually dips over the holidays and spikes in the first week of January as people return with new things they've learned. This time, OpenCode grew through the holidays, which Raad says they had never seen with any product. Then in January, Anthropic blocked the use of Claude subscriptions in OpenCode.

Anthropic's block and the OpenAI partnership

Raad believes Anthropic is relatively new to working with developers. They say it's fine for a company to do what it needs to stay sustainable, but dropping a block suddenly around 9 p.m. sets you up for developer anger. A phased, communicated rollout over a month would still have upset people, Raad says, but wouldn't have created a single concentrated moment of outrage. Raad also says the backlash accidentally put OpenCode and Anthropic in the same sentence, which Raad says OpenCode didn't deserve given how much larger Anthropic is. That week's attention sent OpenCode's numbers up sharply.

Asked whether this was a case of AI making it too easy to act quickly, Raad attributes it instead to fast growth in general: a small action suddenly affects millions of people. They give an example from OpenCode itself. The team recently shipped a bug that opened OpenCode in light mode when almost everyone uses a dark terminal. In the past that might have affected 100 people; this time it "flashbanged" roughly a million.

The team had expected the block for a while, and Raad says they felt excited when it happened. Two things made them confident. First, they knew the "everyone has a $200 Claude Max subscription" view was a Twitter bubble; there was no way most of their 650,000 users paid $200 a month for anything. Second, they had already been negotiating official subscription support with other companies. Microsoft had agreed to officially support GitHub Copilot in OpenCode, and other deals were in progress but unannounced. They hadn't yet approached OpenAI.

The night of the block, Raad got around a hundred tags on X, decided "it's go time," and messaged OpenAI: when everyone woke up angry at Anthropic, OpenAI could win good press by taking the opposite position and officially supporting OpenCode. OpenAI agreed the next morning. While people online were saying OpenCode was finished, the team built the integration and announced official OpenAI support by the end of the day.

Raad ties this to the same pattern as OpenNext: "pick one temporary bad guy and then galvanize all their competitors to push something forward against them." Everyone competing with Anthropic had a reason to support access to their models in OpenCode. The host compares this to Linux, where the open core is advanced by competing commercial vendors. Raad agrees, saying good positioning keeps producing wins you didn't predict: if a neutral party exists, well-funded companies will use it to advance their own interests. Raad acknowledges OpenAI might one day become the "bad guy" if it dominates, and that is part of how competition works. They've heard criticism that OpenCode is too hard on Anthropic, but Raad argues that a small company only has influence over billion-dollar companies by applying pressure in the right places. Even someone who plans to use Claude Code forever, they say, should want other people to be able to use the tools they prefer.

Treating a dev tool as a consumer product

Asked why the gap existed, Raad says programmers building dev tools are bad at consumer products and don't realize that widely adopted dev tools are consumer products. Top-down enterprise sales can work, but the tools that become standards spread bottom-up: individual developers adopt them, and they spread into companies. To succeed that way you have to think like a consumer company, even as if you were launching Instagram.

For OpenCode, that meant the first launch had to feel different and better. The team built its own terminal rendering framework from scratch instead of using Ink like other terminal agents. Some users might find the interface overwhelming, Raad says, but they still leave thinking the builders are competent. The second priority was getting people prompting with as little friction as possible, including cases like a locked-down enterprise laptop.

Raad says OpenCode's harness, its core agent logic, was not very good for about the first five months. It was "good enough" that most people couldn't tell. Competitors assumed the smartest harness would win. OpenCode did the reverse: it won usage share first with a mid-level harness, then went back to improve it. Raad says it is now improving toward having the best harness while already being the most used.

Desktop app mistakes and declining a growth hack

The host asks about Tauri. Raad says it was used for the desktop app and calls it mostly a mistake. Raad does all their own work in the terminal but doesn't think 8 million people should be, and believes many OpenCode users would be better served by a GUI. The team saw early on that things would move toward web and desktop apps and was right, but didn't take the project seriously enough or think hard enough about technical choices. They are now moving back to Electron.

The host also mentions that Claude Code and GitHub Copilot tag commits and PRs with the name of the tool that produced them, which works as free marketing. OpenCode originally did this too because, Raad says, it was essentially a Claude Code clone at first. When users asked for a way to turn it off, Raad decided the feature felt "lame," like a casino using every trick to keep people in. It was too obvious a growth hack, so instead of making it optional, they turned it off by default.

Business model: OpenCode Zen and the enterprise control plane

OpenCode has two lines of business. The first came from reducing onboarding friction. Early users had to connect an Anthropic or OpenAI account, and new Anthropic accounts didn't initially get enough rate limit to use OpenCode. The team built an inference service, OpenCode Zen, so users could sign up and get access to all models with enough capacity. It started as an onboarding aid and grew quickly. As open source models became popular, the team found that hosting them properly is difficult, so Zen became a place for good inference on the best open source models alongside frontier models. Raad says Zen reached a $50 million run rate within about five or six months, and that margins can be good because open source models can be hosted profitably.

The second line is what Raad calls "extremely boring": a control plane for companies. A company with a thousand engineers can't just tell everyone to download OpenCode and add an API key. It needs central management for providers, permissions, budgets, and rate limits. That product is open source and has been deployed for enterprises; most customers pay for the hosted version, and Raad says it will be made publicly available soon.

Raad sees the timing as good. Companies are starting to look at their LLM spending and ask whether they're getting results. Open source models are now competitive and about ten times cheaper, according to Raad, so the enterprises OpenCode serves naturally start using inference for them. If that becomes the main business, OpenCode may stop charging for the control plane and charge only for inference.

Why Raad believes inference is profitable

Raad's case that inference is very profitable starts with cost structure. Once hardware is paid for, the lower limit on the cost of producing a token is the electricity to run it, plus operations and staff. OpenCode rents GPUs at scale, still through intermediaries, and Raad says that for some models, the difference between list price and OpenCode's cost is about 80% margin.

Raad also argues prices have effectively risen. People used to default to Sonnet because Opus was too expensive; Opus then got cheaper and became the default, but it still costs much more than Sonnet did, while hosting costs haven't changed. Raad speculates that with the largest GPU deals, Anthropic and OpenAI might see margins around 90% at current prices, though they don't think that's sustainable long term. Raad acknowledges that training and R&D costs are enormous, but says inference as a business makes sense and will continue to.

The host connects this to Bryan Cantrill's earlier appearance on the podcast: Cantrill said AWS hid its financials while cloud computing was widely seen as a poor business, and running a cloud turned out to be very profitable. Raad adds that any hyped business attracts negative sentiment, and companies have no reason to correct it.

GPU shortages

Raad has posted that there are not enough GPUs, and that even a company OpenCode's size is constrained by this. They describe the whole supply chain, from chip production to supporting hardware to labor, as tight. Raad thinks demand for inference may be growing exponentially while GPU production grows more linearly, and where those curves meet, supply tightens. OpenCode has to reserve GPUs and pay a lot upfront, and everyone is hoarding because they expect the shortage to continue.

Raad also points to scale: startups raising a couple of billion dollars seem huge, but Amazon, Meta, and others spend tens of billions a year, and suppliers are too busy with them to talk to smaller buyers. Based on their career so far, Raad expects shortages to end in oversupply, though they note it might be different this time.

Motivation: where productivity gains actually go

The host brings up a widely quoted post in which Raad argued that people talk about their teams as if they were already at peak efficiency and limited only by how fast they could produce code. Raad expands on it. Software engineers work at nearly every company in the world, and most of those workplaces aren't especially motivating. Most people want to do their job and go home to their families. Give them a button that makes work faster, and the rational thing is to do the same amount of work and keep the extra time. Raad says leaders should be realistic about where their employees will take those gains.

There's a second-order effect. In such organizations there are often a few people who are, in Raad's words, "irrationally motivated" because they love the work and push for quality. Those people are now overwhelmed by "slop PRs." Raad says OpenCode has hired people who were in exactly that role at previous companies and were burning out and leaving. Motivation, people, and emotions still matter a great deal.

Asked how companies should rethink motivation and pay, Raad says startups have it easier. OpenCode is in an exciting market, its hires are competitive and want to win, and everyone has equity that could be meaningful. Even before AI, Raad questioned why startups advertised two engineering roles at modest salaries instead of combining them into one salary that attracts someone who can change the company's direction. OpenCode needs about 20 good people, not a thousand. For large organizations, Raad says they have no good answer: at a certain size, there's no strong reason for anyone to do more than their job requires.

Raad sums up the startup situation with a joke. Before AI, they spent 95% of their energy deciding what to do and 5% doing it. Now it's 96% and 4%. That's a 20% improvement, but day to day it feels just as hard.

Costs, and whether the spending will last

On CFOs asking why each engineer now costs an extra $2,000 a month, Raad describes a "flexing" phase that comes with every new technology: companies want to look future-facing and brag about spending, say, $10,000 per engineer per month. Raad considers that narrative fake and expects it to fade. The real issue is that for a company with thousands of engineers, an extra $1,000 per engineer per month can break the budget, especially without clear results to show. Raad frames this as a temporary experimental period and doubts it will last in its current form.

Raad then describes a possibility, explicitly not a claim about what is happening: the net result of AI coding tools might be the same amount of work with happier engineers because their jobs are easier. For many companies that won't be enough, and they'll tell people to go back to typing code.

The host raises a counterpoint: some CTOs say they can't restrict tools because their best engineers would leave. Raad agrees this happens, comparing it to strong engineers leaving because they hate using Jira every day. But Raad sees that as the top of the market. At most companies, the policy is simply to use Copilot, possibly plugged into OpenCode, within set limits. Raad doesn't find the story that such companies will die from falling behind convincing.

The memo: too many features, too many hacks, not enough cleanup

The host quotes a memo Raad sent to the OpenCode team listing three challenges that Raad called old problems "turbocharged by LLMs": shipping features that weren't worth shipping; accepting hacks when a feature doesn't fit the original design, because the LLM can work around the hack; and not spending enough time cleaning up.

On the first, the team is trying to be more restrained and to define more clearly what they will ship now and what should wait until things are clearer.

Raad considers the second the biggest challenge. When a system doesn't support a new feature, you either rethink the system from first principles or accept a temporary hack, and that choice depends on how bad the hack is and how valuable the feature is. Raad says that judgment is now "so distorted" because the agent will write the hack and deal with its downstream problems, making "it's a temporary fix" too easy to accept. The team has shipped hacks in places where it should have redesigned or refactored.

The host describes the uncomfortable feeling of writing a hack by hand, the "prickle" that gets worse with each new hack and that comes from having been burned before. Raad agrees: that feeling is now muted because someone else is dealing with the problem. The landmines are still there and will still go off, but without that discomfort, judgment gets worse. Raad says all of life is about keeping the right feedback loops, and they disappear easily. The host compares it to a CEO who delegates everything and loses touch with how bad conditions are, and mentions that Stripe's CTO periodically spends a week coding in the company's environment. Raad agrees that you need to feel what users feel, including in your own codebase.

On cleanup, Raad admits it's hard to justify when a thousand people are demanding features every day, a thousand more say you're doing everything wrong, and new competitors appear constantly. Letting those pressures steer won't lead anywhere good, Raad says. The upside is that cleanup has never been easier: where a new pattern once only applied to new code, an agent can now apply it across the whole codebase and remove old patterns. Raad concedes there's no direct payoff and that companies can succeed without doing this. Their reason is that there are many ways to succeed and most successful companies are places you wouldn't want to work. Raad wants OpenCode to be a place people still enjoy in five years, not one where good people won't join because the work is mostly wading through legacy code.

The memo's most striking line, which the host quotes, is that the team wasn't trading these compromises for speed: "I think we're moving at a normal pace." Raad explains that it feels fast, but looking back they aren't sure it was, and they don't see OpenCode moving faster or slower than competitors. It's easy to fool yourself about productivity. Raad believes in laying groundwork first so that when you do sprint, you do it with much more force.

Tired of predictions

The host reads a viral post claiming that engineers aged 24 to 29 will become the most valuable people in tech because they have "pre-AI principles and post-AI speed." Raad pushed back on it publicly. Raad says they're tired of waking up to endless predictions and that this one follows a familiar pattern: people like me have every advantage, and people unlike me have every disadvantage. Raad reads this as a defense mechanism. Everyone is anxious about their place in a period of big change, so they confidently describe a future where they win. Traced back, most predictions reduce to "my company will succeed and others will fail" or "my job won't be replaced by AI, but everyone else's will."

Raad says young people have always had the advantage of energy and the disadvantage of less experience, and that the specific age range just happened to include the author. Instead of predicting, Raad focuses on what makes sense today and tomorrow. They didn't know a year earlier that they'd be working on this and don't know what they'll be working on a year from now. The host mentions that veterans like Kent Beck, Martin Fowler, and Grady Booch say they've seen shifts like this before, such as mainframes to microprocessors, but over a decade instead of a couple of years. Raad adds that what actually happens is almost always counterintuitive, the obvious predictions rarely come true, and the outcome will look strange now but obvious in hindsight.

Product principles that haven't changed

Raad describes OpenCode's product principle simply: a product probably has only one good idea, so get the user to experience it as quickly as possible. It's hard because accidental steps keep creeping in. Every two weeks or so, Raad runs a command that starts a fresh Docker container with OpenCode to go through the first-run experience, and they always find something the team has broken without noticing.

Raad argues that product work isn't about shipping a direct fix for each problem. It's about taking in many problems and finding one solution that addresses fifty of them. That takes experience, thought, conversations with users and the team, and understanding the codebase. Raad says they used to be terrible at it, are "okay" now, and expect to keep improving for decades, and that AI hasn't helped with this at all.

What has helped, Raad says, is years of good feedback loops: users yelling when Raad gets something wrong, and slogging through the codebase when a poor design makes a simple change hard. OpenCode tries to make sure nobody on the team is shielded from that. Raad thinks this becomes nearly impossible to maintain as companies grow, and gives an example from a past job: a product team cut corners to ship sooner, the support team absorbed the angry customers and manual fixes, and the product and engineering teams celebrated shipping without seeing the cost. Raad also values trying to build for the whole market. So many environments and constraints must be handled that outsiders often think you're focusing on the wrong things, but it changes how you think.

How the OpenCode team works

OpenCode now has more than 20 people, most of whom joined in the last three months or so. Raad says they're in the uncomfortable phase of having more people than ever while moving slower than ever as everyone gets up to speed.

As an open source company with public code, OpenCode builds in public as much as possible. Raad describes two phases for a project. First comes pushing it up the hill, the painful stretch from nothing to something that exists. Then comes filling in details once the main questions are settled. The team tries to get through the first phase quickly, aiming for a demo they want to show people. After that, vocal users provide direction: what's missing, where else it needs to work, what's bad. The engineer who built a feature handles the full cycle, reading GitHub issues and replies on Twitter and deciding the roadmap. Nobody summarizes feedback for them.

The founders try to give everyone context about the market, competitors, and OpenCode's position, expecting that people with that context will choose good priorities themselves. Raad treats motivation as central because this is a long game, and the way to stay in it is to work on things that excite you. So people pick what they think is the biggest problem. Raad says some team members have insisted on projects Raad argued against, and a few weeks later Raad realized they had been right.

Taste, quality, and doing irrational things

Raad thinks the idea of "taste" is fundamentally right, and that like most good ideas it is simple to say and hard to live by. Taste can be learned, but it takes a lifetime. The real question, Raad says, is whether people actually believe their product has to be good. There's a common view that code and product quality don't matter because companies with poor products and poor engineering still make money. Once that idea takes hold, Raad believes, you won't ship good products. Many great products could be 50% worse without an obvious effect, but quality shows up in ways that are hard to trace, and laziness in one place spreads everywhere, "like an infection." Raad says they're far from meeting their own standard and still find other products inspiring.

Raad names Mitchell Hashimoto as a hero: all his products were open source and widely adopted, Terraform became a default, the business model was well executed, and Ghostty's architecture reflects care for every detail. Raad points to a clip in which Hashimoto says a feature's value lies in how it interacts with every existing feature, and calls him one of the best at combining product thinking with programming.

Asked whether quality is one of the last advantages a small company has against giants, Raad agrees, adding that it's now easier than ever to let a product decay. Raad says big companies' products are decaying faster than ever and that even a year-old startup product is probably already degrading, which they attribute to agent-driven workflows. Quality comes from doing irrational things, about half of which you didn't strictly need to do, and few people are willing to work that way given the prevailing "cold logic" that equates good business with doing only hyper-rational things. OpenCode's own terminal framework is Raad's example. Building your own framework is what engineering teams are told never to do. But the team, as users of tools like Neovim and aware of what Hashimoto had shown terminals could do, couldn't get the experience they wanted otherwise. Raad says much of OpenCode's early appeal next to Claude Code came from Claude Code's jankiness and flickering, which didn't stop it from being very successful, but OpenCode's "irrational" focus on quality helped it compete with a much bigger, better-funded company.

Raad's setup

Raad uses a Framework Desktop running Arch Linux, a single 5K display, and a tiling window manager they've used for ten years, plus an SM7B microphone and an iPhone as a camera. Actual work happens over SSH on a more powerful remote machine, with one tmux session per project, usually split with Neovim on the left and OpenCode on the right.

Engineering leadership: old patterns return

Raad describes an idea they've heard from other leaders and are partly skeptical of. If engineers aren't writing code, their job becomes making it safe for anyone to ship with an agent, whether another engineer or the marketing team editing the website. That means guardrails, strong testing, and clear conventions agents can follow. Raad's objection is that this isn't new. It's what teams have always tried to do to help junior engineers ship safely and make less experienced people punch above their weight. Some companies managed it and some didn't.

OpenCode has long used domain-driven design lightly and now uses it much more heavily. Raad says these "boring enterprisey" patterns have become useful because "you have a bunch of idiots on your team now": coding agents that work 24/7 and ship a lot. You need more guardrails than before, and the old downside, the verbosity of typing it all out, mostly disappears when you no longer type the code. The host wonders whether 2000s-era design patterns will return. Raad says good programmers never needed those training wheels, but agents do.

Advice for engineers and a reading recommendation

Raad hesitates to give general advice because a startup doing open source is an unusual place to work. Their longstanding belief, which predates AI, is that software engineering is a skill applied to an industry, and that combining it with deep expertise in one industry is very powerful. A decent engineer who understands farming well might be among the ten most sought-after people in that niche. Engineers also don't have to commit to one field: you can spend ten years in medical software, decide you don't like it, and move to something else. Raad thinks a year in almost any industry puts you ahead of most people there, but warns that it's easy to ignore the domain and just finish UI tickets. Being able to learn any industry from the inside, they say, is both one of the fun parts of the job and a sound career strategy.

Raad says they barely read books. Their wife is an avid reader and passes along the best ideas, which Raad admits to repeating as their own. From an earlier reading phase, Raad recommends Nassim Taleb's work, including Skin in the Game and The Black Swan. Raad thinks a book is often "one good idea inflated into a book," but says Taleb's ideas describe basic truths you see everywhere. The idea that influenced Raad most is emergence: much of what's great in the world comes from many small entities interacting rather than from top-down design, whether in robust software, walkable neighborhoods, great cities, or organisms that resist disease. Raad says that once you understand the contrast between bottom-up and top-down system design, you see it everywhere, which fits how Raad talked about OpenCode's growth throughout the conversation: good positioning and the right feedback loops, rather than a detailed plan or a confident prediction.