Home » Tech » AI Can 10x Developers: Reducing Tech Debt

AI Can 10x Developers: Reducing Tech Debt

by Lisa Park - Tech Editor

founded ​by‍ computer and data scientists from ⁤the University ​College ⁢London,TurinTech builds Artemis, an AI engineering platform designed to help teams safely evolve, improve, and‍ maintain existing codebases over time. Preview their new Artemis coding agent for free.

Connect with Michael on​ LinkedIn.

User Adam Franco won a Stellar Answer badge-and ⁣this week’s shoutout-for their answer to How can I delete a remote tag?.

TRANSCRIPT

[Intro Music]

Ryan Donovan: Hello ⁣everyone, and welcome to the Stack Overflow Podcast, a place to talk all things software and technology. I am your host, Ryan Donovan, and today ‌we’re talking about a new category of AI-generated tech debt. AI ⁣has created a lot of new things for us, and some of the things‌ it’s caused are⁤ problems.So, ⁤we’re gonna be talking⁣ about why ⁢we’re not getting the productivity and‌ how we can get better productivity from ‍AI.And my guest⁤ today is Michael Parker, VP ⁣of ​Engineering at ⁤TurinTech.So, welcome ⁤to ​the show, Michael.

Michael Parker: Thanks, Ryan. Great to be here.

Ryan Donovan: So, ‍before we get into the meat​ of the topic, we like to get to know our guests a little bit, so tell us a little bit ​about how you⁤ got into software and technology.

Michael Parker: My dad was a programmer growing ⁤up and we had a lot of computers kicking around,⁤ so I started programming when I was about 11.⁤ We⁤ had a ZX Spectrum that’s coding some basic.⁢ I come from quite a big⁤ family, so I made a few​ games with my brothers and sisters and you know, ‘what’s your name? I like ⁤you. I don’t like you.’⁣ That ‍kind of fun stuff. And so, I used it growing up as a ‌way to⁤ connect‌ to people, making things for ​my friends‌ and ⁢family. Yeah. And then I did computer science at uni. ⁢I ⁤went into games. I was really into computer games for a while, and then I pivoted back to hands-on keyboard developing.So, I was a game designer for a⁤ while, and then I went into programming, and then I eventually ⁢shifted into team leadership​ and management. And I spent just ​over six years at Docker, ​most‍ recently, building Docker Hub ⁢and Docker Desktop for millions of⁢ developers, which was great. And then I ‍got bitten by the AI bug like everybody else, I guess there are some bulls and some bears out there, and I’m ‌one of those bulls, and I was ‍so impressed with ‍the fundamentals of what AI could do and‌ the models that I ⁣thought I really need to jump in with both feet. So, I joined TurinTech [in] february, and I’ve⁤ been there ever since, building what I hope to​ be⁤ the next generation of‍ developer⁤ tools. I’m on a mission to make development more fun, bring the joy back to development, get ‍rid of all this ⁤tech debt, and give us some hope again.

Ryan donovan: ⁤ Everybody’s trying to⁣ get that developer joy ​back into the game. Everybody saw⁢ the promise of AI⁢ three years ⁣ago or whatever ⁤it

And sometiems it doesn’t. And⁢ sometimes the instructions you give it are not really quite specific enough, and it gets confused. And maybe there’s some ‍context‍ that you have in your ‌brain‍ that you didn’t realize it didn’t know, and it’s not in​ its context ⁣window,‌ and it makes some assumptions. And so,⁤ this is where we really need to build better tools with memory, and so it understands you and your institution, and your⁤ different projects, so‌ it⁣ can actually do sensible things. And when I‍ think about this problem, there’s four places I think we need ⁣to fix ‍planning upfront so you can‌ give it better context to give it [a] better ​chance ⁣of achieving sensible outcomes. Then there’s the coding, which is ⁤the babysitting. It’s‍ made your draft, but ‍you⁣ need to fix it; you need to reiterate.Then there’s a reviewing at the end, ‍and you might do that in GitHub⁣ or a different review system. And then there’s ongoing maintenance ⁤that always has to happen, right? Your dependencies go out⁢ of date, your libraries need updating, you change your code styling, and you need to do some refactoring. And so, I‌ think like we need better⁤ tools at each four of these steps.

