Your AI Coding Buddy Is Always Available at 2 a.m.

## Metadata
- Author: [[The New Stack Podcast]]
- Full Title: Your AI Coding Buddy Is Always Available at 2 a.m.
- Category: #podcasts
- URL: https://share.snipd.com/episode/ae5cdf3a-49a1-48a0-a993-36ca11647378
## Document Notes
## Highlights
- **Start With AI Coding Assistants**
- Start your AI coding journey with AI-assisted coding tools before exploring AI agents.
- Use AI agents to automate tedious parts of your workflow once you're comfortable with AI-assisted coding.
Transcript:
Aja Hammerly
That's a good question. So if you're getting started building AI apps, I wouldn't start with agents. However, if you're getting started using AI as part of your development workflow, I would definitely put that agent second. The first thing I would get comfortable with, or at least try to see if it works for you, because it doesn't work for everyone's flow, is trying AI-assisted coding. Try something like Gemini. Try something like Gemini Code Assist, Gemini and Firebase, AI Studio. Work with it. Give it a natural language prompt and see what the code you get back is. Edit it. Treat it as a pair. Someone to answer, ask questions of and get feedback. One of my favorite things to do is, hey, explain this code to me when I'm learning a new code base. Someone says, hey, can you check out this code and help me debug this? I asked Gemini to explain the code to me because it gives me a very quick overview. And then I can start digging in and use my engineering skills to dig into the bugs. So if you're going to start in the space of using AI for coding, yeah, I'd put AI generated code first as a thing to get comfortable with or AI assisted coding first. And the second thing is agents. Look into the parts of your software delivery life cycle that are toilsome, that are hard and difficult for your team to, you know, stay on top of, and see if there's an agent that will Help you with that. ([Time 0:03:35](https://share.snipd.com/snip/5190655f-aa3a-4504-b5a8-f21f6f729c57))
- **AI Reduces Cognitive Load**
- AI systems aren't fundamentally different from traditional development in terms of cognitive load.
- AI can reduce cognitive load by summarizing issues and alert data, making developers more efficient.
Transcript:
Aja Hammerly
So the thing is, I don't see them that different. I'm going to admit, the AI stuff is new. Agents are taking off. They're not actually new. The concept of agents has been around for a very long time, but in the context of Gen AI, they're new. And there's some new stuff there. But at the end of the day, the stuff you end up thinking about in the cognitive load is performance. It's quality. It's testing. It's usage patterns. It's are you meeting the needs of your users? All that stuff is stuff that existed before. We're just thinking about it with a different set of tools, different set of APIs. And where AI can come in is that it can help summarize a pile of issues for you. It could potentially summarize the last couple minutes of alerts or the last hour of alerts, if you have a tool that does that and gets you up to speed on your monitoring alerts. It makes you more efficient. It makes it easier for me to do my job with a lot of the things that I do because I have this assistant that I can lean on when I want to. And if there's things I don't want to, and there are, I don't. And that's the thing. And so I think it can help reduce that cognitive load and that it makes it easier for folks to eliminate some of the toil. And it makes it so that you can focus on a limited set of things and it's taking care of some of the other things for you. And you can check back and when it's done and when you're ready. ([Time 0:06:37](https://share.snipd.com/snip/64b4eea9-da47-4b3b-a93c-467abb51792d))
- **AI as a 2 a.m. Pair Programmer**
- Aja treats AI coding assistance like a programming pair available anytime, even at 2 a.m.
- AI helps with areas she's less skilled in, like frontend work, so she can focus on backend logic.
Transcript:
Aja Hammerly
Yeah. So my background, I did a lot of pair programming for a lot of years. I worked at a place that was 100% pairing for several years. And the way I interact with an AI when I'm doing coding that's AI-assisted, I don't call it vibe coding because it's a collaboration, is I'm interacting with it like it's a pair. Like I'll say, hey, can you help me write this code? Or hey, is there a way to optimize this code? And if it generates code, I'm going to look at it. My engineering heart says that no code should ever make it to broad without multiple sets of eyes on it. AI does not change that for me. But what it is nice is that I have that pair who's available whenever I want. So if I have a crazy idea at 2 a.m. And I want to go hack something together to show the team, I can sit down. They have the AI there to help me with the pieces I'm not as strong at. I'm not great at front end. I will own that. I am incredibly, incredibly in awe of people who are, it's just not where my talents lie. So I can have the AI help me with some of that stuff, remind me of how to do stuff, generate some of the code for me. And I get to hack away on the stuff I like in the backend. I get to hack away on business logic and hooking it up to various APIs and hooking it up to Gemini and things like that. So having that pair there all the time is really nice. And I just treat the AI like I treat a pair. ([Time 0:08:26](https://share.snipd.com/snip/ce887bab-2e34-4819-a2fb-5991b2488ee2))
- **Personalize AI to Your Workflow**
- Use AI tools selectively based on when they fit your workflow best.
- Experiment and find out which AI-assisted coding features provide the most value personally.
Transcript:
Aja Hammerly
Launched a product this morning, Firebase Studio. It's an IDE with a bunch of AI features in it. And the thing that I talk to folks about is it's got some really cool AI stuff. Like, it's got a prototyping tool. It's got AI built in for coding assistance. It's got some agent stuff. But you get to choose when you use the AI. You want to use the AI for prototyping and then you want to go play with the code and, you know, do all those edits by hand. Awesome. You don't want to prototype. You want to just do it by hand. You just want to open the IDE, open a GitHub repo you're already working on and get to work. Great. And I have times I lean on the AI for help. I have times I don't. I have times where I let it write code, and I have times where I use it to answer questions, but I write the code myself. Remind me of the syntax for this command is the thing that I have definitely asked more than once. And I think that's the big thing that, as we're building this new reality where AI is part of developer workflows, is people need to find how it works for them. Every developer I've met has a slightly different workflow. I'm big on pairing. I'm big on lots and lots of tests. I like test driven development. That's one way to write code. There's other ways to write code that are also very effective. Experiment. Figure out what things you get the most value out of and use those. And if something that someone else is doing doesn't work for you, okay. ([Time 0:11:20](https://share.snipd.com/snip/a511a04c-9236-494b-b26d-883f014b8765))
- **Monitoring AI Apps Requires Testing**
- AI-enabled apps require traditional monitoring like CPU and error tracking, plus new evaluation methods for AI outputs.
- Monitoring AI apps includes testing to ensure responses meet user needs.
Transcript:
Aja Hammerly
Yes and no. I've had some great conversations with some experts in this space, and this is not a space where I would consider myself an expert, so I'll make that clear. You still have to monitor the same old stuff. Like if you're running an application on a VM, you still probably want to monitor CPU usage. If you have a web application, you still probably want to get alerts. If you're a 500-waiter, your 4XX rate goes up, right? You want to know about if that stuff is failing. Because at the end of the day, it's still an application even if it has AI components. But the other thing that when people talk about monitoring with AI, they're typically talking about evaluation and what kinds of monitoring of the responses you're getting do we do To make sure that it's meeting the needs of your use case, of your users, of your team. And that's just testing. There's different ways to do it. You can use AI to do it. There's tools and products to make it easier. But at the end of the day, it's figuring out what are the bounds that you want and then setting up an automated process to make sure that you stay within those. ([Time 0:13:03](https://share.snipd.com/snip/b532fd63-f29a-4ec3-9df5-86159a680208))
- **Version Control Your Prompts**
- Store prompts for AI models in version control if they are important to your application.
- Use available tools to extract and manage prompts similar to application code.
Transcript:
Aja Hammerly
Control is interesting. So there's lots of questions about this. And the place that I've had the most, I thought the most about is how do we deal with prompts? Do we put our prompts in version control or not? And my answer is, yeah. If they're important to your app, you should put them in version control. And there's tools to do that. There's tools like GenKit uses dot prompt. There's other frameworks out there that have ways of extracting your prompts from your application code to do that. Version control for AI apps at the end of the day, for the most part, for the applications, is just an application. It uses cool new technology. It uses models and agents and stuff and maybe builds models and agents, but it's just an application. So all of the stuff we've been doing on version control, still pretty much the same. ([Time 0:14:05](https://share.snipd.com/snip/31988d18-f2e6-4271-bb40-a6776971dce6))
- **Models as API Data Sources**
- Architecturally, AI models are akin to data sources accessed via APIs like databases.
- Updating AI models impacts app code similarly to updating database schemas.
Transcript:
Aja Hammerly
Is a large oversimplification, but when I'm thinking about architecting systems at the very basic level, a model is data source that I access via an API. Now, it has particular things that it's really, really good at. It has particular data that it's amazing at. But from an application architecture perspective, a model is a data source that I access via an API. Now, I have to put checks around that like I would around any data source to make sure that I'm getting good results back, to make sure that I'm not getting errors and things like that. And if you're going to update your database, that has implications on your app code. If you're going to update your model, that's also going to have implications on your app code. And the different implications with the process that you go through as an engineer is often very, very similar. ([Time 0:15:24](https://share.snipd.com/snip/6f5b9f1f-804d-4bf1-afeb-34dc958100ab))
- **Firebase Studio Enables Fast Prototyping**
- Aja used Firebase Studio for quick prototyping and testing of AI-enabled app ideas.
- She appreciates fast iteration cycles that let her quickly validate or discard app concepts.
Transcript:
Aja Hammerly
So Firebase Studio is an IDE with AI assistance built in. Right. A couple of different kinds. We've got some agents. We've got a prototyping system. And then we've got a full IDE. And that's the part that I like and use fairly often. I love the prototyper too. We've got a full IDE that's got Gemini built right in. And the cool thing I think is that you can move back and forth. And in terms of direction, honestly, stuff's moving real fast. The stuff that I'm excited about that I'm seeing is I like coding. I like building stuff. I got a degree in CS because I like building cool stuff that I can share with the world. I want to get my ideas out there. And the thing I like about AI is that it's making that iteration cycle faster for me. I can hack something together with the AI or not hack it together, actually do a good job engineering it, depending on what I'm doing. In a couple minutes, and I can show that to someone, say, hey, is this what you were thinking? Or, hey, do you think that this would work? Like, I had a couple ideas for some apps that I played with, and I put them together in Firebase Studio, a couple prompts, got a basic prototype, and I'm like, you know, that sounded like A really good idea last night, and it's not now. But I was able to find that out quickly, and I was able to get it working and get something that was AI enabled and worked with Gemini relatively quickly. And that's what I'm excited about is that it's making it easier for us to try new ideas and iterate on them. And if they're not good, we haven't lost a ton of time for, in some cases, a whole team was how it was when I started in the industry. And so I'm really excited that people are going to build things that I've never thought of because it's going to be, I won't use the word easier, but faster, or you're going to have tooling To make it, I don't like to use easy because I think it makes coding sound easy. And the tech is still the tech, but I think it does enable you to prototype faster, to try ideas faster, and to get feedback faster. And I'm a huge fan of fast feedback loops. That's why I like test-driven development. I can find out real fast if I mess something up. So I'm really excited about that. I'm also really excited about the fact that things that I am bad about remembering to do get easier. Code Assist has got some really cool agents that can help me with some of the things that I'm bad about doing. I have definitely used an agent to help me come up with a commit message before when I couldn't, my brain was just done. So having tools to help me be a better engineer, that sounds awesome. I'm Those are the things that I'm seeing that I'm excited about. I'm also seeing that more folks can try ideas and they can try ideas in languages they may not know as well. There's languages that I'm not great at, but with the AI, I can at least try ideas out and see if that language or that framework or something will work for my project. And then I can go learn it. With the AI helping me. I ask it to explain things and teach me a lot. ([Time 0:16:54](https://share.snipd.com/snip/14a4b6ae-54dd-4e74-a3de-df6958daad43))