093: Agentic engineering is here to stay with Thorsten Ball

Dominic:

Hello, gophers. You're listening to go podcast. I'm Dominic StPierre.

Morten:

And I'm Morten.

Dominic:

And we have a guest today, Thorsten Ball. Thank you for joining us.

Thorsten:

Thanks for having me. Happy to be here.

Dominic:

The one and only, if I can say that.

Thorsten:

I mean, maybe I think there's more.

Dominic:

But yeah. No. But, I mean, yeah, you're you're pretty pretty well known in the community and whatnot. So yeah. We we won't talk about your two books because, well, I I think you you have talked about them a lot.

Thorsten:

Yeah. It's been ten years. Can you believe it? Ten years.

Dominic:

Yeah. It's kind of crazy.

Thorsten:

2016, the first book came out. Yeah.

Dominic:

Yeah. They are still recommended a lot, though. They they are still they are still pretty pretty active. It's nice

Thorsten:

to see. Yeah. I still get people still send me emails and obviously read the books. And funny coincidence, I live in pretty small town here in Germany, and there's no tech to speak of, you know, like not really, you know, like not tech in the sense that we think of tech. And then I got an email, I think it was two or three months ago, from somebody who was like, hey, is it possible to get a signed copy of the book?

Thorsten:

And I read that sentence, was like, then I need to order them and sign it and send it out. You know, like, obviously, you have to do that. And then I read the next two sentences, and he's basically saying, oh, yeah. I live in the next town. You know?

Thorsten:

So he actually lives in the next town over where I didn't expect anybody to know of me or of the book. So I signed the book, walked over there, and dropped it off at his place, which was pretty cool.

Morten:

That's crazy. Cool.

Dominic:

Yeah. Damn. You you could you could have been kidnapped and whatnot, like, the mystery the misery, or I don't I don't recall the the title of the of the film and whatnot. You you could have been kept there.

Thorsten:

Yeah. It's a common trap, you know. Hey. You sign your book. Hey.

Thorsten:

A lot of authors get killed that way.

Dominic:

Oh, well. What can we do? It's a it's a hard life.

Thorsten:

Yeah. Hey. It's a risk I'm willing to take, you know, all for my audience.

Dominic:

Well, so you've you've you've worked at Sourcegraph and went to zed a couple of times and returned to Sourcegraph.

Thorsten:

Yeah. Yeah. Yeah. Interesting.

Dominic:

Was was Ross not up to the to the game for you or something like that?

Thorsten:

No. I think I mean, prior to, you know, joining Zed, I always had, you know, the thing that I do at work, and then I did the thing that I do on the side, you know. So before I joined Soul Scrap, for example, which was my first full go job back in 2019, I did, like, obviously, the books, right, like, the side, you know, for the prior four years, and Go was my side thing, and then the hope was, oh, someday I'll get, like, a job where I get to write Go. And I did write Go previously at a not a job, but not as the full time thing. And so it while at Telescope, I got into Rust, and then I worked on, like, my side project in optimizing compiler and Rust, and I worked on this, and then Zed was the thing where I'm like, okay, now let's see if I can really do Rust, you know.

Dominic:

And

Thorsten:

it was async Rust, or it is async Rust, it's a desktop application, it's performance sensitive, it's a completely different thing from a lot of other things that I worked on before. Before that I hacked a little bit on Ghosty Determiner Emulator in like the first few versions and I had got like five six patches in or something and it kind of started this appetite for, you know, desktop applications and tweaking the performance and millisecond precision, 120 frames per sec, like all of that stuff. And then at Zed, I had all of this, but it wasn't Rust that made me go. It was, you know, in hindsight, I don't know. Some people like this kind of music, some people like that kind of movies, and I just felt like it didn't click for me.

Thorsten:

Like, I don't know. The the the team is fantastic. They're really, really good programmers, but I think I I kind of was, you know, more after, like, building a successful business in some sense. And I think, Zed, there's a big part of it that's about building the best possible text editor. And, you know, I get it, I fully get it, but at the same time, AI got stronger and stronger, and, you know, Cursor was taking over the throne from Versus Code and autocomplete, and I worked on the autocomplete, the LLM based autocompletion headset, and we fine tuned the model.

Thorsten:

And I think a lot of those different things combined made me think, no, I gotta move on, you know? Sure. And then I looked around and talked with friends and talked with other founders or, like, even investors who had, like, portfolio companies. But at the end of the day, I landed back at talking with Quinn, CEO back then of SauceGraph. And and I was like, yeah, you know, like, what I I talked with him and I at this point, I had become, as the kids say, AI pills, you know.

Thorsten:

This is this was this was in November 24, I think. And I was like, okay, everything's gonna change. Like, text editors, like, all like, I I could see many things that you I I felt like an heretic, like, writing about it even or mentioning it, you know. Like, this was late twenty four when if you mentioned AI, people were like, ugh, you're a traitor to the programming community. You know, like, nobody would say this, of course, but there was this sense of this.

Thorsten:

And I I said all of these things to Quinn, and I was like, this was noncommittal. He was in Frankfurt at the airport, and I live like thirty minutes from the airport, and he was like, hey, you wanna meet up, and you know, have breakfast, and we're just talking, and I gave him this whole, here's what I would If I were back at Salzkraft, here's where I would put an LMN, you know, and here's what I would do, and and we've realized, oh, yeah, like, we should, yeah, come back and do all of this. And then I was like, yeah, why not, you know. And then I went back, and then after two month there, we quickly hit on this thing, AMP, started building this, and then took a life of its own and became the product AMP, the coding agent, and now it's its own company. And now I'm the cofounder with Quinn and, well, with and 18 others, like a team from Slotka split off, and to only do AMP.

Thorsten:

And, yeah, now I'm at AMP since basically November last year and working on a coding agent, you know. And it's been a ride the last two years.

Morten:

That's really cool. You also you kind of got me AI pills. Gotten this AI pill since, I read your article, The Emperor Has Not Close. I was just like, this cannot be true. You know what This cannot be true.

Morten:

And then I started building another coding agent, but kind of like my own coding workflows. And then I think I think it was Cloud Code came out and I just switched over to that. And I was just mind blown. Yeah. But I think that article you wrote was was great.

Morten:

I kept sharing it because I think it was it really opened

Thorsten:

a lot

Morten:

of people's eyes to how easy it is to build these these agents.

Thorsten:

That's cool. That's nice. Yeah. I I think that will you know, like, sometimes when you write a thing and there's this, I have to get this out, you know, like I because back then, just to set the scene, this was in early twenty five, right? I think I published it in March 25 or something.

Thorsten:

And back then, Cursor was still the reigning chairman. Like, I this was maybe a week or maybe either a week after or a week before Claude Code came out. And then, you know, we already had AMP when ClawdCode came out, but we hadn't released it. But Cursor was king and people were talking about tab completion, they were talking about models, they were talking about embeddings, they were talking about apply models, which Cursor had. So in a in a chat with the, you know, we called them assistants back in the day, with an assistant, you would have like a separate model who would then modify the files and you would have like, I don't even deterministic things baked into this where, oh, if the model replies like this, then we replace the file.

Thorsten:

And and then what Quinn and I ran into and, obviously, what is then the the the recipe of success successful, all of the coding agents is that you don't need much. Like, the models are so good. You just give them tokens. You give them these tools, and then the magic is in the model. And you don't need embeddings.

Thorsten:

You don't need an apply model. If you give an agent, you know, back then, like, I don't know, three tools, read file, list file, glob files or something. Right? So an l s, a ripgrep, and, you know, cat, basically. And if you do this and you ask it, hey, where now code base do we handle password resets or whatever?

Thorsten:

It will go and it will find it. And it's amazing. Like back then it was amazing, incredible. And this was back when people were like, oh, you need embedding search and you know, this other thing and you need to index the whole database and then the magic was, no, you just give it three tools and then you let it run and it will find it. You know, it will run multiple graphs, it will run multiple list files, it will open multiple files, and it will have a good answer for you.