Ryan ⁢donovan: They’re not the​ same tools,‌ and ⁢not the⁣ same problems. With planning, that is an age-old problem. I’ve had several‍ articles we’ve published about requirements being ‌the central problem of software ‌engineering, and requirements changing ⁣and just ‍being a ‌moving target, and just getting people ⁢to have ⁢a solid plan in the beginning. Is there a way to be better at that in the ‌AI age?

Michael Parker: Yes, absolutely. We’re trying to work on ​this problem⁤ right now with Artemis.‌ We are building a set of ⁤planning agents, ’cause I think‌ the next ‌generation of ‍AI​ tooling​ is gonna‍ move away from ‌an individual having an AI tool to help them do their job, and we‌ are gonna start seeing more teams with humans and AI collaborating ‌together as‍ more of a team as these AIs start infiltrating our social circles, and⁣ our interaction platforms. I’m hoping I’m not talking​ too dystopian here, but⁣ I think ⁢we need to start building tools that can manage teams of AI, and so what we’re trying to build is ⁢more like a planning team. So, we think that planning has at least three different steps: there’s the requirements gathering, which is what do you want ​this feature to ‌actually do? Who ⁣is it for? And then⁤ there’s technical requirements. So, ​we have a software⁣ architect persona, which decides on ⁤frameworks, and libraries, and that kind of thing. And I think you need that separately from ​requirements,‍ right? ‍And depending on who’s ​using the⁢ agent, they’re gonna‌ have expertise in maybe one or the​ other, or⁤ maybe none of them,‌ and ⁢so, you might be able to fill in the gaps on one⁤ and ⁢then get ‍advice and education‍ from the other.So, one of the ‍key pieces of ​collaboration in a real human team is around product ​managers, designers, engineers in this ⁤triad ⁢of different expertise, but that’s quite ‍inefficient if​ you’re constantly⁢ double-checking all of your decisions with⁢ all these other humans. So, we think AI can ‍play a role in ‍helping⁢ you quickly sanity check what you’re​ doing, either as a product ‍manager talking to an engineering agent, or an engineer talking to a product manager agent.⁤ And⁣ of course, all these⁢ agents have to have context around​ what you’re doing.⁤ And so yeah, I think absolutely we can build better planning agents and ⁤better planning tools, and I think there’s a lot of interesting work in the market. Everyone’s got ‌a slightly different take, and we are​ seeing a bit of ‌the spectrum​ development flow, and then we’ve got Kiro from AWS, and Cursor Claude Co. coming ​up with these different types of planning.⁣ what we are‍ really​ focused⁤ on is ‍dealing with uncertainty and asking very specific questions, and then educating the user.so, one of the things I miss when I’m using⁤ AI is the lack of learning. Too ⁣often, I feel like I’m in the backseat of a Ferrari with broken steering, and it’s just smashing down the ⁣motor, and I’m‌ like, ‘where⁣ are we​ going? Like, I think I know…’

Ryan Donovan: Yeah, you just press a button and out comes whatever ‌the product is.

Michael Parker: ⁣Right. And maybe we’ll crash, or maybe we’ll get there

