The beginner's guide to coding with Cursor | Lee Robinson (Head of AI education)

howiaipodcast Gqpk7-FruqI Watch on YouTube Published September 21, 2025
Scored
Duration
45:28
Views
15,749
Likes
291

Scores

Composite
0.53
Freshness
0.00
Quality
0.84
Relevance
1.00
9,396 words Language: en Auto-generated

What are some common tasks that you think cursor can help people do that help you build better code, help you write better software? >> In this instance, in this repo, I've already set up a llinter and there's something in my application that's not working correctly. So, I can say fix the lint errors. The nice thing about AI agents is they can go read things for you. So, when I say fix the lint errors, it knows that it can go run a terminal command and it knows that hey, there's this thing called bun run lint. So it went and it ran the command bun run lit. It said there were two issues that it found. So it applies some code changes on this line and then it reruns the same command and it verifies itself that things were fixed. And I think this is a really interesting thing which is that I didn't have to go tell the agent to do anything. It's like rather than giving you step-by-step instructions, you're just putting the thing into the GPS and it just figures it out along the way. Welcome back to How I AI. I'm Claraveo, product leader and AI obsessive here on a mission to help you build better with these new tools. Today I have a really fun episode with Lee Robinson who's teaching the future of coding at Cursor. What I love about this episode is we're going to walk through Cursor's AI agent and IDE and we're going to do it for the folks out there that are a little less technical. We're going to show you how you can be less intimidated by code, learn some foundational concepts of software engineering, and use cursor to ship more products. I really love this episode and I hope you'll enjoy it too. Let's get to it. This podcast is supported by Google. Hey everyone, Shishta here from Google Deep Mind. The Gemini 2.5 family of models is now generally available. 2.5 Pro, our most advanced model, is great for reasoning over complex tasks. 2.5 Flash finds the sweet spot between performance and price, and 2.5 Flash Light is ideal for low latency, high volume tasks. Start building in Google AI Studio at a.dev. Welcome to How I AI. I am so excited because you get to work with and on one of my daily driver AI products, cursor. And so I'm excited personally to learn a couple of your tips and tricks and also to share them with the how I audience. So welcome. >> Thank you for having me. I'm excited to be here. As someone who I think also uh especially now uses cursor on a daily basis, one of the things I want to zoom out and explain for people is what the heck is cursor? We of course have lots of sophisticated engineers as listeners, but we also people that are new to building AI products and want to learn all these tools at their disposal, want to be able to build code and write software. And so where does cursor sit in the ecosystem of of tools for AI builders? >> Yeah, cursor is an AI code editor and we allow you to integrate and use any model from the top labs like OpenAI and Anthropic and Google, but we also train and build our own custom models for things like predicting the next action or applying some code. So we're building this cinematic universe of tools that help you code with AI. And it's really a spectrum of different people who can utilize these tools. So we're trying to build a system that works for beginners who are getting started with coding and with building software all the way up to, you know, very power users which are ourselves building the product too. >> Yeah. And while you get your screen share up because I know you're going to show us a couple things. You know, this may make me an old fddy duddy in about a year or two, but I just really like to look at my code. And so one of the reasons why I like the IDE interface of something like cursor even for people who have never written code before is code is actually parsible with your eyeballs. Um you can read it, you can learn to understand it. And so one of the reasons even though it could be pretty intimidating to look at something like this that has a bunch of file extensions you never heard of and syntax you don't quite know >> is looking at code like this is how I learned to code. I learned to code because I looked at code other people wrote and I started to decompose and research and understand it. And now I'm, you know, one of those more sophisticated engineers that likes to write a lot of their code and and uses these tools for that. And so, you know, one thing I want to say for our audience out there that's watching, even if you're not technical, we're definitely gonna have stuff for some of the more technical folks out there, so don't worry. which is, you know, playing with something like a cursor that kind of puts the code structure and syntax front and center might be one of the best ways to actually learn how to code. Um, so I just I think it's an interesting tool for beginners for that for that reason alone. >> Yeah, absolutely. I remember when I learned how to code and when I was especially getting into the JavaScript ecosystem, which is a great place for beginners because it works in the web browser. You can just open up the web and type in and run a web application or website. And I remember seeing what was on the left here in cursor, this tree of files and all the different extensions and colors. And it was very overwhelming. I was like, what do all of these things do? I don't really know what half of them mean. And this was, you know, some time ago, but over time, there's been better and better abstractions built to make this more approachable and easier for beginners. But I can definitely empathize with looking at this and it feeling a little bit confusing. So the way I like to think about the the cursor editor that you're looking at here is we'll just imagine you've you've already generated some code. You've asked cursor to generate some code and you have a codebase that looks something like this. On the left is your directory of all the different files. So all the different code files in your application. The middle is kind of where you're viewing a specific file or you're looking at some changes that you want to make. And then the right side, this panel over here, it's it's kind of like you're moving up the autonomy slider and you have the agent and the agent can write code for you. So there's there's different levels of uh AI usage you can use. For example, when I'm inside of a file, I can type in code and get suggestions for I don't know, maybe I want to add this counter here. And I can get the helpful autocomplete not only for the code that I'm writing, but also maybe I want to uh import some code as well. So that's like the most basic autocomplete functionality, but then when you start getting into the agent, it can actually write entire files for you. >> Yeah. One of the things I want to call out again, we're going to we're going to target this this particular show at the whole spectrum of of technical skill sets. And so beginning I still want to stick with some of the folks here that honestly in our comments have said I want to try something like cursor and I've never seen code before which is if you want to get to this point with files on the left hand side yes cursor can absolutely help you scaffold out a basic app you can also use your favorite web-based vibe coding app generate a prototype download the code open it on your desktop here. So if you're looking for like what is the entry path to to this that may be a simple flow to get this kind of code set up but let's presume we're here you have your code you know I'd love for you to show us two things that are going to I think are going to be really helpful one is you know what are some common tasks that you think cursor can help people do um that help you build better code help you write better software and the other thing is just what are pro tips on setting up cursor to be maximally efficient and powerful. I will guarantee you I am under uh underconfigured on cursor. Every time I see somebody else's cursor set up, I'm like, "Oh man, I should do that and that." So maybe we can cover those two things as you walk through an example. >> Yeah. Well, it's not necessarily a bad thing to be underconfigured. I think as you get better with these tools, I've actually found myself stripping back some of the configuration that I provided. So don't feel uh behind if you don't have configured with all the latest things. I think it's more important to really start to get a feel for how to work with AI just in general without lots of extra config. But what I want to show which I think is a an interesting tip is let's say you've built the first version of your application. You've built a prototype. You've got something working. You don't really maybe yet fully understand how the code works for some of the beginners and you open it up in cursor and you're you're trying to make sense of things. There are tools that you can take from traditional software engineering, how software is built, and apply them to make your code more resilient to errors and help the AI models fix errors for you. So if you think about this agent on the right, the agent can only work with the information that we provided, the context that we provided. So if it doesn't know how to basically read its own outputs or read its information about the codebase, it's a lot harder for it to fix errors for you. And there are some things that you can do. I would recommend three or four of these for any codebase that you're setting up. One is to use a typed language. So in the instance of the web, this is TypeScript usually. Two is to use llinters. So llinters are going to have opinions about the way that you write code and usually will help you find and fix errors along the way based on things that developers have stumbled on in the past. The third is to set up a formatter. So it just automatically puts your code into the right formatting which then you just never have to think about it. And the last one is test. So you're writing a lot of code, you're generating lots of things, and then you accidentally introduce something that breaks. The nice thing about tests is you can kind of build along the way and validate and make sure that things work. And if a test fails after you've made some changes, you can just ask the AI to look at the output of the test, read what failed, and then go and actually make the code changes to make it pass. So I want to show a little demo of this. >> While you're pulling that up, I do want to do a little translation again for some of our earlier in technical maturity. Typed languages force you to use certain um uh data types in your functions. So it forces you to require a string or a boolean or a function. It just forces you to make sure your inputs and outputs match what they're supposed to. A llinter. And I love that you brought this up because I had a friend recently start coding with Claude code and like 4 days later text me and say like, "Claire, what what is a what is a lint?" Like tell me what a lint is. And so a lint will sort of like review your code for common errors and formatting issues. A formatter will put your code in this pretty format, line breaks where they need to be, tabs where they need to be, style where it needs to be. There's lots of formatting that you can do. And then tests are something that all good engineers should be doing. And I'm glad you're giving it some air time, but essentially it's a separate set of functions that you can run against your code to make sure that it's operating as as it should be. So those are that's Claire's natural language explanation of uh type languages, llinters, formatterers, and tests. >> Yeah, I know. I love that. I I I would think about a typed language as basically it's it's taking this very open-ended way of writing code and making it much more strict. And the nice thing about making it more strict is that one, it can help prevent issues, but two, your editor, so cursor or any other code editor can give you feedback if you do something wrong. And that's not only feedback for the humans, it's also feedback for the AI agents who are writing code. So if they generate code that's potentially wrong, usually having types or typed languages can help the agent look at that output and say, "Oh, actually I did this wrong and I can go and fix that change." >> Yeah. And just just be warned that you may run into type errors and your agent will happily help you work around them. So knowing what you're doing there um is helpful to keep your your appropriately typed. But let's go into actually how you would do some of those things using cursor. So, one thing I I actually did want to show is you could, you know, hide the left sidebar. You could not have this code open. You could just be looking at this agent view for the the sake of talking about minimizing what you're looking at on the screen. And we have some improvements coming here to make this view uh even better. But in this instance, in this repo, I've already set up a llinter and there's something in my application that's not working correctly. So, I can say fix the lint errors. And you'll notice I'm not typing a very complex prompt. I'm not giving it a ton of information. The nice thing about AI agents is they can go read things for you. Cursor and other tools basically give the AI agents skills and we've given them the skill to go read files in your codebase and search files in your codebase and run a bunch of commands for you. So when I say fix the lint errors, it knows that it can go run a terminal command. So, if you've used the terminal before, maybe you haven't used the terminal before. It's like this kind of scary looking place where you can run all these strange commands and do lots of things for you. And you don't have to learn any of that right away. You can ask the agent to take teach you how to use terminal commands. And it knows that, hey, there's this thing called bun run lint, which you don't need to know is maybe right away. And it can go and say, uh, I'll just scroll up to the top here and we can read through it. So, it it went and it ran the command bun run lint. It said there were two issues that it found. One of them was that I had this type. So going back to types around any and any just means basically you're allowing it to be anything. So we might want to be a little bit more strict than that because it can help us find errors. And then we see that it actually goes and makes some changes. So it applies some code changes u on this line and then it reruns the same command and it verifies itself that things were fixed. And I think this is a really interesting thing, which is that I didn't have to go tell the agent to do anything. It's like rather than giving you step-by-step instructions, you're just putting the thing into the GPS and it just figures it out along the way. And at the end, it says, "Great, we fixed all the errors for you. Here's what we did. There was a type safety issue and then we formatted the code." So now all of our checks and balances pass. And I didn't have to go find that place in the code. I didn't have to really go look at this line and know that there was an issue. It says, "Hey, here were the issues. Because we have these systems in place, we can help ensure the code is of high quality." >> Well, and I might make you come back on the podcast or do a part two of cursor for super advanced software engineers, which I think would be really useful. But while we're here in sort of this early stage, I do want you to click this diff in the agent. just open it up a little cuz I want people to be able to see that you could or maybe you can you already accepted them but I wanted people to be able to see that you know it'll display here for for you what was removed what was changed in this sort of red green and again for people that are really new to coding um and I know many of you out there listening are that's the way to like read the code and and learn and so it's one of the things that again I like about this kind of like recursive human in the loop process with cursor is now I know run bun bun run lint. Now I know if I want to run lint and I want to get really fancy, I can open up the terminal and cursor and run that function myself and I can look at what it changed and I can say, "Oh, okay. It changed type any to type contact. Oh, here it is." Yeah, >> I could, for example, still go in here and do it manually. Like now that I know that that command exists, I can run it and great, everything looks correct. >> Perfect. Yeah, I love that. And so this is just an example of, you know, even when your agent writes code, sometimes it does not write perfect code. And when you write code or you vibe code something, um, it can do these sort of like hacks and works around, especially with these typed languages. And so getting into the habit of using cursor to just clean up your code and keep it usable as you go is is is really great. So other than lints, are there any other tasks that you find yourself commonly reaching to the agent for in in a codebase? >> Yeah. So once you get these checks and balances of tests and types and lints, basically just making sure as you're adding new features, you're adding new functionality to your app, you can ensure that the agent stays on track. >> Um, what I what I typically find myself doing is I'll be working on some code kind of in the main view. So, if I just go back to this view, uh, I've got my files on the left. I've got some code in the middle. And maybe I'm actually typing some things in here myself, but I'm kind of I'm working on something. I have my attention in the middle. Then I can go over to the agent and I can run additional things kind of in parallel on different parts of the codebase, maybe as I think about it. And this is something you can kind of train and build this skill of. You've got the main thing, which is maybe in the middle, and then you can run other things on the right. So maybe I want to, I don't know, add a new route that displays information about um different AI models. I don't know. We could just put any any prompt here. But maybe I want to do this and I don't even want to think about it. I can just close it out. So it's just running. I don't even need to think about it. I can go back to what I was doing in the middle trying to figure out something. And then I can open this back up if I want. So it can kind of just go cook in the background for me. I I think as for the first step for a lot of people who are coding with AI the AI is generating a lot of code for them which is great and then they as they gain familiarity as they ask questions and learn how these tools work then the next step is it really becomes more of a pair programmer you're learning here's what I can use the AI model for here's where I need to kind of take over grab the wheel and start driving. >> Yep. >> Yeah. And I want to I want to call it a meta thing because I have eagle eyes on your codebase which is this looks like a docs academy sort of like learning style knowledgebased >> codebase. It's not a typical very like complex web application or SAS application. You're coding like a like a learning hub essentially for for developers. And one things I want to call out again for people who maybe don't see themselves as software engineers or don't even see an application in their role for coding which is I think more and more of marketing assets are going to be owned via code. More and more of like non-core application is going to be developed in this model. you know, you used to see these CMSs and these like kind of wizzywig editors. And I think what AI has made accessible is the ability for, you know, people who maybe don't have classic software engineering backgrounds to actually run their own quote unquote products that are built via code. And so, you know, I just want to make sure people are thinking like I don't have you don't have to build a consumer app. You don't have to build a uh a SAS application. You don't have to build an AI agent. You could build your marketing website. You could build your learning academy. you can build internal tooling and at the end of the day all of it is behind the scenes as code and so that's where something like an AI um code editor and and agent can really come into play. >> Definitely. >> Yeah. Okay. So, let's talk about uh setup. So, as I said, I'm underconfigured. You've made me feel good that I am not overconfigured. So, I'm happy to hear that. But what are some of the kind of tips and tricks you would have around rules and other sort of configuration setups in in cursor that you think people should should know about and be using? >> One thing I found just in general is when I see a model do the wrong thing or something that I did not want two or three times, it's like, okay, this is probably time for me to to notice this hint and uh kind of pull that out into a custom rule. And rules are just a way for you to codify the places where the models went wrong. And actually I want it to work this way in the future. Um so I'll show a couple of the rules that I have in my application. I have some for when I'm writing. So this is kind of a docs and learning um repository and I want to use specific writing rules specific rules about the package manager that I'm using. Um but one thing that's really interesting is kind of a newer feature of cursor is let's say I have the agent open. I can define specific commands and one of my commands is code review. So if I do code review, I can actually run this over all of my code and I define that command inside of this folder. And I've just been slowly building this prompt as I kind of go along with some things that are worth checking out. So the way this prompt works is I'm reviewing all the changes I have on my branch. branch is just a fancy word in git terminology, which git is something it's a version control system that you might want to check out as you go further along in your coding journey, but it allows you to basically go back in time and save different parts of your code along the way. So, >> and I I should know this. Does cursor recognize at branch? Is that like a particular >> reference? Oh, well, >> yeah. So when when you have the cursor agent open, you can do the at menu. And the at menu gives you all of this different stuff that you can basically forward to the AI model, forward to the agent. And one of those is get. So maybe you want the branch, maybe you want the specific commit. The branch is basically all of my working changes on this thing that I'm doing. And then the commit is like one specific change. >> Oh, I should have paid more attention to that menu. I'm just at mentioning and then type ahead and let's see what shows up. So yeah, this is helpful. >> Yeah. Yeah. And you can still do that once you know, once you understand the code and it's like, okay, I have this file that is a list of my dropown or something. Yeah. I can just do at dropdown, right? Yep. >> But um yeah, what this what this prompt is doing is saying it's review all the changes I have so far and you know, were there any changes here that could affect if the application is running offline or when the data is loading or was there anything unnecessary added? Did we add good tests? you know, add fewer high quality tests. Did we make any changes to authentication? So, a lot of this these are more advanced bullet points here based on things that I've seen over time, but you have the ability to define these custom commands for anything. It could be a security review, it could be a code review, it could be a code cleanup review, anything. >> Yep. And so these are just sort of like ondemand very natural language set of instructions that you can very quickly kick to the agent and it'll follow consistently over time. So this is something when you're ready to do a PR, you're like, "Let's run this code review real quick before I actually do that." Kick it off and then you could push the the pull request. >> Yep, definitely. This episode is brought to you by Persona, the B2B identity platform helping product fraud and trust and safety teams protect what they're building in an AI first world. In 2024, bot traffic officially surpassed human activity online. And with AI agents projected to drive nearly 90% of all traffic by the end of the decade, it's clear that most of the internet won't be human for much longer. That's why trust and safety matters more than ever. Whether you're building a next-gen AI product or launching a new digital platform, Persona helps ensure it's real humans, not bots or bad actors accessing your tools. With Persona's building blocks, you can verify users, fight fraud, and meet compliance requirements. All through identity flows tailored to your product and risk needs. You may have already seen Persona in action if you verified your LinkedIn profile or signed up for an Etsy account. It powers identity for the internet's most trusted platforms and now it can power yours too. Visit withpersona.com/h how I AI to learn more. So I have to ask you just a few more questions about your agent setup and then we will go on to our second workflow. So if you don't mind popping over your open your agent >> I'm just going to ask you man you are an auto agent guy. You're an auto model selector gentleman. Tell me more because I am spending all my time in that agent dropdown. So explain to me why you you you like this uh select my agent workflow. >> Yeah, I think for those getting started with coding with AI, understanding all the nuances of the different models can be a little overwhelming. And what we try to do with auto, which um you know a lot of people choose to use, is just pick the best choice for you based on you know speed, quality, um availability. And I think it's helpful to start this way and then as you learn more and as you understand kind of the quirks and differences of different models, then you can go in here and actually see the complexity of a bunch of different types of models and maybe what the strengths of some are. So maybe I want uh you know a reasoning model like GPT5. It's got this little brain and the reason is just it can think for longer and maybe I want to use that for more complex tasks. Well, I can pick this specific model and learn kind of how it works, what its qualities are, its writing style, its output style. Yep. And then, you know, for more complex tasks is that's a lot more of what I'm using. Any tips on, you know, um sort of micro sizing your agent chats and doing like lots of little things using the to-do list? like what are some tricks for people trying to bite off maybe a bigger technical initiative that you found, you know, leads to better success or helps you avoid context bloat and all that kind of stuff. >> I would probably need to pull up a different >> Probably need to pull up a different repo. >> This one's really This one was really funny. This was a demo I was doing where I said, "Even more confetti. Just make it ridiculous. Add another layer. No mistakes." >> I love it. I love it. It's great. >> You get this hilarious because the the AI model is going to follow whatever style you give it on the format. So, I wanted to have some just amazing confetti here. And yeah, this was super funny. But, >> um, kind of going back to your question, I feel like >> this is a little bit longer of a conversation. And you can see down at the bottom, >> you can see down at the bottom I used 11% of the context. And the context is like all of the space available in this chat. So when I start a new chat, it's at 0%. And I think it's helpful to know that under the hood as that percentage increases, you know, if you get to 80 90%, cursor will automatically summarize it for you when you get to 100%. But the quality kind of degrades as you get up toward the top because it's kind of like talking to a person. Like if you talk for 30 minutes, it's going to be hard to remember that thing you said way back at the start of a 30-minute conversation. So what I try to recommend to people is to make new chats for discrete features. So sometimes that requires a little a little bit more planning, a little bit more context that you want to give to the agent, but it does help get better quality, I think. >> Yeah. The other tip I would give to people is I often think about my agents having to context switch the same as humans have to context switch and the cost of that. And sometimes, you know, I'm doing a task and I'll think, oh, wait, how do I run lints again? For example, and I can throw into that chat, how do I run lints? And it could give, but again, I'm like taking taking the agent off off the golden path of what we're trying to do. And so sometimes for those one-off questions that are related but not core to a workflow, I try to just kick off a one-off chat to answer them or a separate agent just to sort of keep that single path cleaner. So that's that's a little bit of my my tactic there. Okay. So just to recap for folks, we got a whirlwind tour of what cursor is. Three panel context window going up the abstraction layer all the way to the agent. We got a sense of rules and I learned about commands which I have not been using and I will be using. Um we looked at all the things you can appment mention into the context including files and images and git context and all sorts of fun stuff. There we learned about types and lints and tests and formatterers which we'll talk about a little bit more I think later. And you showed us that code does not have to be super scary. Um and if it is scary just close that window and go back go back to the agent. >> Yeah. Yeah. And you can ask the agent to explain code. I think people who have a lot of agency, a lot of curiosity are able to just make things. And then when they see stuff they don't understand, they almost trick their brain into saying, "This isn't scary. This is exciting. This is an opportunity. I'm going to learn something new. I'm going to build something new. Please explain how this thing works." And it's like you've got this expert programmer just sitting right beside you who is very, very happy to explain how everything works and it has all the time in the day to explain. Yeah, I'll give I'll give shoutouts to Jeremy David Yeland who sat next to me over the course of many decades and got very annoying questions and turned me into the monster that I am. And now I have a version of that, you know, like senior engineer sitting next to you who has infinite patience who thinks none of your questions are stupid. Um, and it's just like such a great a great learning platform. And so I think it's just an exciting exciting time. Okay, we have one more use case, not about coding, but we I saw a little of this before the show, and it's a it's a good one. So, let's pull up how you use uh a specific prompt to improve writing, especially writing where AI might touch it. >> Yes. So, I use the Cad GBT MacOSS app a lot. They did a wonderful job and I use it for all all sorts of things in the day-to-day kind of business world, whether it's Slack messages or blog posts or just any writing that I need to do, emails. And I built up this mega prompt about writing that has all the littles of things that I like and what I don't like. Some of them are are are more about the style of writing I like, whether it's the way sentences are structured, the voice and tone. But I think the most interesting part is I've if I scroll down a little bit, I built up this list of banned words, which I'm I've I've certainly just cribed this from other places on the internet where people have suggested good writing tips, especially in writing books. Like a lot of writing books have phrases that you want to avoid or words you want to avoid. But I've tried to also give it very specific examples. So instead of saying this is gamechanging, you can just say here's the specific benefits or and saying this is so innovative, you can you can kind of just remove that word and I've built up this big list some of my own, you know, personal ones that I get annoyed about and then also just general practices. But this is this is all just a helpful pass. I sometimes I run this I go through and I don't agree with the changes. I'm like ah whatever it's fine. Um, >> yeah, I think this is great because we we do have to give a shout out to Delve, which makes a is featured on this list. The other thing is I say and write super so much. I like have a verbal and textual tick around some words. And so this is I'm going to make I'm going to ban my own words here uh sometimes or at least say don't don't overuse them. >> Oh, totally. I I've noticed in here there's especially some of the phrases that I use. I realize that I say it all the time. So, it's helpful for the AI to be like, "Are you sure you want to say that?" And as with all writing rules, they're meant to be broken. So, like sometimes I'm like, "Yeah, actually, I'm I'm happy saying pretty much." I know it's a little bit more informal, but it's fine. I like it. >> Yep. Yep. And I like that it's band phrases because again, you know, a little bit for the software engineers, but a little bit for the nontechnical is how much marketing all sounds the same. like all is exact data driven by developers for developers all this stuff and just you know for the marketers out there go out there and ban generic language from your enterprise marketing via AI and see how much more specific and high impact it can get. >> Yes. Yeah. 100%. My favorite recent addition here is when when you see it, you cannot unsee it, but everybody says, you know, we're excited to. And I've noticed there's been a shift where a lot of people are now just saying, yeah, just like obviously you're excited. Just cut that. Like just tell me what the thing is. >> This is great. And uh X will be an excellent source of your band slop phrases. So, let's get to it. And then uh I need this last prompt. I'm going to screenshot this and take it. LLM patterns. >> Yeah, I have noticed that, you know, LLMs have especially specific models all have their own little ticks or things that they do. For a while, it was they would always output markdown lists with like the same formatting. It was really annoying because you could always tell it was LLM generated. There was of course Delve. Uh the most recent one that I've seen is actually this this phrase of it's not just X, it's Y. And it's like it's a very specific way of writing that in some ways like m dashes. It's trained on good writing but in a weird kind of unintended way then ends up getting me'd because so many people did it or so-called good writers did it right that now like people like wait >> that seems like an LLM generated thing and I love m dashes so it's like okay well I guess I need to change and be very intentional about when I use them. So, I built up this list of, you know, little things that kind of just start to feel like an an AI generated the code. Again, all rules are meant to be broken, especially this one where it's like AI sometimes have a tendency to do like first do this, second do this, but sometimes I kind of like that. It's like kind of nice to follow along. So, it kind of depends. >> Yep. And so, I will give you two things to add to this list. If you can prompt GT GPT5 out of doing two things, I will buy you a pizza. One is that model loves a bullet point list. Like I cannot get it to not put lists on lists on lists on lists. I spent two weeks of my life trying to anti-prompt GPT5 out of its affection for ordered lists. The second thing is, and you will not be able to not see this. They've gotten bad. I've I've hassled the team so much. Hopefully, they fixed it. It loves two-word phrases. Good job. Great point. You're right. Like once you see it, you cannot unsee some of these uh crutches they have in their writing styles. It's re I was going to say it's super interesting, but that's one of my band some of my band phrases. It's really interesting. So, I love this idea of this is how I want you to write, but mostly this is how I don't want you to write. >> Yeah. >> And are you putting all your content through this or big pieces of content? How are you using it? Yeah, generally my writing process is I go on a walk and I like word vomit things into a note or I like do a voice note. I love just talking into voice notes and getting ideas down. Just something to get the thought out of my head into on paper somehow. >> Um, virtual paper that is. And then I like to do a it depends on how much energy I have. If I'm not feeling motivated, I dump it into AI and I say, "Give me a first draft." Because seeing a bad first draft is like enough energy and motivation for me to be like, "Wait, this is terrible. The AI did a horrible job. I can do so much better." And then I actually go and write the thing. But if I'm feeling like I have a little bit of energy, I usually do the first draft myself. Kind of write a bunch of stuff. And then I work with the AI to help me almost act more like a reviewer than a writer. I feel like when you ask it to write things, the entire body of text from scratch, it doesn't feel it doesn't have the human touch. Maybe it will in a couple years and I'll be laughing. But at least for right now, I still like writing the human version first with my personality, my taste. And then I just use the AI to help me catch, you know, the band phrases or the band words or, you know, just helping with the sentence structure and getting it to look aesthetic. >> It's a llinter and a formatter. That's that's what you're doing here >> to to close the loop. Uh, this was super fun. Again, I cannot keep myself from saying that, but let's do a couple lightning round questions and I will get you back to all your awesome work. My first one really is kind of this this theme of this podcast, which is there's this spectrum of people who have never looked at a line of code in their life all the way to, you know, staff and principal engineers who can write code by hand um on a whiteboard to solve very complicated problems. And I'm curious from your point of view, you know, what's the entry point for each of those those personas and what's the kind of right interface for people wanting to get get started because we have everything from these web- based vibe coding front-end things to terminalbased who needs to look at the code agents to something like cursor that's a little bit more contextualized in the code. But I'm just curious your point of view of like you know what is for who in in this ecosystem. >> The term vibe coding is so catchy. It's like such a good word that and such a good phrase that I think it made a lot of people interested and wait I can just build software now. So I I'm happy about that because I think the democratization of anybody being able to build software is an amazing thing. Like I want more people to be able to contribute and build their ideas. I think it's that was what got me inspired and interested. The first time I saw a web development, when I saw the pixels light up on the screen in the browser, I thought, "Wow, this is amazing. I I want to do this for my career." And helping more people get to that moment, I think is amazing. So, where I'm seeing right now is I think there's a lot of investment being made in tools specifically for that type of person where they're not really ready to look at the code yet. They're not really ready to start to dig into some of the concepts that we talked about today. They're really just this is their first step into it. It's kind of like the uh the Squarespaces of the world. Like Squarespace was your entry into I wanted to get a website uh online. And I think that's great. I think there will be a huge number of people who that is extremely valuable for then I think there is the graduation step from that which is you've built the first version, you've kind of built this prototype of what you want to do and it works and you're interested. You've seen the pixels light up. you've got the spark in you to keep going and now you want to actually turn it into a real thing that you're going to be building with and kind of maintaining over time. And for that it is unavoidable that you will have to learn a little bit about the code. You can't just vibe code your way forever. And you know again maybe in 5 years the models will be so good that I'll just be laughing at myself. But I have a suspicion that you will probably always need to know how the code works, especially if it's something you're going to be working on all the time and if you have aspirations of becoming a professional developer or making it something that you work on. So that's kind of where cursor comes in is yes, you can use cursor to I just built a game earlier like a Space Invaders game. It was super fun. Um, you can build cursor or you can use cursor to build things like that. But the the main thing we're trying to do is help bridge the gap of I'm interested in coding. I learned how to code. I've got this code. How do I actually use AI to help me build software? All the way from completing the next line that I'm writing to the agent helping me generate a file or make changes or fix my lint and tests and all those good things all the way to, you know, maybe I want to integrate this AI into my production software CI and I want to run it in the CLI and like you can get really advanced with a lot of these things. We're trying to to be available anywhere that a developer or a future developer wants to build software. >> Yeah. And and I I love that. I agree with you in that I the more people that can build products the better. I think it's just so fun. My, you know, 8-year-old made Roundcraft recently, which is a version of Minecraft, but only with round objects. And it's just something he would have never been able to do before. And mom's like, "Babe, you got to read the code. Like, you got to We're just going to go through it step by step. I'm going explain to you a little bit about what's happening here. And so I love the idea of more people building products, but I also love the idea of more people becoming software engineers. I think that's a really great opportunity here. So that leads me to my second question, which is we talked about a couple foundational concepts um earlier. But >> you know, I feel still think people need to learn about how software works if not exactly how to code. So what are some of the either the concepts that you think are really important for people to learn? uh languages. You mentioned JavaScript. The first thing I ever coded was a button that did hello world in JavaScript a mill truly a million years ago. And and so like are there languages? Are there resources? Are there tutorials? You do a lot of education like where should people who want to get started actually on the path of learning to code? What are some of the things you think are really important to know? >> Yeah, for getting started generally I recommend JavaScript or Python. Two of the most popular programming languages. And for JavaScript, it runs in the browser. So it's very easy to see your work. Just you type something in and you can actually see it live. And then Python, I think, is it looks a lot like English. >> Yeah, it's easy to read. >> Yeah, you can read it and you're like, "Okay, I think I understand what's going on here versus getting into there's more complex programming languages that can do lots of advanced things, but for getting started, you probably don't need to do that." Um, so I I typically recommend that. And kind of as a fun anecdote, we did a cursor meetup the other day and there was actually parents who came and brought their kids and were teaching them how to program at the meetup which seeing this generation of new developers get interested and excited by JavaScript or Python or just building software. Like I wish I did that when I was eight years old, right? Like that's amazing and I hope my daughter will do that as well. >> Yeah, I think I agree those two languages are really useful. again JavaScript right in the browser you get immediate gratification and then I think Python you know speaking to it being readable also can give you these like kind of foundational concepts of like if else loops all those kinds of things that are really good to start to understand just like some foundational programming concepts and then there's lots of resources out there just go try it I the ones I love is find one of these like YouTube tutorials that let you rebuild an app that you already like you know what it's supposed to be like, can you build a version of it? Um, I think that is a really fun way for people to start to learn to to code because it's just very concrete and pragmatic. >> Yeah. The thing that I tell beginners is that when you're looking at code, there's a syntax which is essentially like a new type of language just like you have English. It's like there's this other language which is whatever the dialect of JavaScript or Python or whatever specific language you want to use. And as you see these interesting words that have different colors, they all have some meaning and they're they're there for a reason that give some signal back to the computer on how to interpret each one of these different bits. And as you run into some, you can then ask questions like, you know, what does const do? I'm not really sure what that means, but it seems like it's important for something. >> Yeah. >> Yeah. Exactly. So, you know, read your code. That's going to be that's going to be the sub headline of this episode. Okay. And then last question we ask everybody um you are an expert prompter. I see a lot of like anti-prompting in your writing prompt. But when cursor or any AI tool is not doing what you want, what do you find yourself doing? Do are you in all caps? Do you bribe? Do you yell? Do you close the window? What do you do? >> Yeah, I mean I I am not afraid to admit that I I do get a little upset. I'm like this why is this not working? Like I definitely am. uh maybe not all caps, but I'm like, "Fix it. It doesn't work. It still doesn't work." It can be very easy to um you know, not provide enough context when things aren't going right and when something goes wrong. So, something I have to always remember is like when I when I reprompt when something goes wrong and I'm not very explicit about what actually wasn't good. It's just more of an emotional reaction of this wasn't exactly what I wanted. Well, the model doesn't can't read my mind. He doesn't know exactly what I wanted. So, I have to kind of stop and be like, "Okay, it isn't what I wanted, but what did I want?" Like, what was the thing that I actually wanted and write that down? >> Yeah. I I do have to say, you know, I I have no fear of people reading my ex DMs, looking in my camera roll. I don't know if you want to see me when I'm mad at Cursor. I'm like, "No way." So, I'm not always at my best uh when things go off the rails, but that's a good point. What are you trying to do? Explain it calmly. Be a good be a good caller. >> I feel that there's like some sage life advice in there. Some things like I'm arguing with my wife and I just need to like step back and just explain calmly what I actually meant. I'm sorry. Sorry, honey. And this is actually what I meant. >> Perfect. Well, thank you so much for walking us through this. Where can we find you and how can we be helpful? >> Yeah, I'm on online X or anywhere else and lerob.com. And if you want to learn more about AI, I'm going to be sharing things as I go and teaching developers. I'm also building a course teaching a lot of the AI foundations uh as part of Cursor. So, it's totally free to use. It'll be on YouTube and and everywhere else. So, expect that to be out soon. >> Awesome. Well, thanks for joining us. >> Thank you for having me. >> Thanks so much for watching. If you enjoyed this show, please like and subscribe here on YouTube or even better, leave us a comment with your thoughts. You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. You can see all our episodes and learn more about the show at howiaipod.com. See you next time.