Thorsten:

And I think that to me was mind blowing and I felt like I have to get this out. You know, that's that's where the the subtitle, The Emperor Has No Clothes, you know, came from. Like, the title is How to Build an Agent, and the subtitle is this because people were like, oh, you need all of this fancy stuff. And no, you the the whole point is it's just the like, the magic is in the model. These models are getting more and more powerful.

Thorsten:

And the more powerful they become, the less hand holding they need. So, yeah, I I felt a strong need to get it out. It's funny to hear you that it resonate with you, and you also shared it.

Morten:

Yeah. Yeah. A lot. I mean, I I joined a a hackathon here in in Barcelona where I basically built this what was it? It was like a it was like hackathon around using AI to to build VC tooling, and I built this company research tool and I just I basically just did what you do in your article, but then I also gave it access to the SERP API, something like it does Google searches for you.

Morten:

And then I did a live demo while I was presenting and one of the VCs at a portfolio company was like, try try and search about this, you know, and I just that was it I did. And then it generated a report, and the guy was like, how how did it find that information? Right? And there was there was nothing else to do. It's just like, hey, you are this, do this, here's the tools.

Morten:

Yeah. And it's up to the races.

Thorsten:

Yeah. I did a demo. This was the day before I published that post at, like, an internal Sourcegraph company meetup, and I was on stage talking about AMP and, you know, coding agents, and I I did a demo. And somebody who is now on the AMP team, Brady, he said he still remembers that demo, and he still thinks it was one of the most mind blown moments. And it looks quaint now, or it sounds quaint, but what I did was I had a website open and I took a screenshot and I used, you know, from the screenshot tools, the arrow thing, and I pointed arrows at two buttons, took the screenshot, pasted it to the agent and said like, flip those two buttons, you know.

Thorsten:

And that was it. Like, no no source code mentioned, nothing else. And the agent would go, it would read the text in the image, it would recognize what the arrows are pointing to, It would find the buttons in the code. It would find the file. It would flip the buttons and would say the buttons are now flipped and you would see the website update in life and the buttons are flipped.

Thorsten:

And, you know, this whole thing of taking a screenshot and annotating it and giving it to your computer, you know, as somebody who's been programming for twenty years, it's alien, you know. It's alien that a computer can now understand this. And, yeah, it's yeah. I'm still I I still think it's amazing.

Morten:

Yeah. That is crazy.

Dominic:

You know what? I found it amazing. Me, it's not it's not for coding, but sometimes I'm on on Stripe, and my screen reader isn't isn't telling me something. I I take a screenshot, and I ask the the LLM, you know, can you please tell me where the f is that thing?

Thorsten:

Yeah. Yeah, that's a good example. Yeah. That's a good yeah. I the what I use is I haven't used in a long time, but the phrase I used is the models are like fuzzy to non fuzzy converters, you know?

Thorsten:

Or back, you know, non fuzzy to fuzzy and what You can you can point at stuff or you can say, what is this? And you you don't have to be precise, you know, you don't have to be binary correct or wrong, and now the computer can understand you, you know? It's crazy.

Dominic:

Can can we can we return a little bit to

Thorsten:

Yeah.

Dominic:

To technical a little bit? I thought I'm I'm curious to hear, you know, not exactly what you what you said when you when you talked with with Quinn about the potential of what it could be different and things like that. But can can we can we have a you know, can can you explain a little bit what exactly are we talking about and what what amp brings to the table that, you know, other I don't even know how to call that anymore, but other cooling agent is is doing.

Thorsten:

I mean okay. So in that specific conversation, this is before I came back. Right? But it it's AMP wasn't a thing. But what I said was I But it could

Dominic:

be it could be contrasted with what it is today, for example.

Thorsten:

Yeah. I well, you know, I'll give you an example. So in my first first time at Sourcegraph, I worked on something called batch changes, which is Sourcegraph is, you know, to recap, it's a a code platform, background code search platform. We had customers with, you know, 30,000, a 100,000, 400,000 repos and you would put them into Sourcegraph, we would index them and you could say, find me the function called so and so, and you would have you could say, give me the commit that touched this function in the last two weeks, and it would search through, you know, your 100,000 repos and find it and whatnot, and elaborate searching and whatnot. And I was the lead for a long time on a team called Batch Changes, which allowed you to do a lot of changes across many many repos.

Thorsten:

You could say, you you would start and write a YAML where you would describe these changes. And it kinda, think of it like a GitHub Action YAML, you know, where you have like different steps and caching and there was some logic in there with like, you know, conditionals and whatnot, and fun fact, jumping back to the interpreter, I built a partial evaluator for this, so I would partially evaluate the YAML and like put, you know, to evaluate the conditionals so you get out the final thing that you need to run. So that came in handy, and that's something I always mention when people ask, like, what do you need to know about interpreters? And I'm like Well, it came in handy once.

Dominic:

This thing was Turing complete or what?

Thorsten:

Yeah, yeah, no, it wasn't Turing Turing, but, you know, I guess, I guess, well, I don't have proof either way, but you could do some things. And the problem was you could run these commands of what behind the scenes what it would do is you would find all of the by specifying a search query, would find all of the relevant repos, say all of the repos that use Node. Js or Go version 1.13 or something, and then you would say give me all of the repos that have a GO mod file or something, and GO one thirteen, and in those repos run blah blah blah to update the GO version, and then you would specify the shell commands, right, to do this. And that's how it worked, and that's how people do this, and then you can manage all of those changes, and you can create pull requests or merge requests, like fifteen, twenty thousand at that time. And it was pretty, you know, looking back, pretty deterministic, like you you would specify these these specs and say, this is the change I want, and then you would find the repose, and you would run the bash commands and whatnot.

Thorsten:

And one of the problems that we constantly ran into is that when you run through 10,000 repositories, you they all look different, you know, like, yes, they all have a go mod file, but turns out, you know, one has a vendor folder, the other doesn't. The in one, the go mod file is in a subfolder, the you know, like stuff like this. One uses ASDF or MES or that kind of stuff. And so then you start to run this, and then you will go back, and then you will say, oh, if, you know, you write bash by hand, if you can imagine it still, like you would write bash and say, if there's a ASDF or a MES or whatever, then do this. If the Go mod is in this, use the folder, c d into the folder, and then do the like, all of that stuff, and you would kinda, by trial and error, get closer to the perfect spec that can do your change.

Thorsten:

And obviously, that's a shitty UX, like, you know, like, it's not fun. And it it's kinda like, you know, when people try to get something working in CI, and they you see the commits where it's like, try again, try again, dot, try again, and then the f words and f words, you know, and that's kind of what it was. So then I talked with that's one thing that I worked on. And then the other thing that I worked on was code intelligence. So we would index, semantically index code bases in source graph.

Thorsten:

We would you know, summary is we would extract the symbols, we keep an index of symbols, you know, and then you can say, give me all of the classes that start with whatever, foobar abstract something something, and it would find you all of the classes or the methods or the functions, or all of that stuff. And for that, we had to do this whole indexing thing, right? You had to index on every commit, and then keep these indices, and then you had a query language, and all of that stuff. So that was two things. And then when I worked, you know, coming back from Zed and I was talking with Quinn, I was like, man, like if I had to build batch changes today, I would put an LLM in there.

Thorsten:

Like, nobody like, the idea I had, this was before coding agents, the idea I had was nobody should have to write YAML by hand, but you can fine tune a model so you can write in, like, and say, hey, I could write me a batch spec, like a spec file that changes all of the upgrades, all of the Go versions and all of this, and look out for Go mod file. And then the model could generate you the YAML. Right? Nobody should ever have to write YAML. That's what I said.

Thorsten:

And then for the indexing, for the searching, like, nobody should have to remember the search queries, you know, like all of that syntax. Like, why not have something, an LLM that knows your search syntax, which I don't know, like it had five operators and, you know, like, it wasn't that crazy complicated. But what I said was nobody wakes up in the morning and says time to learn some search queries. What they wake up in the morning for is I wanna solve my problem and if I have to search for something, then I don't wanna make this the task of my day, you know, like, shouldn't have to think about this. So these are two things where I was like, I I would put LLMs in these, like, they are knows they are now so good, they can solve this.

Thorsten:

But then then we found out while working on this, we worked on AMP, and we basically found that loop that I put in a blog post where you give the agent these models. And now suddenly, both of these problems are solved in a way as if you have enough tokens. Right? But, like, spawn a code you can spawn a coding agent. Back then, Claude three seven, Claude three five.

Thorsten:

Right? You could say upgrade the Go version in this repo. And without knowing anything about it, without specifying anything upfront, I think it will manage to do it. You know? No matter where the GOMOD file is, no matter what the SYNNEX is, no matter whether there's a vendor subfolder or a subdirectory or whatever.

Thorsten:

And it it will knock it out. Like, you can now specify natural language these outcomes that you want, and you can spawn agents like these repos, and they will do it. And then the other thing obviously is, you know, instead of indexing all of the code and building huge indices and keeping them up to date with every commit, if you ask a coding agent, where do we have the class abstract foobar defined, it will nail it. Like, it will nail it now. And that doesn't mean that all of the non agent solutions to this are invalid.

Thorsten:

Obviously, there's costs and efficiencies and all of that to to take into account, but it changes the game. And a lot of the software that I previously worked on, I can see now not being obsolete, but it's like, wow, like, the problem for users that I try to solve in a specific way is solved in a much better way with this other thing now. And, you know, that was a big, big, big moment when Quinn and I basically, you know, looked at each other and was like, oh my god, like, this is gonna change a lot of stuff, you know. Why would you wake up and learn search query syntax if you can write in natural language to AMP or Codecs or whatever and say, find me this, you know, and it does it. And you could also see the trajectory of these models.

Thorsten:

You could see how much smarter they were getting and, you know, faster too. And, you know, if there wasn't a shortage, I guess they would also be cheaper by now. But that was a big, big bang moment for us. This discovering this loop and seeing that, you know, oh yeah, we've been working for me, I've worked on DevTools for six, seven years at that point, Quinn for ten, eleven, and you could just see like how many problems, you know, fall away now or can be solved in a different way.

Dominic:

Yeah. Okay. That's that's a lot to digest. This this this this problem space seems to be so intriguing to me. Now it's it's the, you know, it's it's not like I'm I'm I'm in a need for source graph or anything like that.

Dominic:

So I knew what it was, but just hearing you talking about it and me placing me in the shoes of people in in bigger and, you know, enterprise and whatnot. Why? These these people have totally different problems than what I have, so that that's always interesting to hear. But

Thorsten:

Yeah. There's there's another thing. I'm blanking on the name. Big hassle guy, he was at Facebook for a long time. He always wears these tie dye t shirts.

Thorsten:

I'm blanking on there. But he's he's a really smart guy. And back then, so Meta also has a code search engine, right? Google has code search internally. And one of the big promises of SauceGraph was we bring these code platforms that, you know, these big tech companies have internally, and Quinn and Beyong, the two co founders of Starskraft, they were at Google at some point.

Thorsten:

The goal was, like, we bring this to the masses, right? You know, like you you can't even imagine how good the dev tooling is at Meta or Google, but with Sourcegraph, you can also have it, you know. And so the person I can't remember the name of, I'm sorry. Man, I wish I could remember the name. But he was at Meta for a long time, and he was also a professor, and, like, the guy knows programming.

Thorsten:

He thought a lot about programming, and he had this presentation, I think it was even mid twenty four, you know, and basically he he had a slide, I think it was an internal presentation, and he worked on the code search platform or something at Facebook, and he said, well, these models and AI are gonna change everything because why search for code if you can generate the solution? You know? And I think that that summarizes so much of what we're still seeing, where the problem that people wanna, people don't wake up thinking, I want to search code, you know? And in large companies, they don't think, oh, my problem is searching code. No, the problem is how do we render a user avatar on our website?

Thorsten:

Somewhere in our code base, must have a component for this. Or how do we do a service to service authentication? You know, somewhere there must be this. So one solution to this problem is you have internal wikis, you have documentation or code search, right? So you search for authentication, you search for user avatar, and you find other code examples, right?

Thorsten:

But back then, and I think he was talking mostly about like completion even, like tab completion. Right? Where you would start typing code or you start writing a comment back then with Copilot or something where you would write and now we've rendered user avatar, whatever, but assuming it knows about your code base, it would then generate the code for you. And the problem is now solved, and you didn't have to go and search for it. You didn't have to search for the code.

Thorsten:

And I think that I saw this, and I was like, yep, that's that's exactly 100% right. I I fully get it, and then I try to convince everybody else. I, you know, it was the same with Copilot, like, why search for code if it generates the code for you? And I was on a big, big, like, roller coaster at this point, and I think, you know, now we're still seeing the effects of this. Like, we're still seeing this how a lot of dev tooling now gets rethought and and kinda mixed up in a lot of ways, you know.

Thorsten:

To to give you an example, like from yesterday, I I was setting up I had to reset my computer, and I had to set it up from scratch again. And I I I was like in the mood, and I was like, oh yeah, maybe I should update my VimConfig. I've been using Zed a lot, but I haven't been using my editor a whole lot in the last two years. So, but I was like, yeah, maybe, like, what's, you know, let's redo my VimConfig. I wanted to switch from Vim, you know, the Vim language, Vimal, I guess, Vim language, to Lua for a long time.

Thorsten:

So I just asked AMP, and I was like, hey, redo my VimConfig, and boom, it did it. And then I was like, hey, I need some plugins for this and this and that, and boom, it did it. And when I compared this experience to how many Saturday mornings I spent

Dominic:

Oh, yeah.

Thorsten:

10 ago of, like, finding out stuff, tweaking it, writing this, and it's just it's astonishing to me. And I I still think we're gonna see a lot of other stuff change like this, where right now we think, oh yeah, we're gonna use AI to do the thing that I've been doing faster, which is what the VimRC stuff would be, but actually, I don't have to do the thing at all anymore, you know? Like, I don't use AI to write me search queries, you know? No, I use AI to find me the thing, or I use AI to generate me the code. And I think we're just at the start of this.

Dominic:

That is that is yeah. That is very intriguing and sad at the same time. So that

Thorsten:

Is it sad?

Dominic:

It is a little bit. For me at least. I but but no. Not regarding the example that you gave for VIM and things like that. There is a lot of things that I I do understand.

Dominic:

Things that I find sad at the moment is that some companies forces, you know, engineers to to use, you know, to use LLMs for some reason and things like that. So that that is that is where I I kind of have some difficulties because it I'm a little bit concerned about the future, but, you know, it's not it's not like I'm I'm I'm an anti AI. I'm I'm using that a lot. I I, you know, I won't I won't write any UI code anymore in my life. That that's done for me, and and I'm very, very happy about that.

Dominic:

Yeah. But I'm I'm still unsure about okay. So why, you know, why AMP? What what AMP brings me me being a, you know, a big company or whatever whatever the target? What what it what it brings me more compared to, I don't know, you know, the established player out there?

Thorsten:

Yeah. I think AMP is the frontier coding agent where our promise is that we always stay on the latest and the most frontier thing and we don't play to the mass market. And that's kinda it's a it's a promise and it's a product, you know. That means we constantly kill features like some people, you know, the meme is, AMP will gonna kill us, you know. At some point, AMP itself will disappear.

Thorsten:

But basically, what we set out to do was and we were, you know, one of the first, like, were before OpenCode, we were before PY, we were before Codex. Like, it was just us and CloudCode. And back then, we were like, no. We're not making any compromises. We're not and, you know, this was when Cursor was selling a $20 a month subscription.