“`html

So, I think it’s really hard‌ to build a tool that sort ​of satisfies everyone. Andrej Karpathy said something interesting a while ago about a-​ what was ​it, like ​an autonomy slider for these tools, where ⁢it’s like, ⁣how much autonomy ​do you want to give it? And maybe there’s something in there about learning each user’s preference for how much ‌autonomy to give these AI tools.

Ryan Donovan: It almost [reminds me of what] ‍Stephen King said about‌ writers: that some people really [are] plotting it out and having everything set when they start ‌writing, and some people like going by ⁢the seat of their pants and figuring it‌ out on the fly.

Michael Parker: Yeah. And also, a lot of ‌people wanna get to a quick prototype​ just to see⁤ what AI ⁢would do. So,one of the things we’re exploring is this ‌idea ​of preemptive prototyping.So,as you are planning,we‌ can have another agent go generate some code,and so you can see,’if I just stop planning what the application would look like,’ and here’s ​the technical rules I would use,here’s the​ libraries,here’s the technologies,here’s the structure I’ll build. And so, you can go backwards and forwards on like, how much detail do I need in this plan? Because if you ⁣don’t know ⁣what ⁤it will do when ⁣you finish, you don’t‌ really know how much more you have ​to ⁣tell it.

Ryan ⁢Donovan: Yeah, you get⁤ to⁤ see‍ the fast feedback loop, and that’s something I keep⁣ hearing about software development in general is ‍that​ it’s better to have this fast feedback loop.You have this fast CICD cycle. ​Are there other ways in the AI code pipeline‍ that we can encourage faster feedback?

Michael Parker: Software development as a‌ whole might change in its approach, especially around ⁤the quality a pull request​ needs to be before merge. Over⁣ the weekends, I’m vibe coding a game with my 9-year-old as‍ a way of ⁢introducing him ‍to technology, and I don’t know weather to teach ​him coding or not. I don’t know if that’s gonna‌ be‍ a valuable skill, but it’s ‌interesting.We are not‍ writing any code ‌ourselves,‍ right? We’re just ​talking to ⁢AI, and we’re just building‌ this game. And there are moments when we are⁢ in ‍flow. We are⁣ thinking about ⁤an idea,and we can just build it⁣ in minutes. ‌We ​have this little snake game. We have this multiplayer. We got two things, and ⁣we’re fighting, and he’s like, ‘ hey, let’s add a power-up, and we can​ be ⁣invincible for ​five seconds.’ I’m like, ‘okay, ⁢make it invincible.’ And then it⁢ happens, and we play it, and it’s so magical that we can build at‍ the speed of thought. ​That’s how fast it​ is.​ But ‌then you hit a roadblock, and you give it a prompt, and it just breaks, and the whole thing stops. and then, you know, 9-year-olds get‌ bored very quickly, more than developers, right? he just wanders‌ off. Now I ⁢need to refactor,and I look‍ at the code,and there’s like a 2000-line file,and I’m like,’I don’t want to do that anymore. I don’t want to refactor this.’ I can talk you‍ through it,but AI should be doing that. Imagine a ⁣world where⁣ you can vibe the creative stuff yourself, and ​then pass it ⁤off to AI, and AI will‌ just fix it. That would be my perfect vibe coding world, that: I can ‌merge whatever rubbish I want, and AI just ⁢comes along and sweeps ⁤up after me, and it ⁣cleans up, and it’s ​like, ‘ Mike,⁢ I ‌know what you‍ mean. Let me just⁣ put it‌ into some proper modules.’

Ryan​ Donovan: AI doesn’t necessarily build for‍ maintainable, readable code. One of our junior writers here, she doesn’t have much of a development background, and got her to start Vibe‍ coding. She says, ‘ I built something,’⁤ and then‌ she showed it to her software developer friends, and they were like, ‘what the ⁢hell is this ⁢function doing right?’ And then,‌ like you said, you don’t want to do that refactoring thing, but a lot of things ‍I see is that seems to be the ⁢future role for developers is code review and refactoring.

Michael Parker: Yeah. And developers are really ​sad about ⁢this. I talk to ‍so many developers, and I actuall

“`html

yeah, there’s definitely new roles opening up. It’s a ‍different set of skills, and this set of skills is⁣ not gonna ⁣be stagnant, right? All‍ of these ⁤cutting-edge groups of ‍people that are getting really good at building subagents, and prompts, and tools, and​ connecting MCP servers, that’s because developer tooling is ​not there yet. We​ still‌ just have a chat box in an IDE generally ‍speaking. This is phase one of AI developer tooling. ⁣Everyone just gets a chat box added to the application. That’s not the end, right? The ⁤terminal was not the end of operating systems. So, we’re gonna see an explosion of much better, more usable AI tools to bring ‍this AI ‍to the masses. And that’s when it gets really‍ exciting because a lot ⁤of these problems and these irritations go away, and then hopefully ⁤developers‌ will start seeing ‍the lights, and saying, ‘actually, it’s not so bad. It’s not gonna produce ‍all ⁤this terrible code, and I ⁤can have it automate this awful ⁢Python framework upgrade, and keep my ‍libraries up to date, and‍ fill in the unit test gaps that I ⁢can’t be bothered to⁣ make, ‍and ​refactor⁢ these big files automatically, and start messaging me.’ Like, ‘do you want me to do this work?’ I can’t wait⁣ till we have ‌proactive agents that don’t just⁣ sit ‍in the corner waiting for me to tell them what to​ do, but​ they actually invent their own work based on the context and the ⁣world⁤ events, and that’s ‌when it gets really interesting.

Ryan⁢ Donovan: For⁣ developers who are nervous about the future, a little reticent, what’s your⁤ advice for scaling up, ⁢for getting ready for what is the future?

