big question looking out into the future you're now at the the center of the programming world how do you think programming the nature of programming changes in the next few months in the next year in the next two years the next five years 10 years I think we're really excited about a future where the programmer is in the driver's seat for a long time and you've heard us talk about this a little bit but one that emphasizes speed and agency for the programmer and control the ability to modify anything you want to modify the ability
to iterate really fast on what you're building and this is a little different I think than where some people um are are jumping to uh in the space where I think one idea that's captivated people is can you talk to your um computer can you have it build software for you as if you're talking to like an engineering department or an engineer over slack and can I just be this this sort of isolated text box and um part of the reason we're not excited about that is you know some of the stuff we've talked about
with latency but then a big piece reason we're not excited about that is because that comes with giving up a lot of control it's much harder to be really specific when you're talking in the text box and um if you're necessarily just going to communicate with a thing like you would be communicating with an engineering department you're actually abdicating tons of tons of really important decisions um to the spot um um and this kind of gets at fundamentally what engineering is um I think that some some people who are a little bit more removed from
engineering might think of it as you know the spec is completely written out and then the engineers just come and they just Implement and it's just about making the thing happen in code and making the thing um exist um but I think a lot of the the best engineering the engineering we enjoy um involves tons of tiny micro decisions about what exactly you're building and about really hard trade-offs between mean you know speed and cost and all the other uh things involved in a system and uh we want as long as humans are actually the
ones making you know designing the software and the ones um specifying what they want to be built and it's not just like company run by all AIS we think you'll really want the humor the human in a driver seat um dictating these decisions and so there's the jury still out on kind of what that looks like I think that you know one weird idea for what that could look like is it could look like you kind of you can control the level of abstraction you view a codebase at and you can point at specific parts
of a codebase that um like maybe you digest a codebase by looking at it in the form of pseudo code and um you can actually edit that pseudo code too and then have changes get made down at the the sort of formal programming level and you keep the like you know you can gestat any piece of logic uh in your software component of programming you keep the inflow text editing component of programming you keep the control of you can even go down into the code you can go at higher levels of abstraction while also giving
you these big productivity gains it' be nice if you can go up and down the the abstraction stack yeah and there are a lot of details to figure out there that's sort of like a fuzzy idea time will tell if it actually works but these these principles of of control and speed in the human and the driver's seat we think are really important um we think for some things like Arvid mentioned before for some styles of programming you can kind of handed off chapot style you know if you have a bug that's really well specified
but that's not most of programming and that's also not most of the programming we think a lot of people value uh what about like the fundamental skill of programming there's a lot of people like young people right now kind of scared like thinking because they like love programming but they're scared about like will I be able to have a future if I pursue this career path do you think the very skill of programming will change fun Fally I actually think this is a really really exciting time to be building software like we remember what programming
was like in you know 2013 2012 whatever it was um and there was just so much more Cru and boilerplate and you know looking up something really gnarly and you know that stuff still exist it's definitely not at zero but programming today is way more fun than back then um it's like we're really getting down to the the Delight concentration and all all the things that really draw people to programming like for instance this element of being able to build things really fast and um speed and also individual control like all those are just being
turned up a ton um and so I think it's just going to be I think it's going to be a really really fun time for people who build software um I think that the skills will probably change too I I think that people's taste and creative ideas will be magnified and it will be less about maybe less a little bit about boiler plate text editing maybe even a little bit less about carefulness which I think is really important today if you're a programmer I think it'll be a lot more fun what do you guys think
I agree I'm I'm very excited to be able to change like just what one thing that that happened recently was like we wanted to do a relatively big migration to our code base we we're using asyn local storage in in node.js which is known to be not very performant and we wanted to migrate to context object and this is a big migration and affects the entire code base and swall and I spent I don't know 5 days uh working through this even with today's AI tools and I am really excited for a future where I
can just show a couple of examples and then the AI applies that to all of the locations and then it highlights oh this is a new example like what should I do and then I show exactly what to do there and then that can be done in like 10 minutes uh and then you can iterate much much faster then you can then you don't have to think as much up front and stay stand at the Blackport and like think exactly like how are we going to do this because the cost is so high but you
can just try something first and you realize oh this is not actually exactly what I want and then you can change it instantly again after and so yeah I think being a programmer in the future is going to be a lot of fun yeah I I really like that point about it feels like a lot of the time with programming there are two way you can go about it one is like you think really hard carefully up front about the best possible way to do it and then you spend your limited time of engineering to
actually implement it uh but I much prefer just getting in the code and like you know taking a cracket seeing how it how how kind of lace out and then iterating really quickly on that that feels more fun um yeah like just speaking to generating the boiler plate is great so you just focus on the difficult design nuanced difficult design decisions the migration I feel like this is this is a cool one like it seems like large language models able to basically translate from one program language to another or like translate like migrate in the
general sense of what migrate is um but that's in the current moment so I mean the fear has to do with like okay as these models get better and better then you're doing less and less creative decisions and is it going to kind of move to a place where it's uh you're operating in the design space space of natural language where natural language is the main programming language and I guess I could ask that by way of advice like if somebody's interested in programming now what do you think they should learn like do they uh
you guys started in some Java and uh I forget the oh some PHP PHP Objective C Objective C there you go um I mean in the end we all know JavaScript is going to win uh and not typescript it's just is going to be like vanilla JavaScript is going to eat the world and maybe a little bit PHP and I mean it also brings up the question of like I think Don can has a this idea that some percent of the population is Geeks and like there's a particular kind of psychology and mind required for
programming and it feels like more and more that's expands the kind of person that should be able to can do great programming might expand think different people do programming for different reasons but I think the true maybe like the best programmers um are the ones that really love just like absolutely love programming for example they folks on their team who literally when they're they get back from work they go and then they boot up curser and then they start coding on their side projects for the entire night and they stay up till 3:00 a.m. doing
that that um and when they're sad they they've said I just really need to code and I I I think like you know there's there's that level of programmer where like this Obsession and love of programming um I think makes really the best programmers and I think the these types of people will really get into the details of how things work I guess the question I'm asking that exact program I think about that person when you're when the super tab the super awesome praise be the tab is succeeds you keep PR pressing tab that person
in the team loves cursor tab more than anybody else yeah and it's also not just like like pressing tab is like the just pressing tab that's like the easy way to say it and the the catch catchphrase you know uh but what you're actually doing when you're pressing tab is that you're you're injecting intent uh all the time while you're doing it you're you're uh sometimes you're rejecting it sometimes you're typing a few more characters um and and that's the way that you're um you're sort of shaping the things that's being created and I I
think programming will change a lot to just what is it that you want to make it's sort of higher bandwidth the communication to the computer just becomes higher and higher bandwidth as opposed to like like just typing is much lower bandwidth than than communicating intent I mean this goes to your uh Manifesto titled engineering genius we are an applied research lab building extraordinary productive human AI systems So speaking to this like hybrid element mhm uh to start we're building the engineer of the future a human AI programmer that's an order of magnitude more effective than
any one engineer this hybrid engineer will have effortless control over their code base and no low entropy keystrokes they will iterate at the speed of their judgment even in the most complex systems using a combination of AI and human engineuity they will outsmart and out engineer the best pure AI systems we are a group of researchers and Engineers we build software and models to invent at the edge of what's useful and what's possible our work has already improved the lives of hundreds of thousands of programmers and on the way to that will at least make
programming more fun so thank you for talking today thank you thanks for having us thank you thank you e