Thorsten:

And, like, behind the scenes adjusting the toe, you know, like, reducing request size and we're like, no compromises, only the best model. Note, you you want the best, you get it here. There's no restrictions, there's no rate limits, there's nothing. That's how we started. And a lot of people that resonated with them, you know, they're like, no, no, I I can see it.

Thorsten:

I want the best of the best, and I don't want any restrictions, so I'm gonna use AMP. And then we built back then, we started as a Versus Code extension, and then we built a CLI. And now and we even had tab completion in Versus Code, which we killed off at the start of this year. And our whole promise is that we are a moving target and we will always go where the frontier goes, where the most capable models are. And we said no to a lot of things over the past year.

Thorsten:

We, you know, just looking back at the last year, like remember that when MCP was the biggest thing in the world, you know, and then at some point it became like custom slash commands and templates and customizable workflow sub agents and like all of that stuff. And what we said was, that's just, to a large extent it's noise, it's model companies, they earn money no matter what, you know. Like, they earn money whether you blow it into useless loops of sub agent, you know, like Yeah. Like, they they they their incentives are not aligned with you getting good results out of it. And what we do is, for individuals, you know, we pass along the cost, we don't make any money off the individuals.

Thorsten:

You pay what you, you know, pay the API tokens. We make money with enterprises. And with enterprises, we are really picky with who we pick, and we said to enterprise, no, we're not, like, we're not gonna build for your Bedrock hosted open source model that somebody set up, you know, like, we're not doing this. Like, you could earn you could have earned a lot of money back in April 25 with that, but we were like, no, no, no. If we do this, we get stuck.

Thorsten:

Like, we get stuck on this, then we have a contract. We need to keep it working for you, but we're a small team. We have to keep moving, we have to be nimble. So we said no to a lot of stuff, and we kill a lot of stuff. We kill the tab completion, we kill the Versus Code extension, we kill handoff features, we kill custom slash commands, we you know, a whole bunch of stuff because we've realized, no, these models are getting better and you need less and less.

Thorsten:

So we're killing all of that stuff that holds you back from getting the most out of these models. And what we do is we give you the best, most cohesive UX for using a coding agent so that ideally you can focus on what you wanna get done without wasting time on, you know, the the fiddly end of things. Oh, no. I spent like I have this custom slash command that triggers this other thing that updates this and does this and memory here and five MCPs over there. We think that's a lot of noise.

Thorsten:

The the most value you get if you focus on the models. And that's AMP lets you unleash the most of these models. And we fine tune or not fine tune, sorry. I guess the word fine tune works, but it's a loaded term here. We take every model we use, like the Frontier models, we have GPT-five 0.5, we have latest Opus right now, if we can get our hands on it, we're gonna use Fable and 5.6, and then we combine it with the best possible tools for this model, and we say no, for GPT-five 0.5, it wants mostly a tool called ShellCommand.

Thorsten:

So we tune the system prompt and we tune the tools for a specific model to get the most out of it. And we do this for these others too. Like this is what a harness is, you know, a harness is not just a model selector and you can select out of one, you know, your tools out of 50 different tools. Like, you need to go with the grain of the model, you need to figure out how the model behaves and what tools it really wants to use, and then give it to them and kind of take away the other noise. And that's what we do.

Thorsten:

And now yesterday we released this. We kind of go up in abstraction layer, now we have we call it agents and orbs, which are ephemeral machines where you can run agents. So you can say, spawn me an agent and it spawns up a machine, it spawn clones your repo, has your plugins and all of that stuff in it. And then it you know, you can talk to it via the phone or from the web or from the local CLI and all of that. Because what we believe is that in the future, the whole software development life cycle will change.

Thorsten:

It it won't I I and we can talk about this, but I think the whole idea of, oh, yeah, it's one engineer and one machine typing away and having four checkouts and, like, four agents working parallel on one thing, I think that's that's a snapshot of this moment in time. But I don't think in in a year, the state of the art will be you have four checkouts and you work on a single machine, and then you use one agent on your machine that you remote control from your phone. I think these agents will go into ephemeral machines, just like CI systems have moved from one build server to ephemeral machines, highly paralyzable. And they will have more autonomy. They will run when events come in.

Thorsten:

They will run, you know, proactively. They will run async, and then you pull in the information when you want. And that's what we're building now. We we shipped it yesterday, agents and orbs, and I think that's that's what this is going on with with AMP, you know. If you use AMP, you kinda well, if we don't make you sign the pledge, but I think you sign up for this, or at least a lot of our customers and users appreciate it.

Thorsten:

They were like, okay, what are you guys up to? What are you working on? What where do you see this is going? How did you use these models? And when you use AMP, that's a lot of what you get.

Thorsten:

Whereas if you, I don't know, if you use Cloud Code, for example, not to, you know, badmouth them, but like, from where I'm sitting, it just seems like they're adding features and features and features, and there's no way, no wrong way to use any of it. And, yes, here's a slash coin, here's this other thing, here's this. At least as long as you spend tokens, you're good. And I think I like to see us as the opposite of this, like highly opinionated. We let you get the most out of these models.

Thorsten:

If you use AMP, you sign up to to be on the frontier of what's possible, to to get the most out of these models.

Morten:

That's nice. I I think I like the it's nice that you that you have some opinions because I think it's been a long time since I used Cloud Code, but Yeah. From what I see and what I hear, it that is just and then what is it called? Chest knee. No.

Morten:

I can the guy the the main guy behind Cloud

Thorsten:

Code, Boris,

Dominic:

like Yeah.

Morten:

Yeah. But he's like running loops to run loops to run loops. Right? It's

Thorsten:

like Yeah.

Morten:

If you had some, like, slowdown or slowdown to to go faster, maybe, like, get to a better place faster. Yeah. Do do you find because that's that's been my experience when because I've used them a lot over the past couple of years now, but I I found that I lost us I I lost a lot of knowledge. And also when I've been telling here on the podcast about projects, there was sometimes where I couldn't really explain what I was doing because it was mainly the the agent that done the work, and now I'm doing more of the work myself to regain that knowledge because that was how I did it before. Have have you seen some of this, or do you maybe not think it matters anymore?

Thorsten:

Well, both. I I think, not to brag, but I've been in that hole earlier than everybody else. You know, that that there's like, I don't know how any of this works. Like, I was in that last year in August or something. But I I I let me I don't know if I can order these thoughts, but let me try.

Thorsten:

I yes, I've I've been there where I don't know how any of this works anymore. Right? I've been there. That's not a good thing. I don't think there's a lot of projects where it's really bad to not know how any of this works.

Thorsten:

That sounds obvious, but at the same time, there's other projects where I do not care how it works.

Morten:

Mhmm.

Thorsten:

Which is might be controversial, but you mentioned, right, UI code. Exactly. My my blog, like, I don't, like, I don't care about the CSS. I don't care. Like, there's no, you know, we established this.

Thorsten:

I wrote books about, like, nice code and, like, I, know, I'm one of you guys, you know, but I I don't care about the CSS. Like, that is all the HTML, like I think that's over. A lot of that stuff just does not matter anymore. If the blast radius and the scope of that thing is acceptable, right, I have so many bash scripts and helpers, I don't care. I don't care about the function names, use camel case, whatever.

Thorsten:

I don't care. Like, as long as it works, and I know, and, you know, I'm an experienced programmer, I can, I think I can judge whether there's like a bomb in a in a 200 line bar script or not, but you know, like I can, I think I can judge? And as long as it's not catastrophic, I don't care. Like I use it, I test it, if it works it does, how it does argument parsing, I don't care. And Yeah.

Thorsten:

But for stuff where the blast radius is large, where I need to build on top of in the future, where it's a central axis in my project, where I then need to, based on how this works, make decisions about how other things should work or how I will build them or in what sequence or with which trade offs, then I need to know about them. You know, I need to know how the code I write interacts with the runtime. I for certain things, you know. Like, do we do we store the whole thing in memory, or do we store it in a database? What's the data look like?