Michael Parker: I don’t know what the‍ future holds, so it’s hard to give advice.⁣ But I would say everything that you’ve learned over your ​career will not be ‌wasted.Do not get sad about it,but don’t bury ‍your head in the sand. Problem solving, problem decomposition – these are things ​that will forever be useful in every walk of‍ life. And ⁤some people forget‌ that software development ​has ⁣been about ‌learning new things forever.There ​has not‍ been a time in‌ history where software⁢ development has not ⁣had something new that year. You know, we went⁣ through the internet, and smartphones, and cloud native, and there’s a lot of companies that are‌ still learning ⁢cloud native, right? They⁢ still have big on-prem servers, ⁢and they’re⁤ trying to migrate different types of databases, ‍non-SQL, and scaling, and serverless.⁣ You know, ⁤are you gonna use Docker containers, and Kubernetes, and how ‌much are you gonna ⁣run on ⁣your local machine and CI? There’s all this stuff that we’ve ⁣been learning, and whilst this is a bigger shift, it’s not gonna be the last shift, right?‌ I guess ​I would ⁣just advise, try to get ⁣out ‌there a little bit. So, I do see some​ filter bubbles, where some people in‌ the bull bubble [are] ‌ like, ‘AI’s gonna take over the world. 2027, the singularity is coming. AI’s just gonna write all of the code by the end of ⁣next year.’ And then there’s the other bubbles where it’s‌ like, ‘AI’s terrible, it will never work. Our jobs are safe, guys.’ these bubbles⁣ need⁤ to start⁣ mingling a bit, right? You know, if you’re ​a​ developer⁢ stuck in that latter bubble, start speaking ⁢to some people that have been experiencing some of the speed ‍up. And then if you’re in the former bubble, try to talk to the‍ big enterprises where AI really is not ‍capable of ​solving their problems.​ So,I think we all need to talk a bit more,get out of our bubbles,and staying a little bit up to date ⁢with tooling is always a good idea. Even ‌though it’s moving⁤ at a crazy ​pace.I talked to a developer ⁤a few⁣ weeks‌ ago who said, ‘I’m so terrified by the rate of change, I’m just paralyzed, and I’m just waiting for the winner.I don’t feel​ like⁢ there’s any point learning something‌ today because it’ll​ be obsolete ⁤tommorow.’ you know,⁢ why should I spend my time doing⁣ it? I’m ⁣not sure about that. I think a ⁤few hours a week learning about prompting, about subagents, about rules, files, about ⁤the latest features ​in just a few⁤ of the top AI‌ tools, I⁤ think, is gonna be immensely valuable, just‍ so you ‌know, what’s around⁤ and what people are doing. Because if you stick your head in the sand for a few months, ​or even⁢ a year, in this environment, you’re gonna start looking quite out of date.⁢ So, ‌you⁣ wanna

Here’s a​ breakdown of the key themes ⁢and ideas discussed in ‌the provided Stack ⁤Overflow podcast excerpt:

Core Argument: Building‍ high-performing software teams is more important than relying on individual genius, especially in the context of AI development.

Key Points:

* Team Flow: The speakers emphasize the value⁤ of collaborative environments where⁢ ideas are ⁤freely ⁢exchanged, and team members build⁣ upon each other’s ⁣contributions​ (“team flow”). This is seen as crucial for achieving results greater than the sum of individual efforts.
* ⁢ Social Knowledge: The importance of fostering a ⁢”social knowledge pipeline” within organizations is highlighted. ‌ Sharing information and connecting people is seen as more impactful than simply hiring the most skilled⁢ individual.
* AI’s Role in Team building: the discussion centers on‌ how AI can facilitate ⁢ team collaboration. ⁣Specifically:
* ⁣ AI with ‌Memory: AI systems that learn from interactions, remember team members and their expertise, and ‍adapt their suggestions ⁤accordingly are ‍desired. The goal⁢ is to move beyond AI as a temporary “contractor” to AI as a long-term⁢ team member.
* Information Dispersal: AI can act‌ as⁤ a central⁢ hub for knowledge, answering questions,​ onboarding new team members, and generally ​improving information flow.
*‍ ​ Stack overflow Shoutout: Adam Franco ​is recognized for providing a ⁣helpful answer on Stack Overflow regarding‍ deleting‌ remote tags.
* ⁤ TurinTech Promotion: ⁤ Michael⁢ Parker promotes TurinTech’s Artemis developer preview ⁣program.

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.