Summary

This video explores how Cursor, an AI-powered code editor, helps both beginners and experienced developers build better software by automating coding tasks, improving code quality, and making software development more accessible through AI agents and structured workflows.

Key Points

  • Cursor is an AI code editor that integrates with models like OpenAI, Anthropic, and Google, enabling users to write, debug, and improve code with AI assistance.
  • The editor features a three-panel interface: file explorer, code editor, and AI agent, allowing users to work at different abstraction levels from simple autocomplete to full agent-driven development.
  • AI agents in Cursor can autonomously fix lint errors, run tests, and verify changes by executing terminal commands and reading code context, reducing manual effort.
  • Key practices for high-quality code include using typed languages (like TypeScript), linters, formatters, and tests to provide feedback to AI agents and ensure code correctness.
  • Users can define custom rules and commands to guide AI behavior, such as running code reviews or enforcing writing styles, enabling consistent and reliable AI assistance.
  • Cursor helps beginners learn to code by making code visible and explainable, while also empowering experienced developers to work more efficiently as AI pair programmers.
  • The AI agent can be configured with model selection, context management, and prompt engineering to optimize performance and avoid context bloat.
  • Users can use Cursor for non-traditional software tasks like building marketing sites or learning platforms, demonstrating that coding is becoming accessible to non-engineers.
  • Effective prompt engineering involves being specific about goals, avoiding emotional reactions, and providing clear context when AI output is incorrect.
  • Cursor supports a range of user skill levels, from complete beginners to advanced developers, by offering tools that scale with user expertise.

Key Takeaways

  • Use Cursor's AI agent to automatically fix lint errors and verify code changes, reducing manual debugging time.
  • Implement typed languages, linters, formatters, and tests to improve code quality and provide clear feedback to AI agents.
  • Create custom rules and commands in Cursor to standardize AI behavior and automate repetitive tasks like code reviews.
  • Start with simple autocomplete and gradually transition to using AI as a pair programmer for more complex tasks.
  • Use separate chats or agents for different tasks to maintain focus and avoid context bloat in AI conversations.

Primary Category

AI Engineering

Secondary Categories

Programming & Development AI Tools & Frameworks Career & Entrepreneurship

Topics

coding with AI AI code editor Cursor AI agents linting code quality typed languages formatters tests custom commands writing improvement banned words prompt engineering learning to code beginner coding software engineering fundamentals

Entities

people
Lee Robinson Claire Vo Shishta
organizations
Cursor Google Google DeepMind Persona OpenAI Anthropic Vercel Next.js
products
technologies
domain_specific
products technologies

Sentiment

0.85 (Positive)

Content Type

interview

Difficulty

beginner

Tone

educational entertaining inspirational technical promotional