Thorsten:

Is it a lot of data? Is it a small table? Is it used by every user, every enterprise user? Is it does it have an index? Will it blow up?

Thorsten:

What's the workload? Like, all of that stuff, I think I need to know. If it's an internal admin page, I don't give a shit. But if it's a public page, I very much do care. If it's a load bearing page, yes, I'm gonna look at it.

Thorsten:

But that's how I, you know, it's it's it's it's kinda like how if you've ever been a senior engineer, and this sounds horrible, but you know, like if you've ever worked with an intern for example, and the intern is like, oh, wanna build this little thing. And you're like, okay, that intern is gonna work on this for four weeks, and then we're gonna evaluate whether their deployment tool or whatever, we're really gonna use it. You can give them a pretty long leash, you know, like, as long as it you can judge the impact, you know, and you do, like, spot checks, you know, it's not going to delete the production database. And as long as it's fine, then go away. Okay, maybe with deployment tool is very wrong example.

Thorsten:

But you know what I mean? And, like, yeah, go ahead. Use Haskell, whatever. You know, like, you can you can make certain trade offs, and I think it's the same with AI. Like but, you know, and here's here's but here's the trick.

Thorsten:

Everything I'm saying, I make based on my experience as a software engineer. You know? Like, I've I've I've all of these decisions I make based on fifteen years of working with production systems, you know, and working for multiple years on the same projects with many people and different production workloads. And so, yeah, that matters. That still matters.

Thorsten:

For a lot of stuff, it does not matter anymore, but for certain things, it does matter. And, yeah.

Dominic:

I I do I do have some some interesting, you know, thoughts about what you just said because I and I I tend to agree with with what you what you are saying, but at the same time, I'm wondering how this will translate to software engineering. Because now inside, you know, either the same team or a lot of teams, there will be there will be some some aspect that will move probably extremely fast because, well, you know what? It's not it's not the core what whatever business business. It's it's not that that part is not as important as other part. So now we will we will move at, you know, a a a decent speed in in in the left and in the right.

Dominic:

Well, you know what? We we are we are we're still caring about this thing because if it, you know, if it explode, nobody is going to deposit their money tomorrow and things like that. I mean, this this this is and it's not like we have as an industry, it's not like we have solved the problem of how to build, you know, real and and solid systems and whatnot. So this just just adds a lot of lot more challenges that I don't think I've I've been saying for years. I'm I'm coming from a from a place where knowing the domain domain knowledge is is paramount because I always have been on small teams and whatnot.

Dominic:

When I when I you know, the the company where where I was got hired by Equifax, it was the first time I I had the taste of what it is to to be in a, you know, quote, unquote, bigger organization and whatnot. And I was amazed at how many people just don't know the the domain, and and that's that's normal. There there's people leaving and and things like that. I think we we have a lot to think about as an industry, but we we were not all we were not even there before that. So that that's Yeah.

Dominic:

I I have a lot of concerns.

Thorsten:

I mean, I agree, but then, like, one of the lesson we're getting into the nihilistic portion of this. Basically, I think I don't wanna say your domain expertise is not valuable, but man, I've had these models where I'm

Dominic:

like Oh, No. No. No. No. No.

Dominic:

No. I'm sorry. Wasn't the credit, financial credit. They they know shit about that. I'm sorry.

Thorsten:

No. No. I mean no. Yeah. But what I'm saying is no.

Thorsten:

No. No. I'm saying as a senior engineer, I would pat myself on the shoulder, say, a year ago or two, think like, oh, yeah. You know, like, this is how you write a migration. You you first add the column and then you write the data to the new thing and then you remove all the read path from the old column.

Thorsten:

You know, like that type of thing where Yeah. This is what experience taught, you know, teaches you and it's something that every junior runs into where they deploy the migration and the updated code, and you need to do two step deployment, whatever. That, I think, would have been something you call, you know, like experience or something. A model will tell you about this right now when you ask it to write certain migrations. Like, they will figure this out.

Thorsten:

They were like, you shouldn't deploy this, you know. So I think a lot of the stuff that we think is how one experience, I think that will also be absorbed. I think, you know, to your point of like, oh, some teams move fast and slow, I think what we're seeing now is it's kinda like being a CTO, you know, where you're, you have to direct things at a high level, but you're not close to the metal with certain you might be in some area, but certainly not all areas, and you still have to make decisions, and you still have to make trade offs. Yeah. And people have been doing this before.

Thorsten:

They've been they've been asking teams like, what have you been working on? Why isn't this going fast? What's this? And the team talks between themselves, and they go, why? How can't he see that this is super hard?

Thorsten:

How can't he see that we're struggling here? But the abstraction is completely different, and now, like with a lot of these things, you are, you have this perspective of being removed from certain things and how they work, and you still have to make decisions. And I, you know, like I, I'm not saying it's this for everything, but I think a lot of this will come. A lot of this will will happen and

Dominic:

yeah. Yeah. The the the problem I'm seeing though is that at some point management will will say, oh, you know what? You you guys are are going very slow. You you should you should start to to delegate a little bit more.

Dominic:

And now this is where this is where the the volume and I'm I'm I'm talking about the amount of code that need serious reviews outweigh what we are capable of doing at the moment, and and now it's Yeah. It's just the burnout that is coming in that is coming out.

Thorsten:

Yeah. Mean, we're in a transitional period. Right? Like, this is this is transitional period. And let's be honest with three guys on the podcast talking about programming, right?

Thorsten:

Like, we're in the top 1% of people passionate about programming. Like, 99% of programmers, it's a nine to five job, and they show up, and they do the thing that somebody asked them to do, and then they go home. You know? And now if management goes like, hey, you need to use more AI. Yeah.

Thorsten:

Of course, they're gonna hit the magic button that makes the code appear. You know? Like, of course, like it's so easy. And but what you actually need to do now is you need this experience and you need like this judgment of, is this good? Do I need to dial it back?

Thorsten:

Is this high quality? What does high quality look like? And it's really, really hard because let's be honest, like, these models can write code a lot better than a lot of junior or mid level engineers that I've worked with. You know? Like, I can say, write me like a 500 line Python scripted whatever reliably uploads 5,000 files to a Google bucket, whatever, with retries and resume.

Thorsten:

It will nail this. It will nail it. And I can tell you a lot of junior or mid level engineers will take multiple days, and even then, there would be a bug in there. And now you have these forces, you know, force in standing object or this is it's it's it's it's crazy. Like, it it there's a lot of chaos and and shock.

Thorsten:

It's not a smooth thing, and I don't think technical changes like this are like, you know, ever like this. If when I remember back to when I started doing Ruby on Rails, you know, the people were like, oh, yeah. Ruby, you wanna use Ruby garbage collected language to build serious applications? That's great. You know, like, they would laugh at it, and they would say this is garbage, and this is this.

Thorsten:

And then it was JavaScript, then the Ruby people would laugh about the JavaScript people and say like, oh, can't be serious building stuff in JavaScript. This is gonna go horribly wrong and and blah, blah, blah, and so on. It goes and goes and goes. And if you look at the history of technology, it's it's generation judging the next generation, judging the next generation, judging the next generation, and yet we keep on moving on. And turns out that there is some progress inherent to it, except if you're super pessimistic or nihilistic.

Thorsten:

But I think there's this, you know, I guess Hegel would like it's this pendulum swinging back and forth where we're kind of figuring out, okay, how far can we go? Okay, let's style it a little bit back, let's go in this other direction. Let's style back, let's go back in this other direction. But we're moving along, and I think right now, when people talk about AI and how this is a new moment and how this is gonna be a problem, I think some historic perspective of, you know, what happened last thirty years helps put it in, you know, relation to other things where we've been here before, you know, don't just copy and paste code from Stack Overflow. Like, that was a thing people said, you know.

