What's this? Another AI video?!
Yes. And here's how my AI workflows are evolving for my own software development processes in the middle of 2025.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, I'm just headed to work. It's uh Wednesday morning. We're going to do a little chat about AI. Everyone's talking about AI. We should talk about AI. Um let's get going. It says it's going to be 45 minutes to get to work, but I am really doubting that. I think it's just because there's probably an accident or something, but we'll see. It's sunny out. We like that. Um, yeah, I'm going to talk about AI in terms of like a couple things. How I'm using it, my own development, uh, how that's kind of evolving. Uh, I'll talk a little bit about work as well because I am starting to leverage some things at work and I think it's pretty cool and I want to talk about that from the perspective of like, you know, engineers being afraid of being replaced kind of thing and um, how I'm going to be trying to navigate that more and more.
So, one sec. There's a bunch of construction here. I just want to make sure I'm paying attention. Okay, so to kick things off, um, I want to start with the work stuff because I was making some videos before and I put them up on my main channel, uh, Dev Leader, uh, for showing GitHub co-pilot with poll requests, like basically cranking through some work and, you know, I've initially shown the examples where it's done really well, but uh, it's not perfect, of course, but it's so much closer to like running in agent mode uh and be having success with that like so much closer compared to like what I've seen in cursor and other stuff. Um I'm going to come back to those things after. But I' I've been really enjoying that as like a means to have some some background work getting done while I crank away at the more important stuff.
And um with respect to work, if you think about it, I work at Microsoft. Microsoft owns GitHub. And uh so I I remember talking with like my skip level uh and my manager's on vacation. So I was talking with my skip level and uh asking like cuz he's of course like all of us he's very interested in like how AI is going to be impacting things. So we were chatting about it and I was mentioning to him like I have been having uh success with GitHub co-pilot outside of work. I think he was talking about, you know, building some stuff with his son or something. Like they were able to have some agents doing some things. So, like super cool, you know, that's exciting. And I kind of said like when when do we get it like at work, right? Because we're Microsoft. We own GitHub.
And so I don't know all the internals. I realize that obviously on the surface this stuff seems like it should be trivial, right? Like we already own it. like just turn it on cuz we use Azure DevOps. Azure DevOps is not GitHub. They're very similar. So, um we were able to get access to this kind of technology in Azure DevOps uh recently, which is super cool because uh now we can start leveraging it. But um I've kind of said this a few different places like on live streams or on code commute where uh the AI push within my team like hasn't been crazy. So I don't have like I have not had a single developer come to me and talk about like uh I feel like really afraid that we're going to be replaced or laid off because of AI. And I have a lot of team members that uh talk to me about all sorts of things that I can can tell they feel comfortable at least talking to me.
So I don't I don't think that they're not thinking about it or that it hasn't crossed their mind, but they don't seem to be freaking out about it. But at the same time, the AI tool usage, I don't have people coming to me uh on a regular basis saying like like when are we going to get the ability to to do X or to do Y. It's mostly just like leveraging co-pilot at work in terms of like the IDE like working in Visual Studio and then C-pilot in terms of being able to chat with it like similar to chat GBT. So, always kind of like chatting through like creative ways to use it, but not I don't have anyone that's like trying to like push the envelope or anything. Um, so now that we have this available, I realize like, oh crap, this is something that I've been using like quite heavily outside of work.
That means I can start using it at work. And this is probably going to be one of the first times where I have this conversation with my my team where I'm like, "Hey, look. I'm going to start using this. Like they can too. They're like everyone's welcome to use it, but I want to be very careful that they don't feel like uh-oh, now the manager can ask AI to go do work directly in uh, you know, through pull requests." Like, what's that going to mean? Right? which I'm trying to be very transparent with them about this and and I I talk about this on video already like my belief is not that it is a a replacing technology right like I wanted to give you an example in this chat which is what I shared with my team I have a backlog of packages that need to get upgraded is a very typical thing that happens to go upgrade packages is it is the most boring kind of work there.
I have not met a single developer that gets excited about doing package upgrades. Um you know in the best case they're a trivial thing to do. In the worst case you have like this s sort of like um spiderweb effect where you touch one thing and then like other things are affected now. Build is breaking over here. You have to go upgrade this package. Oh no, there's conflicts because of some dependencies that can't, you know, get to the same common version. So you have to like go back a little bit. In the worst case, it's a nightmare. Right? This is the exact kind of work that I do not want to give to team members. I absolutely don't want to do that. But it's not that the work itself isn't valuable. We need to make sure that we have packages that are kept up to date.
Now, we're talking about code bases like within Office 365 across different teams and stuff. Some of these code bases are incredibly old. Some of them are newer, but because they had to integrate with older code bases, they end up having to like have some like patchwork or some hackery to like they're like, "Okay, not what we wanted to do, but like that's how we get things going, whatever." And there's tech debt, right? So, what I really don't want to do is disrupt what my team is doing because they're focused on delivering like really high value work that's going to be interesting for them to go design and build. Like, it's all the right stuff that they're focused on. I don't want to come around and say, "By the way, stop what you're doing because I need you to go upgrade some packages." No. You know who's going to be really good at doing that?
Co-pilot. Well, and that's what I'm hoping. So that's what I'm focused on is trying to go through this backlog of package upgrades and like I'm taking that on. Could I out like could I give that to someone on the team and say you go use co-pilot to do this? For sure, right? And maybe in the future I will, but I want to take the opportunity right now to make sure that this is the kind of thing that I don't have to distract the team with. And maybe in the future, especially once I get the prompts and stuff nailed down, there's a good pattern for it, I actually want to push it back to the teams that do the the package detections and say, "You go run this. We'll review it." There's a really nice Corvette that's coming up. Hopefully you guys can see it. Get ready.
Look at that. Man, it's funny. I the personal preference just based on the look. I hate Corvettes. Hate them. But the newer Corvettes that are mid-enine, oh my goodness, I absolutely love them. And I'm pretty sure for anyone that loves Corvettes, they probably hate these newer ones. They look like Lamborghinis. Like the front of them, they're so nice. I love them. But the older ones, I I just don't like the look at all. Again, personal preference. I'm not saying it's a bad car. I just don't like the look of it. Okay. So, I made sure to go out of my way when I started doing this. I basically put into our team chat, I said, "By the way, folks, like here's here's what I'm doing. Here's why I'm doing it. And like I'm just being transparent with you." And I said, "If there's anyone that actually does enjoy this kind of work, like please reach out to me.
I'm happy to go, you know, if someone wants to go work through this because they find it interesting, like that's great, go do it. But I have not met anyone that enjoys doing this. It's tedious. It's a pain in the butt. So, uh, the first pass, just to give you some context, the first pass, um, I gave it some instructions and then after talking with one of my principal engineers, I think we we agreed on a different, uh, path for it to take. So, I basically told it touch as little as possible on purpose because I'm trying to avoid this spiderweb effect. And when I was talking with one of the principal engineers, he was like, I get that, but like maybe we should just take the opportunity to upgrade them all the way. Like, there's another reference point where we can say just put them to this.
And I was like, that fair enough. Like, if you feel like from his perspective, he's been on the team a lot longer. He knows the code base a lot better. My opinion was be as uh least disruptive as possible and he was still like, "Yeah, like totally get it, but we might as well just try and and go and see, right? Like if it's going to be a pain in the butt, then maybe we don't. But while we're here, why not?" So, uh, first pass didn't go so well because of that. I I tried to correct it like after and I feel like whatever model we're using, I didn't check, but I feel like it's not a great model right now. uh seemed like it was like okay like thanks for the update and like didn't quite undo the work it did. It just kind of like tried I don't know a good way to say this.
I basically said don't do what you just did and like start from scratch or that's what I intended it for it to do. Um and then take this other approach and it kind of didn't start from scratch. Tried to walk back some of its changes and then do the new ones and I'm like ah it's a mess. So uh I basically started scratch sorry from scratch after tweaking the prompt a little bit. Uh when I say prompt I just mean like uh you know a work item an Azure DevOps work item same as a GitHub issue just tweaking the text in there for guidance. Uh, so today I'm going to be checking in on that and seeing.
But, you know, met a point being like I'm hoping that there's lots of little things like this that are quality of life that either like I can help with because that's a simple thing for me to do or if there's team members that get used to doing this kind of thing then when it comes down to like cool we got you know someone identified we have a little not maybe not a bug maybe there's like a logging improvement and it's like okay well I don't want to context switch to go do that. Like maybe you could just make the work item and write enough detail in it and give it to co-pilot and it's and we're done. Like review it after, right? So I'm hoping that we'll see this kind of shift over time, but I'm going to be personally trying to like uh at least within my team lead the way on that and kind of lead by example.
My my goal is not to have the creative work or the the more value ad work being replaced that way. Um I don't see in my own work right now. I don't see that being a great example. I'm trying to and I'm going to segue into my own personal projects now. I have been trying to play around with a hybrid where yes I use co-pilot for things like that. So GitHub copilot for pull requests that way. But there's I've mentioned before that there's some things where I'm like, "Hey, this is totally open-ended." And like I don't have the expectation that I assign it to co-pilot and it's going to do it perfectly on the first try. And I don't have that expectation because I don't even know what I want in terms of the code structure and other things. I might have some thoughts in my mind, but I haven't taken the time to make the prototype or anything like that.
Um I want to give you an example of that. Um but I'm going to wait just a moment for that because I'm going to talk about cursor. But uh there's been some things so some other examples where I've given it what's a good one for this um like a video processing uh pipeline. So in brand ghost which is the social media content posting platform that I have on the side of work. Uh I use that for all of my content. So if you see dev leader on literally any platform, the content is posted through Brand Ghost. Um the exception there's two exceptions. One, my newsletter articles Substack, those are not posted through Brand Ghost and long- form YouTube videos are not posted through Brand Ghost. Short form videos are um also I can't post to the community pages on YouTube until they offer an API for that.
So there's like basically like 95% of things you see are going to be through brand ghost. But one of the things that we we strive for in Brand Ghost is that you create the content and then you say where you want it to go. We take care of the rest. But on the surface that's easy, but when it comes down to some nuance details, it's tricky. So some platforms have uh different size limitations in terms of uh videos. For pictures, it's like some some video formats aren't supported or if you don't meet uh minimum sizes or aspect ratios won't post. So, we can do things like for pictures where we will um if we know that your picture is not going to meet the aspect ratio. I can do things like pat it, right? I can add like black background, pat it to meet the aspect ratio.
That way your picture's going to go to that platform and you don't have to go, "Oh crap, I need to make like five different variations um from scratch with different resolutions." Like, no one no one wants to do that unless you are the kind of person that really loves making different graphical assets, which is fine, but that's not our goal. Our goal is so that you don't have to think about that. So with video, I wanted it to basically prototype doing some type of like video conversion pipeline where I can reduce the quality of the video to meet size limitations. So for example, if you wanted to post a 100 megabyte video on Blue Sky, the limit 75 megabytes. So, can I have a background job that basically takes your 100 megabyte video and strips it down uh to slightly lower resolution or maybe it's not even resolution, right?
Um maybe the the resolution is fine, but the quality the compression ratio, we crank that. Um, so crank the compression, lower the quality, and therefore we get, you know, a video that may not be as perfect as you intended, but at least it posts a blue sky, whereas it just would have failed before. So, I want to experiment with some things like that. I have some ideas in mind like we use quartz for our job framework. The probable best thing out there like in the world for like video conversion stuff is going to be ffmpeg. Okay. So, I know those pieces are going to be in there, but like aside from that, I don't know. And there's a lot of other things to kind of juggle. And this is one of those things like let co-pilot try it in the background. Let it go build something and then I can look at that and go, "Oh, like this is actually a cool pattern.
I like how it's doing that. Let me take a note of that." Right? There's going to be parts to it where I'm like, "This is absolutely trash. there's no way I could use this. But for this type of work, I'm I'm okay with that. Like I said, I'm not expecting it's going to get it perfect. So, I've been doing that in the background, and that's been going really well. And then I ran out of uh co-pilot requests. I had to open like a support thing because super confusing messaging. Um they're like, "You can pay for more." And then I tried to and like it doesn't work still. and they told me I was rate limited and that's not actually something I can pay for. But I have like screenshots of the message saying like click here to increase your limit and pay for it. So anyway, that reset yesterday, so I'll start using that again.
But in the meantime, it was a really good opportunity to say, "Okay, cool. Let me go back to some of the other tools and keep trying them." So, originally I had played around with cursor, had a really terrible experience with it. Um, like I don't know. I don't know what to say. Just like very disappointed. And the same thing like I'm not just picking on cursor. VS Code was was even worse. Significantly worse. Um, like having an having an agent say back to me, it's not even in ask mode. The agent is like, "You can go look this up." And I'm like, you are literally the agent. I'm telling you to go code this, not to go look up information. So, just like total flop. Uh, from my my own experience, right? I could be blamed for that. That's fine. Whatever. I don't care. But cursor was pretty bad, too.
A little bit better. But I went back to cursor because like I've been saying in these videos, I want to make sure that I'm practicing with this stuff. And when I'm like hitting a point of frustration and it's slowing me down, I need to like not let that happen on something like brand ghost like cool let me park how I'm doing that let me go back to something that's more effective and then periodically I can revisit it try again try something different so with cursor um I've been trying it again I'm using we have two different repositories for our back end and our front So I use a workspace where I can see both repositories uh from the top. So it's pretty cool that way. That way I have full context and cursor whereas GitHub copilot won't. It only sees one repository at a time. If I try to use cursor's agent mode like background agents, same problem.
It can only see one repository at a time uh the way that I've tried it so far. But if I use agent mode that's not background, right, that you like use in the chat like normal, then that seems to be um able to look at both repositories. Give me one sec. So, I just wanted to check the traffic. Um, so I've been trying agent mode out this way again, and I've actually had better success. I'm trying to figure out like what things I've been doing differently. Um, but one example, and I'll post the video for this. I recorded it yesterday. Um, I I finished vibe coding the the code commute um question submission page that uses uh basically like an Azure function to send email. And cursor was able to do the front end and back end of that at the same time. Uh, pretty well.
Screwed up a little bit. This Porsche wants to pass me, but he doesn't realize that it's not me you need to pass, it's the other people. Um, so I used it for that. It was pretty good. you know, little bit of, you know, few mess ups here and there, but I I basically re-recorded, sorry, I replayed the instructions or attempted to and then recorded a video. Uh, it's a bit messy, so the editor's going to have some work on that one. But, uh, cursor did a decent job. All right. There was some pretty obvious things where I'm like, you know, you put a word count in here, but the word count's not updating. Like, just go fix this bug kind of thing. So that was good. But for brand ghost like it has access to the front and the back end now. So what's cool is I can say like I want to build this feature and I need a backend API and I need the frontend UI to go hook up to this.
So to give you an example, we had a user request come in where they wanted to be able to like pre-seelelect groups of social media accounts to post to. So, I had I basically had Curser do all the preliminary work for the back end and the front end. The front, it nails the front end stuff, man. It's like it's really good at getting some of the front end pieces together. I I'm always impressed with it that way. Um, for me, that's a huge asset because I'm I'm pretty bad at making front-end code look good or writing code for the front end to make the UI look good. So, it it seems to do that quite well. And um the fact that it had access to both the front end and the back end locally made it so that it could do that much better. Um I like I think the only the the time I spent the most on that one was that the API request it was making it had two slashes together.
So, it kept failing. I probably spent like an hour trying to debug that. stupidest, smallest thing, but it was other than that it was like it was working like from almost near the beginning. Oh boy. He Someone's got to move. Make an opening here. There we go. Holy crap. Um, so I've been leaning on cursor a lot more uh because I didn't have GitHub Copilot back up and running. But now that I do, I'm probably going to like split up work even more, right? So I'm probably going to be using GitHub Copilot for I don't know like maybe more experimental things still. I have I have to think about this more. I if if GitHub Copilot's not going to have the full context across two repositories, I might stick to Cursor for doing some of that stuff. Uh or or I might leverage Cursor more for just like I want to pair program.
That might be how I do that. So, like I'm actively working on this thing and I want some some help or I'm actively working on this because it's important but it's boring. There's some scaffolding that has to be done. I might use cursor for that. So, I'll probably stick to that. Um, I do need to make my cursor environment work properly in PowerShell. Like, it seems to to fumble a lot with that. It's like every time it goes to run a command, it fails the first time and it's like, "Oh, that's the wrong syntax." Probably something I did wrong or need to configure. That's fine. But the last thing that I want to talk about here is this is all good and well because this is sort of my typical developer workflow and the most recent augmentation has been like background agents to go do pull requests and stuff like that.
Tremendous. Love it. I think Cursor has I haven't tried it on mobile yet, but I think Cursor has background agents that I can trigger off my phone. I don't know. It's hooked up to GitHub, so I don't know if it's just going to work like GitHub Copilot. So, I might try that today even cuz I'm I'm driving to the office. It would be cool to submit something and see what happens. Um, but the last thing I wanted to talk about is actually using like agent swarms. And this is something that I have literally no experience. And I was trying to get this set up over the weekend. There's uh something called clawed flow that I was looking into. And you know, typical I hate this stuff, man. Um not because of this author or anything, just like this is such a typical like repository thing when you're like looking at open source stuff.
It's like just one line to get up and running. And I'm like, I already know it's not going to work. I know. Um, so, okay, let's try it. Get the command line open. Try the one line. Absolutely not. And it's just me sitting there basically vibe coding getting this thing set up. An absolute nightmare. You don't have this dependency. You don't have that dependency. But I don't know why it's complaining to me. Like it's supposed to be installing these dependencies. It's installing other things. So I'm I probably spent like 8 hours over the weekend trying to get this thing going. And I think took me Monday morning or Monday night or so. I think it was Monday night after work before the live stream I did. I finally got it to run. And so I'm very interested in this. But the cost is nuts.
I had like a I set up like a $5 budget, which I know is nothing, but I'm like I'm nervous cuz I don't know how fast it's going to blow through this budget. It was like I don't know, within like 2 minutes. It was so quick. And I had an email that was like, "Boom, your budget's done." Like, "Oh man, like this is this is kind of scary." So, my my biggest concern with this is that it's going to be cost prohibitive, but I'm I'm really curious about this. I don't even know if I want to use it for my own like main projects. Like, would I use it for brand ghost? I don't I don't think so. But I had this idea out of nowhere the other day because I was trying to do SQL query optimization in Brand Ghost to make some features snappier.
And uh long story short, after doing a bunch of uh explain query plan and giving the output to chat GBT, stupid me was just missing a handful of indexes. I had I had my indices in place, but um I was missing some obvious ones and I had a query that was taking like seven seconds and I got it down to like you know under 100 milliseconds like some something stupid like that. Um anyway, that was all goodness, but I was sitting there going like I use my uh my SQL and so I use my SQL workbench and I'm like why isn't there a SQL tool like this where I can just like in basically like a SQL IDE where I can just ask it to go optimize queries for me? Like I just did this with chat GPT back and forth. Why can't there be a thing like this?
So I was like cool I don't have time to build this. I have a million other things I'm doing. What if I just use an agent swarm to go build a prototype of this like is this feels like the perfect thing to go do, right? I think this would be cool to have. I haven't seen one that exists. Maybe it does and I'm just stupid. That's fine. But I was like, why not give this to an agent swarm? And uh so I ran it in for a couple minutes. It produced a bunch of stuff. But um it's not done. And like then it just ran out of budget. So I don't know the answer there. But I want to play around with this more because I I think for me this is a very large sort of untapped area that I don't understand well. And if I don't understand it well, I have to spend more time on it.
Right? So even using something like clawed flow, I'm like, okay, we have agents that are running. That's cool. There's MCP involved. Like they're doing tool discovery. They're they're talking with each other. I don't have enough understanding of what's actually happening under the hood. Conceptually, at a high level, it makes sense to me, but like in practice, that's fuzzy. and that's a gap I want to close cuz I don't like being in a position where I'm using things and I'm like I have no idea what's going on. So for me that's sort of a next thing that I'm going to be doing. Um you know alongside all the other learning and stuff I I want to make sure I'm spending some time with basically command line agents running in a swarm and seeing what kind of work can be tackled that way. So lots of different angles.
I'm finding it really exciting. I still don't feel like even with an agent swarm going and building something. Um, it's funny the even the people I see talking and I don't know like this some of this feels like it's like crypto bro stuff and like like the same kind of feeling where you have these like pockets of people that are like I don't know if you've ever seen like crypto people or people pushing NFTTS and stuff feels the same way. It's it's not not a good feeling. Um, so part of me is trying to learn, the other part of me is like, "Oh, this is the grossest like grossest kind of I don't know way that people talk about stuff." Um, if you've experienced this, you probably know what I mean. But, uh, I'm trying to learn about it because I think it's important. But, we'll see.
Ultimately, like I've been saying, like the goal for me is to try and make sure that I can refine my process and that I can stay on top of these things. And it's uh it's kind of cool that starting to see this like trickle into into work because when people have asked me before like you know how are your teams using AI and stuff because whether it's for podcast or you know just chats back and forth online um someone like I did a podcast interview it's got to be a few weeks back now and they were asking me like you know AI replacing software engineers what are your thoughts? Um, so you know, I end up seeing like we're not like even my team is not going crazy with AI, but I'm I'm hoping that we start to see some more of this stuff ramping up when the tools just become like easier to use.
It feels very silly to me that this is the thought that I wanted to get out of my head. Sorry. Um it's like oh it's going to you know makes us so much more productive. We don't have to do anything. But it's like yeah but to go get an agent swarm to run you had to spend like you know weeks perfecting your your prompts like tuning them and everything. And then even to go run this scenario to go build something you had to go spend like a day prompting it just to get some early feedback to tweak your prompt. Like it's not that it was no work. Like don't don't get that confused. It's not like you just said like hey AI go make me a SQL query optimizer and uh it's just done like no takes a lot of back and forth still. And if you want to reduce the back and forth you have to have more clarity up front.
So, it's it's shifting where the effort goes. It's not that there's there's no human interaction. So, anyway, I'm at work. See you next time. Take care.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- How am I using AI tools like GitHub Copilot at work to handle tedious tasks?
- I use GitHub Copilot to take on boring and tedious tasks like upgrading packages in our codebase. I prefer to handle these tasks myself or automate them with AI so my team can focus on more valuable and creative work without distractions. This approach helps keep the team productive and engaged with high-value projects.
- What challenges have I faced when experimenting with AI agent swarms for development?
- Setting up AI agent swarms has been quite difficult and time-consuming, involving many dependency issues and configuration problems. Additionally, the cost of running these agents can be high and potentially cost prohibitive, as I experienced my small budget being exhausted within minutes. Despite these challenges, I'm curious about their potential and want to learn more about how they work under the hood.
- How do I integrate AI tools like Cursor and GitHub Copilot in my personal coding projects?
- I use GitHub Copilot mainly for background pull request work and experimental coding, while Cursor helps me handle tasks that require context across multiple repositories, especially front-end and back-end integration. Cursor is particularly helpful for front-end UI code, which I'm less skilled at, and I switch between these tools depending on the task and their effectiveness at the time.