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.