Thorsten:

Oh, that guy is Stack Overflow programmer. It's the end of the world. That guy looks like a scholar now, you know, if somebody goes to Stack Over, copy paste code. Yeah. So I don't know.

Thorsten:

I I'm optimistic, I guess, is what I'm saying. I'm optimistic, and I think, yeah, it might be crazy, but I don't think, you know, I I think it's it's something's gonna work, you know?

Dominic:

Oh, yeah. I'm I'm I'm balanced. I'm I'm not pessimistic. I'm just I know I know our our you know, even even without working at a lot of big companies, that that's the problem. You know, the the money is is is dangerous, and and it's a it's a fact that the quality of software is You know what at least seems to be downgrading a little bit like everything else like everything else Their shitification is is real.

Dominic:

It's it's not it's not something that that that

Thorsten:

it's it's it's sure. I'm not sure.

Dominic:

Like, people

Thorsten:

call AMP, they call it the Porsche of coding agents. They call it the Ferrari of coding agents. Right? And they say we have the best taste, we have the best UX. I'm not making this up.

Thorsten:

Right? They say this about AMP, and yet none of us write code by hand. It's it's it's AI. Yeah. So, you know.

Thorsten:

What is the

Dominic:

language of of the of the CLI, for example?

Thorsten:

Who knows? Nobody knows. Oh.

Dominic:

It's ASCIL Whatever.

Thorsten:

It's our own. No. It's TypeScript out of

Dominic:

Yeah. All

Thorsten:

That the the historical background is that we had a Versus Code extension, and then you could share code between, you know, the the all of it. Like, the CLI, the server, the Versus Code extension. So that was a good fit. But

Dominic:

I I hope you are using the the new v v seven that that was rebuilt from from Go. I I installed that yesterday.

Thorsten:

Oh, the compiler?

Dominic:

The compiler is really fast. That that

Thorsten:

is

Dominic:

I

Thorsten:

think I've used that. We're using Bunn, so that's pretty fast. Okay. Yeah. That's also pretty fast.

Dominic:

But that that was that was a nice testimonial to Go, I I found. A testament.

Thorsten:

Yeah. That was nice. I think and I I think that, what Anders Halsberg, I think he wrote it, right? Like, he wrote that guitar ticket where he was explaining the reasoning of why Go and whatnot. And I thought that was spectacular.

Thorsten:

I thought that was, that's I even quoted in my newsletter. I even said, this is software engineering, you know? Like, this is is it. Like, this is how you make trade offs. This is here's our objectives.

Thorsten:

Here's our project. Here's the trade offs. Here's what this tool will buy us. Here's what this tool will buy us. Under these constraints, I'm making the following decision.

Thorsten:

And that that type of

Dominic:

suffering Yeah. We we at least have that. We

Thorsten:

we Yeah. That won't go away. I don't think No. No. I that I think that won't go away.

Thorsten:

Like, I can Okay. But how see this go away.

Dominic:

How the juniors will will be able to to get there?

Thorsten:

That's a good question. But, you know, I get it. I fully get it. But let's be honest, that's not a problem. It's a problem that AI surface.

Thorsten:

Right? Because our industry was never good with junior engineers. Our industry was lucky enough that you had people teaching themselves how to program as teenagers alone at home, and then you could go, hey, you wanna do this for some money and they and you as a teenager thought this is the thing ever. I get paid to program. Like, there was a lot of this, you know.

Thorsten:

And teaching people how to program, like, we had computer science, of course, in universities, but, you know, let's not get into it. But some people would argue that it's not really like teaching somebody how to program. Like, it was a lot of learning on the job. And what I think the industry needs to shift to or will necessarily shift to is we will have to figure out a way to teach people these principles, and it's not undoable. Right?

Thorsten:

Like, you can you can learn nowadays to become a carpenter even though there's IKEA, you know? Like, even though you can mass manufacture.

Dominic:

That's not the same quality though.

Thorsten:

Yeah. Sure. Sure. But you learn how to do it to the highest quality, but then do you do it every day? No.

Thorsten:

Not necessarily. If you become a fashion designer and you you you know, do an apprenticeship, you learn how to make like a dress and whatnot. But then if you work in a in a fashion house, even if you work in like fashion house in Paris or in Barcelona, wherever, you're not sitting there with your scissors all day long. You know, like you're designing stuff, and you're talking about the textiles, and you're talking about the manufacturing process, and then you're sending enough to China, or you're sending enough to Sri Lanka, whatever, or somewhere else, and I think that is the type of, I'm not saying exactly it is, but I think there's other industries or other domains that we can look at, and think, yeah, this is how they teach people how to, they teach people to trade, but that doesn't necessarily mean that they will do this all day long every day after. It's like they will use that knowledge and the expertise in other ways to direct maybe others to direct machines, you know.

Thorsten:

Like, we just have never done this. In some sense, we do it. We did, right? Because when I was a junior, I was often asked to build stuff, and then somebody would tell me, you need to build this, and you, oh, this is the most important project. And then you finish it and you turn out turns out it's not it's not important at all.

Thorsten:

They just wanted me to do stuff and bump into a bunch of problems, you know. And Yeah. They could have done it themselves like 10 times faster and yet they let me do it for two weeks, you know? Yeah. So now, we can have AI and and and have it 20 times faster sometimes.

Thorsten:

But maybe you do wanna have the intern write that Google bucket upload script, so they bump into the issue of resumable uploads or g sip compression or whatever it is, you know, just for learning. The question is, can we as an industry make the shift and see this as worthwhile, you know, as something that people need to invest in? And then the question is, how do you even make the investment? How do you structure this? How do you plan this?

Thorsten:

You know?

Dominic:

Yeah. And and now the junior will react now that they are used to have the answer in in millisecond and now will bump into school. Any issues that that would be a hard moment for for them. Because when you know, if you recall, when when I started, there there you know, documentation was on Seating and whatnot. I I remember reading the documentation on MSDN.

Dominic:

I started with v b six back then.

Thorsten:

Yeah.

Dominic:

So, I mean, you you needed to read so many things. And Yeah. It's a it's a different but I I just just let me finish. That's that's why I was I was saying about the domain knowledge earlier. I I think that might be something that junior developer could could develop.

Dominic:

And and when I say domain expertise, I'm not talking about technology. I'm talking about you are working at a company that do x. You should know what x is. And this is this is probably where the value will will

Thorsten:

be later. One I 100% agree. I think man, you guys got me fired up here.

Dominic:

Well, that that that was that that was like that for me. I I wasn't in the financial credit for all my life, so I know I know commercial credit.

Thorsten:

So But yeah. But I think look. Like, I think yeah. A guy I work with, he's a fantastic engineer, and he's I I think he's ten years younger than me, but he's incredibly wise and he never cared about the editor or the language or any like, he was I don't care. Like, I'll you yeah.

Thorsten:

Okay. You want me to do this and go? Yep. I'll do it and go. You want

Dominic:

me to

Thorsten:

do it in typescript? I'll do you know, he didn't get and and back then, you know, I'm a guy who was 10 times close to getting Vim tattooed on his body somewhere. You know, like, I'm I'm like, how how can you not care about this? This is important. But then at some point, he was like, well, I see engineering as a function of the business.

Thorsten:

It should serve the business. It's not the end in itself. And I was like, dude, how are you so wise? Because he's 100% correct. At the end of the day, you're employed by a company and well, if you're not working where I'm working right now, which is a crazy world where we're building software for other software companies, But if you're working, say, in finance or at the bank or a fashion house or whatever, the goal is not to produce software.

Thorsten:

The goal is to use software to produce value for the business in some sense. Yeah. To to solve for and that is now the important thing. And for a long time, the the the let's call it the craft, but you could also say the toil of programming or the noise of programming covered a lot of this. Right?

Thorsten:

Because we would go like, oh, yeah. I'm gonna spend two weeks cleaning up our Docker files and, you know, like all of this stuff. And it's easy to lose sight of what are we even doing. You know? Like, what like, I spent three days writing bash scripts and then setting up a linter for bash scripts and then adjusting the lint rules and going through all of the other bash files.

Thorsten:

And then you do this for three days. Did it help the business? It absolutely did not, you know? Like and now that stuff gets compressed. It's much faster.

Thorsten:

So now the question of what is even the value this that you're doing provides to the business? That question is much more important now, much more in the foreground. And but the value of software to the business, that might be even more important now. You know, now that you can maybe do more or fast or whatever or things that you never would have dared to do before, it's it's becoming more valuable. But the value of software for softness, software's sake, or the value of programming to feel good about the best code that you've written, that might have, you know, become less valuable.

Morten:

Yeah. Also, I think curiosity is probably becoming becoming a much higher competitive advantage to have now because I definitely work with a lot of people where it was, as we just talked about, like knowing the business was secondary to writing some beautiful, beautiful codes. They didn't really care. It was whereas as I have all as like I come from a business background, like I I I started finance, and then I taught myself code. And and so I've always been interesting in both aspects of it.

Morten:

And I can definitely feel it whenever I've been out in start ups, in big businesses, there was always John's don't worry about like, does it really matter this specific little thing? Right? Like, we just need to get this out and actually see if this is correct. So I also think that there's again, talking about how juniors are going to learn, I think the fundamentals, I don't think has changed in software with these tools. I think they're the same.

Morten:

We can just It's just a new tool you need to adapt to. And if you can like employ your curiosity with these tools, I don't see why you wouldn't still learn code. Because like if you are curious, you iterate, you're gonna see all these flaws what the model did. And I still think you're gonna learn from it. That's this guy on Twitter, Matthew Peacock, who created like a skill where you basically have this thing that has seen more code than anyone on earth and you can iterate through it, right?

Morten:

So I just think it's a new paradigm. Like, I learned a lot of code from Reddit. I look at

Thorsten:

a lot

Morten:

of my opinions from Reddit, and I don't I don't have them anymore, most of them, because it's like, is this really true? Agree.

Thorsten:

I I mean, I do think though that, at least speaking for myself, I'll well, let's start with analogy real quick, but you know, like, there's people who work in sales, who are in sales not because they like selling stuff, but because they like talking to people. You know, they like talking to other people, they like having connections to other people, they like helping other people. And you can add, like, whether they sell a car, or like a terrace roof, or whatever, it does not matter to them as much as how that job makes me feel, you know? And it's, I guess it's the same for a lot of other jobs. Like, you like spending time in this job.

Thorsten:

You don't you maybe do not care that much about the end result, you know, or the value. And with programming, a lot of us, especially people listening to this podcast, right, like that's why you listen to a podcast like this. We care about, like, I really enjoyed typing code, you know, like I like to to quote Gary Burnham, like, I like the cadence of typing out like, I liked spending Saturdays and Sunday mornings tweaking my Vim config, or like getting that function just right, or, you know, see this function name is 10 times better. Oh, I found the perfect struct like there was an aesthetic joy to it. There was a sense of mastery of now I can do this better than last week.

Thorsten:

And that was completely independent of any business outcome. It was purely this I like doing this in my day to day. I like seeing this number go up. I like writing this FAFSA thing. I like this neatly organized code.

Thorsten:

I like my color scheme. I like looking at this terminal color scheme, you know. And a lot of that obviously is is is not as valuable anymore, not even part of the job anymore. So yes, like some people, they get, they like programming because like you, they come from a different background and now use programming to serve that background and to serve that goal and provide value. But others, you know, like, man, like, they they they like choosing the right keyword per language they work in, you know, like, it it it the business outcome is secondary.

Thorsten:

They like the day to day thing of being a programmer. And for those programmers, like, changes we're going through are tough. You know?

Dominic:

Alright. Yeah. I'm I'm I'm always I'm missing I'm missing programming. Oh, go ahead.

Morten:

So now I was just gonna say like, always the right color scheme is Groovebox.

Thorsten:

Dude, I didn't wanna say it. Now you said, yes, you're 100% right.

Morten:

Yeah. Yes. Yeah.

Dominic:

Yeah. That's crazy. Yeah. I'm I'm I'm missing it a little bit sometimes because I'm I'm I'm writing less and less code, of course. So I still I still don't don't don't let it write too much on the back end, if at all.

Thorsten:

Yeah.

Dominic:

But but that's just me. But but again, I mean, yeah. When when you find when you find your comfortable, you know, spot, it's it's it's on you know, it do it it do work, and it and it does go faster and things like that. So so.

Morten:

Yeah. Yeah. It's definitely project dependent as we as we talk. Like, have this little side project where I'm I'm kind of building my own rails in Go where I it's purely it's purely LLM staff done that thing. And it's just me using it, the end product where it again, I don't care how it does because it's just template manipulations.

Morten:

I don't really care. I just want Yes. To go fast with these tools. Right? And then I have infrastructure product where I was like, hold on.

Morten:

I I I actually really care about how this server gets set up and how this backup gets gets done and made, you know. And and there, I was like, okay, now I need to to switch off my strategies. Right?

Thorsten:

So Yeah. Yeah. Yeah. Wild times. Wild times.

Dominic:

Interesting times. Yeah. Thorsten, yeah. Yeah. Thanks.

Dominic:

Thank you so much for joining. I think I think we will wrap up. Is there anything, any closing thoughts that that you want to to say?

Thorsten:

No. I don't have anything. Yeah. Think yeah. I I think I got it all out at least.

Thorsten:

I could go longer, but you gotta stop somewhere.

Dominic:

I I think it's definitely an interesting. We we are we are in a in a strange time, but but an interesting one, least.

Thorsten:

Yeah. I would I you know, like, closing word for me is I don't know whoever follows me. I've been banging this drum for, you know, now, I think, two years. Like, keep your eyes open, you know. Like, I think be open minded.

Thorsten:

There's multiple ways to find beauty in things that you're doing and maybe unexpected ways, things that you didn't anticipate that look different than what you did before. And, you know, program is definitely changing, but maybe if you keep your eyes open, you can find joy in doing it in a different way than you thought was possible.

Dominic:

Yeah. Sure. And I I have I have one question that just popped. I'm I'm curious to hear just just just a couple couple of seconds. Do you believe that we will have programming language that are made for for LLMs?

Thorsten:

Good question. I I don't think so. I I I can't I don't I short version is I think, like, the training data. Yeah. Obviously, like, you know, if you believe the hype then, well, if you have like the most powerful model, what you could generate as much training data as you want for whatever language you come up with.

Thorsten:

Maybe we'll have that at some point, but right now, at least for say the next few years, I would say the amount of training data, not just code, but also documentation and and and and Stack Overflow and like all of that stuff that's floating out there, it's just a big big mode for existing languages. And if you look at Go for example, there was this was the last couple years, like some people were saying models are so good at writing Go because Go standardized tool chain, you know, Go test, Go run, Go build, worked so well in a lot of open source repositories that the people who train and RL these models could get a lot of Go code running, you know, and say, like, run these tests, you know, like all of that stuff, and it wasn't, you know, unrunnable like, let's say, old C projects or JavaScript dependencies that were outdated. And I don't know. There's a lot to consider, but I think in some sense, I'm a big believer in the whole worse is better philosophy in that, yes, there might be a more optimal, more precise, more efficient language that LLMs can use, But, man, they can write Go like crazy or JavaScript.

Thorsten:

You know? And question is, can you can you actually be better than that?

Dominic:

Yeah. That has to be to be discovered, I guess.

Morten:

Okay. Don, then I then I also have a final

Dominic:

I'm quick

Morten:

I'm really curious to hear if you think open source or closed source models will win out in the end because that's a thing we've been we've been discussing a few times on the podcast around the financial of these frontier models. So it's just interesting to hear your your your take on that. Oh, man.

Thorsten:

Oh, you got another hour? So okay. I okay. I have a lot of thoughts on this. I thought a lot about this.

Thorsten:

But basically, it boils down to if your model house, like meaning OpenAI, Anthropic and whatnot, like the closed source ones, I think you're in a really, really bad spot. Like it man, like, basically, the setup is this. Everybody believes AGI is possible. Everybody believes that the bigger model is possible. That means if you release a big model, then your competitor goes, I'm gonna build an even bigger model.

Thorsten:

You cannot rest ever. You're like a shark. You if you stop, you will die because your competitor will release a better model because turns out models can be switched out. And as long as a model is better, people will switch to this model. There's no loyalty to Claude three five from last year.

Thorsten:

It's dead, you know? Yeah. So you have to keep moving. You have to get better. That means that even though, you know, Dario Amade said it in an interview, you could, if every model that a company releases was its own company, they would be profitable, right, based on inference.

Thorsten:

You put some training data in, then you run inference, the inference is has a high margin, you can make money off of it. The problem is every every bit of money you make, you need to reinvest into the next model because this is a race. Right? You need to get to the next model because your competitor is building the next bigger model. So now you're in this race, you cannot stop or you will die, and suddenly, in the rearview mirror, Chinese open source models show up and give it away for free.

Thorsten:

And they're right behind you. They're not as good as you are. But if you hit the brakes and you slow down, they will catch up and then they will give it away for free and destroy all of your value. You know? It's wild.

Thorsten:

Like it's crazy. It's sometimes like last year I thought, okay, I'm working on the coding agents and the models, they have all the cards in their hands and whatnot, blah blah. But then you imagine working at, you know, whatever, OpenAI, you release your best model, and then two weeks later, Anthropic says, here's the best new model, and then people switch over again. And then three weeks later, it happens again, and then the Chinese model says this, and then this. And I think it hasn't played out yet, I think it's a race to the bottom, I think models will become a commodity.

Thorsten:

You know, one model reaches that, you know, escape velocity AGI, which I'm not really, I don't know, I'm not religious, I guess, but if they've reached this point, maybe all bets are off and then they're faster and better than everybody else and nobody else can catch them. That's I think the premise of a lot of this. If that happens, who knows? But I think this is a race to the bottom. I think it's like Benedict Evans says, like, it's like the telecom companies in the early two thousands.

Thorsten:

Like, they it will become a commodity. You you might have a contract with them. You might have a contract with them. You get 200 text messages for free or 500, whatever. But at some point, yeah, you got this contract, you got this contract, whatever.

Thorsten:

Like, it it's a race to the bottom. And the I now with, like, that whole game being changed with, like, the US government and whatnot, and that changes things a lot. And then the guitar you're going after the regulation is like, you need to regulate this. This is dangerous. And now they're getting it and it's Yeah.

Thorsten:

Freaking crazy. And now the Chinese

Morten:

that dangerous.

Thorsten:

Yeah. It's crazy. Like Yeah. I think there's a good chance that everything I just said might the whole thing might be reshuffled in the next few weeks. Right?

Thorsten:

Depending on how this, you know, fable is supposed to come back today. I haven't checked Twitter in two hours, so who knows? But, like, all of this might change with, like, the Chinese models and open source models and whatnot. And that being said, I do think right now, like, again, like, AMP is for the frontier. I think the open source models are not the frontier yet.

Thorsten:

They might be, you know, They might be the affordable frontier or the free frontier, right, because you're not allowed to use these other models anymore, which I pisses me off like crazy, which is why, you know, AMP and Quinn were now advocating for what we call freedom of intelligence. It it shouldn't be the US government deciding who gets to use this. Like, a private company decides to release their product to a closed audience, that's, you know, whatever. But that whole thing of, like, only US citizens and whatnot, we're against. And, like, all of that is going on.

Thorsten:

All of that is is crazy. I I don't know who will win, but I what I am relatively certain is that it's a race to the bottom. And I don't I don't think yeah. I don't think, like, a modern company like an without regulation or whatever is is gonna be the clear winner if they don't reach, that escape velocity AGI thing.

Morten:

Yeah. But also, like, the the the IPO numbers from OpenAI were were pretty bleak. And they it looks like they've been doing some fiffling with the numbers and pings, like, some of the infrastructure they put on the sales and marketing. So it looks like you say, it's a it's a it's a race to the bottom. It's it's Yeah.

Morten:

Like a

Thorsten:

Well, but but the other thing that people often forget with this is, you know, how in the early two thousands, like, AWS, people were making fun of AWS or Amazon. You're not making any money. You're not making any money. Blah blah blah. You're not profitable.

Thorsten:

Amazon is not profitable. But what they did, of course, is they got a they reinvested everything. Right? So they didn't wanna make any profit because they wanna reinvest and grow bigger and bigger and bigger. But if they would have stopped just for two years, they could have had crazy profit numbers.

Thorsten:

But they didn't because they wanna re you know, that whole thing. And now with models, there's this whole thing of if they could have, like, five times the GPUs and data centers and energy energy, they would sell it. They're compute constrained. What people most engineers that I talk to do not understand is how compute constrained these companies are. That mythos, you know, Anthropic is a rumor that, like, a month ago, they were close to closing sign ups because they couldn't serve any new users.

Thorsten:

Wow. And they're making a crazy amount of money. So imagine the pressure you have to be under to even consider this when you go from, what was it, 50,000,000 last year to, what, 40,000,000,000 projected ARR this year. And then you think, I we gotta stop sign ups because we don't have enough GPUs. And now it's not just GPUs, it's the whole value chain.

Thorsten:

It's the copper coming out of the crown and the data centers and the the the the energy. Like, they're constrained with everything. But if we had enough of this and supposedly, you know, the CapEx being spent this year and last year is supposed to come online in the form of energy in, say, the next three or four years, a lot of capacity will come up. And then maybe the prices will, you know, come go in the other direction, and then you have more GPUs and all of this. And it's, you know, just another thing that makes this even crazier, just to mention this is people were saying, oh, yeah.

Thorsten:

You're spending all of this money on GPUs, but they're gonna, depreciate in, like, three years and then they're worthless. No. Like, the h 1 hundreds that are used today are even worth more than they were three years ago. That's crazy. Our memory prices are up.

Thorsten:

Our this prices are up. That's never happened in all my life in computers, you know, like hardware is supposed to get cheaper. Technology is supposed to get cheaper, but now we're so resource constrained that the prices are not going down, they're going up. Apple raised their prices for phones. That's that's wild.

Thorsten:

Yeah. So if we're talking about IPO numbers and like financials of this model, like, you have to take all of this into account, you know. It's it's not we cannot talk about their business being profitable or not without taking into account that they completely resource constrained, and they're in this crazy race where they can't even say, guys, let's pause. We're gonna use our model. We're gonna make it profitable.

Thorsten:

Because if they do this, their competitor will release the next model, and then they're worthless. So it's absolutely wild. And again, I could talk for two hours, but I actually gotta hop. Yeah.

Dominic:

Wow. That that that's pretty interesting. Alright. Alright. Alright.

Dominic:

So so let's wrap up. But but, yeah, thank you so much for for joining us.

Morten:

Thanks.

Thorsten:

Thank you, guys. Thank you for having me. This was this was fun.

Creators and Guests

Dominic St-Pierre
Host
Dominic St-Pierre
Go system builder - entrepreneur. I've been writing software systems since 2001. I love SaaS, building since 2008.
Morten Vistisen
Host
Morten Vistisen
Contract Full-Stack Developer at mbv labs.
Thorsten Ball
Guest
Thorsten Ball
Author of interpreterbook.com and compilerbook.com. I like to program where the rubber hits the road — wherever that may be.
093: Agentic engineering is here to stay with Thorsten Ball
Broadcast by