In short
Dev Interrupted Podcast Episode Notes
Episode Summary Title: AI Tooling For Your Dev Team: To Adopt or Not to Adopt?
Guest
Itamar Friedman, Founder & CEO of CodiumAI Description: This episode addresses the challenges faced by software teams in selecting the right AI tools amidst growing buzz. Itamar Friedman provides insights into the potential benefits and pitfalls of adopting AI tooling in development teams.
Key Themes and Discussions
- Understanding AI Tools for Development
- Teams need to assess specific pain points before adopting AI tools.
- Itamar emphasizes focusing on two to three key pain points and researching appropriate tools.
- Experimentation with tools should not take more than a week.
- The Role of Engineering Leaders
- Engineering teams must balance exceptional software delivery with business outcomes.
- The episode discusses the dual mandate of engineering leaders to drive performance and manage risks.
- CodiumAI Overview
- CodiumAI focuses on helping developers achieve zero bugs through AI-assisted code verification.
- Itamar’s extensive background includes CTO roles and machine learning expertise, which informs the development of CodiumAI.
- Future of Developers in an AI-Driven World
- There is a pressing question: Will developers exist in 10 years?
- Itamar believes that while AI will enhance productivity, it will not fully replace developers. Instead, it will elevate their capabilities and redefine their roles.
- Adopting AI Tools: Best Practices
- Angel Advocate vs. Devil Advocate:
- Be open to adopting AI tools while questioning their maturity and fit for specific use cases.
- Teams are encouraged to identify and articulate their difficulties and consider AI as an intelligent partner to alleviate pain.
- Experimentation and Adoption
- Experiment with multiple AI tools to find the best fit.
- Tools should be assessed for integration ease and functionality relevant to specific organizational needs.
- Risks of AI Implementation
- Pitfalls:
- Over-reliance on AI tools may lead to neglect in critical areas such as debugging and quality assurance.
- It's important to set checks and balances when using AI to avoid potential pitfalls like deploying erroneous code.
- Adversarial Risks
- Awareness of adversarial risks in AI tools is crucial.
- Developers should remain vigilant against malicious software suggestions that could introduce vulnerabilities.
- Measuring Impact of AI Tools
- Metrics for assessing AI tool effectiveness vary:
- Tools like Copilot focus on developer happiness, while others provide more concrete metrics like code coverage and bug detection rates.
- The Changing Landscape of Software Development
- Short-term (5 years): Expect significant advancements in AI, enabling developers to handle more complex tasks while improving efficiency.
- Long-term (10-15 years): AI could redefine roles, making some tasks easier but requiring human oversight for nuanced decision-making, particularly in communication and unique problem-solving contexts.
Key Takeaways
- AI tools are becoming essential in software development, and teams should proactively explore them to avoid falling behind competitors.
- Experimentation is key: Trying various tools can lead to unexpected beneficial discoveries.
- Maintain a critical eye: Ensure AI tools align with business needs and implement safeguards against their limitations.
- Understanding the future of work: While AI will change how developers work, the need for human insight and creativity will remain paramount.
Additional Resources
- [CodiumAI Website](https://www.codium.ai/)
- [LinearB Free Trial](https://linearb.io/start-free-trial?utm_source=podcast&utm_medium=referral&utm_campaign=devint-shownotes&utm_content=shownotes)
- [LinearB Demo Booking](https://linearb.io/book-a-demo?utm_source=podcast&utm_medium=referral&utm_campaign=devint-shownotes&utm_content=shownotes)
Conclusion This episode of Dev Interrupted provides valuable insights into the adoption of AI tools within software teams. Itamar Friedman's perspective encourages a balanced approach, emphasizing thoughtful experimentation and vigilance against pitfalls while navigating the evolving landscape of software development.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:00There's a very good chance that if you have a serious pain, there is an AI tool for that. Focus on two, three pains the most, if not even one. Go do the research. You probably find a few tools. Think about what's your biggest pain. Research, check the comments, check issues, check usage, and see those that are companies in your domains and using it. Choose two or three. Experiment because it could be different for you. I don't think all of this should take more than one week. And I think one of the great things about AI tools that many of them are really easy to use, like ChatGPT or so. In today's fast-paced business landscape, the success of your business relies on the success of your engineering team.
0:40And the impact of engineering leaders has been clear. We must deliver exceptional software while driving business outcomes. In short, we have a dual mandate. Enter LinearB, the software delivery management platform designed specifically for engineering leaders. With LinearB, you gain the visibility and automation you need to streamline your processes and unlock your team's full potential. Imagine a world where your engineering organization effortlessly manages business outcomes. Linear B empowers you to accelerate software delivery while ensuring your projects align with your strategic objectives and reporting out to key stakeholders.
1:16Gone are the days of disjointed workflows and missed opportunities. With Linear B, you'll harness the power of advanced analytics and real-time insights, allowing you to make data-driven decisions that drive business success. From tracking progress to identifying bottlenecks to optimizing resource allocation, Linear B has you covered. It's time to take control of your software delivery pipeline and unlock new levels of efficiency. Experience the power of a platform designed by and for engineering leaders like you. Discover the future of software delivery management. Visit LinearB.io today and start transforming your engineering organization.
1:54Hey everyone and welcome to Dev Interrupted. My name is Ishaibiri. I'm the CTO at Linear B and I'm filling in for data lines today. Some of you may have seen me from previous episodes, mostly of our labs. That's because I work a lot with our data team, and I'm exposed to a lot of the exciting stuff that we're doing with understanding the behaviors of developers, dev teams at large, using the huge data that we have. I'm happy to dive into AI today, the buzzword that everyone is talking about, and I have a special guest. So welcome, Itamar Friedman, the co-founder and CEO at Codium. Hey, Itamar.
2:30Hey, Shari. Happy to be here. Thank you for inviting me. Great to have you. Thanks for joining. So I always like to start with my guests. Give me a brief overview of your background, your journey so far. So you're now co-founder and CEO of Codium, but how have you started and how did you get here? Great, I'll do it shortly. So I was a two-time CTO of VC-packed startups. So actually 20 years of R &D or CTO management and hacking. My last company I sold was acquired by Alibaba Group. Then I joined Alibaba Cloud. Alibaba's journey was fascinating. I was there for four years. We did quite a few projects, but two products that I'm really proud of is one that we build an auto ML solution as part of Alibaba Cloud.
3:17It means that we automated machine learning ML model creation. And the second one was actually a B2C app that within one and a half year of development from Israel, we reached to 10 million monthly active users. And it's growing nicely and already monetizing, etc. Before that, I did a bachelor and a master degree in a technique on mastering and machine learning. Optimization was one of my favorite topics. And I worked on here and there are a few startups, maybe in companies, maybe worth mentioning that in the early days I worked in verification, like in Mellanox, and actually it was hard verification.
3:57And then I worked on system verification in a company called Silk. So that's also relevant to what I'm doing today. So roughly speaking, that's my background. Great. So you moved from more like the formal stuff of ML and, you know, verification all the way to the new fluffy area of the, I don't know, generative AI. Can you tell us a little bit about Kodium? What does Kodium do? I'm mentioning it because my ever first employee was today my co-founder, so we know each other for 25 years or more. But it's to say that I did web, mobile, hardware, system, networking, storage. But my major is machine learning, actually even robotics.
4:54But almost in all of these, I had algorithms involved and machine learning. So I've seen algorithms from the previous century, those of the 2000, 2010. And my master degree, I actually deal with a bit of deep learning. So I see taking part in this amazing progress and evolution, I actually see it like a step-by-step progress. Yes, the progress is going faster. We do have even a growing gradient, but I do see it as a progress. So for example, in 2016, there was already the gun, the generative adversarial network with generating a network that is in charge of generating content and then one in charge of like verifying the content, etc.
5:43And then there was 2018 attention is all you need, etc. So I see it as a direct continuation of what we're seeing today. I wasn't surprised from, you know, the LLMs. One of the reasons I left Alibaba in the end of 2021, the beginning of 2022, is because we developed with large language models. We even created a few foundation models, etc. It's a certain scale. And we saw how powerful these models became. And if you can frame a problem, if you can frame a problem as a language, not necessarily the natural language, it could be like a DNA sequence. It could be a user usage of your website. If you can frame it as a language, a large language model could hit you really far with analyzing the content and also generating relevant content to that.
6:32And then I thought to myself that, hey, I as a R &D manager for 20 years, maybe it's time to tackle one of my biggest problems, which is code logic testing. Similar to what I did maybe in the hardware area where we did formal verification, we had tools to do because it was really expensive to tape out. It means like to send hardware to production. and then having bugs there. But in the software, we have less fitting. And there are reasons. It's not just how much it costs to ship software. There's reason. And I realized that some of the reasons behind why we don't have good products and tools to check code logic can be mitigated or even solved with AI.
7:20And that's why when I left Alibaba and some ideation about the exact vector and, you know, resting. And in July 22nd, which is almost one year, we're celebrating soon one year, I opened a company together with my partner, Daddy Credo. And what we're doing in Coding AI is building an AI coding assistant focused on helping developers reach zero bugs. Okay, the second part is the most important. There's a lot of code generation tools, but we are more like the adversarial, actually. We are helping to reach zero bugs, helping to verify that the code is generated as expected, that what you write, whether with an AI or not, is fits to your intent, etc.
8:05So that's what we do, and that's how we reach that, through our background in machine learning and large language models, through our own pains as developers and managers. Amazing. So you're deep in that space where AI and developers meet each other. And, you know, as we prepped for this show, you said like maybe one of the greatest questions that's now hovering over our industries is, are we going to even have developers in 10 years? So what's your thing on that? Is AI going to eat our lunch? AI is going to eat our lunch, but probably we have much more lunch to eat in general. Okay, so first of all, it's very hard to predict, especially the future.
8:48But I'm still going to try to do that. I think it's worthwhile separating between 5, 10, 15 years. Largely, I have a general thought, general thinking process. I'm thinking this way. When I have a riddle, I like to think on stream. So I have a question for us. Think about a future. Imagine a future with no developers at all. Can you think about it for a second? You ask any piece of software, anything that you want, whatever, and get it from AI. Even software that was not written before or requires really high coordination between, I don't know, different systems between people, etc. So when I put it in a framework of, I don't know, like 10 years, I don't see that.
9:38And, you know, I think that maybe the AI needs to rule, to some extent, needs to rule the entire, let's say, ecosystem needs to rule the agenda. And then that may happen. And that's why I said, like, maybe 15 years, it's another issue. Now, the other way around, do you see a case, like, in five years that their AI is not taking a major part? It also doesn't make sense. You see how much it's doing right now, and you see all the effort that is being put into it, and diverse effort. And I see in five years, I think we're going to have an intelligent software development stack that enables every developer, actually even creators, to be able to code and deploy and think about software as if they are enhanced, but also as if they have like 10 more skilled developers obeying to them to some extent.
10:38So that's how we see like the five year and the 10 year is like where AI is doing a lot. And as software developers, we can reach really harder like tasks, like, you know, reaching Mars and whatever. And 15 years is like really hard to predict. It really depends where AI is take us, generally speaking. So that's how I see it. So let's park this large question. I see where you're going with looking at the edges of this problem and understanding probably that it's never going to be an all or nothing. But now I'm a development manager, I'm a VP of engineering somewhere, or I'm a developer starting or in my journey.
11:18What are people asking? What is on top of mind now for people that are starting to see this AI in development happening? Great question. So I do want to say, I think you should have two angels on your shoulders right now. Sorry, two advocates, I meant. A devil advocate and an angel advocate. And first I'm going to relate to the angel advocate. I'll elaborate a bit on what you just said. I think listening to your angel advocate, you should be really open and being active about listening and adopting AI. At the same time, with the devil advocate, you need to ask yourself a few questions. What is the transition?
12:04What is the best tool I want to try to use right now? Which one of them is actually mature? Or if you want to be a bit more positive, which actually really fits my use case? So you consider them both and maybe later we can put more focus on a devil advocate. But first, I'll focus on the angel. So I think like really high level speaking, usually as developers, we have the setup phase, right? Like it's here or set up environment. It's here our communication with the product team on what are we building, you know, doing the research about how we want to accomplish things. Then there's the implementation phase.
12:45You write your code, you debug, you commit, you have the process with the development team. And then there's the deployment stage. I'm including them not only like the CI, CD in the cloud, but actually even the feature flagging. And now my point here is that I think that for each one of these elements, and there are sub elements it's part of these task or sub process and there's uh there you will find a tool that is somewhere or even a few between starting to half mature half bake to to mature and what you can do is try to start with your paints try to start look like i'm like breaking down my difficulties as a manager or as a developer by the way and let's focus as a manager for a second and where are my difficulties look on this matrix try to think the pains that you think that you can imagine that if you had like an intelligent like a creature don't think about the product could could it help and then try start looking for products and most like a really good chance that you'll find something and let's look at coding AI if I may say about like what we're developing so let's say that you're you're a manager that you're really struggling with reducing amount of bugs in production.
14:10And the way that you're doing it, I don't know, is like asking your developers to adding more tests and increase code coverage. But at the same time, you know that code coverage could be a proxymetric to actually good testing or even sometime vanity if you don't treat it correctly and it's hard to treat it correctly. Then, okay, you have a pain. And then you look for these, you know, words and you'll find ConeUBI because this is exactly those are the pains we want to help with, like helping developers. If you look on the comments of our product, you see the people saying, I hated testing, now it's fun.
14:45And oh my God, I found two bugs in production, you know, things like that. And like in the code that is already in production. So that's my main recommendation. Think about AI as another intelligent being and how can that apply to my problem? Is that like, what if I had another developer on my team that I would put just on these tasks? Because developers tend to be intelligent. If I'm looking for a general answer through intelligence, if I hired another developer and asked them to do this, is that a good initial proxy to think about what I can get from AI? Just more firepower with brains, probably cheaper than a developer.
15:29But is that ideally on par with what an AI could give me? like one word yes two words yes no and four is yes no maybe so because I'll explain like I think AI like the core capabilities are relatively different in my opinion and then it depends on how the product was packaged a product that is AI empowered could behave like a developer but it could do other things it's like claiming like and just for the analogy Basically, you can say that Google basically does one million people, one million developers work to go over the entire Internet and index it or something like that. But it's impractical, right?
16:16Like it's not visible to some extent. So it's yes, because some product are like, for example, those that are trying to like to be chatty or so like imitate like talking to a developer. but some of them are really bringing like UX UI that is really different. So I agree that it's one way to think about it. But another way is that there are capabilities like indexing and looking things at a whole. And then one more perspective is that, you know, you also care a lot about developer happiness. Maybe you don't care so much on AI happiness. Okay, right now. By the way, I do care. I'm just like considering that in the future.
17:01So I think that, for example, one of the reasons, it's only one reason that Coding AI, we decided to tackle code integrity, like code logic testing, is because I think right now, like developers either do not do too much testing because mostly they hate it, or because they like the creation and not like the verification, or they do testing and they do practice verification, code logic testing, etc. but they hate it. So either you don't do it and hate it or you do it and hate it. And here you go. There is a tool that can help with developer happiness and spread love with this best good practice.
17:41Okay, so to summarize this point, yes, it does make sense to sync with this framework of I'm actually buying more developers and much cheaper, but I think it's more like I'm adding more key, and additionally adding more capabilities that maybe developers couldn't do, especially things in large scale. just in time, you know, you never go to sleep. And as well as doing this harder or the stuff that developers maybe wouldn't want to do. You still want the developers as the drivers, if you ask me, and not the AI. AI right now is more like empowering. Using that metaphor to imagine where I could use AI, right?
18:21If I'm stuck with resources or my developers don't want to do this. and we know we all hate verification, then I say, okay, what if I had a magic developer that loved it and was good at it? But you're saying it goes beyond. Some skills or capabilities are very different. For example, having access to troves of data and being able to index or work very fast on a large scale problem. Okay, so number one, you're saying, look at your current pains as a practitioner or a manager and know that there's a new class of solutions bubbling up around probably most of these pains. So actively look for something.
19:07Sometimes what I'm seeing is the co-pilots and other solutions. Developers are not necessarily finding them because they have a pain. I know how to eventually write my web app or my database service, but I'm still using Copilot. So sometimes it's not a direct, like I'm not looking for something to ease a pain, but I find something cool and actually saves me time. And so how do you go about this? That's a pain. Well, where I'm not even aware or acutely aware of the pain. Cool. So I think like, I know I'm like a bit of generalizing here, but But develop like R &D manager or director of engineering or whatever.
19:57Like, what's your purpose? What are you trying to aim? Like maximum value, right? For an organization and minimum time. So you're basically like, right? Like maximum value, getting out maximum value from my R &D team. Develop the product and the business. Yeah. In minimum time. So basically time, like spending time is a pain, for example. and I think pre-copilot, then you would spend a lot of time in searching in Google and Stack Overflow and things like that. It would take you a lot of time to search and also combine searches. I think copilot is basically disrupting that part. How do you, you know, instead of going to search on Google or Stack Overflow, etc., And unfortunately, for different stakeholders, then you just search inside your ID, but also like it kind of combines a few searches.
20:52That's what it's true. So it actually saves you a lot of time. The second thing is that for junior developers, if I may say it's subjective, then it actually even increases your level. Like it's not only like help you with the search and combination, but actually choose for you the best one. And to some extent, if you're a junior, probably raise your level. So that's a pain, like two pains. Reducing time from if you want to make your software. But I agree that like maybe you wouldn't think about it directly. And this is why I also think with all the respect that Copilot is a really productive tool.
21:31But I think if you think it's a game changer, I think in five years you will think differently. that you will see like game changers tool, like really addressing, like, again, like I know what I'm saying is like more like a vision. I'm not saying that right now, Coding AI helps you like guarantee that you have zero bugs. Like it's like Tesla zero mission. Not necessarily they reach, but they're progressing really nicely. So think about if you can know that you have zero bugs in production and how much fast you can move when knowing that you're being covered this way. I think that's a game changer.
22:04So again, I have a lot of respect to Copilot. like cogeneration. I think it's like really boost productivity. And maybe you didn't think about that as a pain originally because it's not that acute pain. But if you think about the two pains I told you, then I think actually you do find it like they are quite big, maybe not acute. And that's why it's fun. And also magical a bit, right? Like as a developer, oh, I can't believe that AI is doing it for me. It was original. Like it was one of the first AI products. That's I think why we also love it so much. Yeah. So if I'm a dev manager, there's looking for my specific pains and actively looking for solutions what about like my developers and you know people on my team are probably looking for those solutions too starting to use them how do i become more proactive and you know just not just finding something to help me with the pain but also helping my team discover and start to use these how do i we're going to talk about pitfalls in a bit but even before yeah even in the rosy area.
23:05It's one level that says, oh, I have a pain, let's go for a solution. How do I enable my organization to go and jump on this and harness this revolution beyond just looking for direct solutions? Everyone try out things. Do I have a dual program? How do I approach this? I have 100 developers in my org. What now? I have a bit of a few, perhaps generic suggestions, sense but i actually want to like kind of twist them towards the ai tools because i guess that most managers would know the or the trivial ones like for example you know define how like in your core do you want to be a first adapter like early adopters and want to try and you want to be in the front and you want to think like i'm mature do you care or easy ease of integration or do you care about how much of the pain it solves you.
24:02So there's a trivial thing I just mentioned, a few points, and I think they are worth sitting and thinking about. I don't think more than 30 minutes or so, like a discussion between a few people. But twisting, thinking about a specific AI angle into it, is that AI is like a statistical creature. By the way, there is a lot of debate. Machine learning is like a nice framework around statistics. or two different things. I don't know if you know all these memes. I have some opinions, but it's not the topic. So allow me to say, there's a statistical creature. And it doesn't necessarily give you... It depends on the product, but consistent answer.
24:44There's different guardrails that developed by the product owner. And it could, because it's like that, it could work differently between two different companies or two different code bases or two different teams, for example, or so. It doesn't mean that there's got to be a big variance, but it could be. So what I'm saying here is that I think like, I actually think that one thing you need to look at how easy for me is to check it a bit. And you would like to check a few and see how well they work for you. For example, I heard one company trying for one quarter 13 tools and then choosing two. and they were really happy about it because it's like a lot of investment, but they said that they wouldn't necessarily pick the two that they thought about and that was really helping them in a meaningful way that they couldn't think about it originally.
25:38So maybe that's an extreme, I'm not sure. I'm experiencing this. Like enterprises are using Coding AI. We offer easy trial and that's like the atmosphere right now, I believe. I think Linear B, et cetera, on that role right now. I hope it's easy to integrate and then just try it out. So I would just, what I'm saying here is that with AI, do consider how easy it is to try it out because it's not like a spec is written. It's going to be exactly like that. It's a lot about how it performs for you. So you're saying be active about experimenting. like don't you say I'm going to find one tool experiment with tools there's got to be variants maybe know that everything is changing so fast so what you see now may not be what you have in six months can I even afford not to begin experimenting let's say I'm not a early adopter I have other priorities it's not a huge pain I'm solving but is it a risk or a material risk not to begin an experiment, not to have people on my team begin to look and use these tools.
26:49Am I going to be left behind or at a severe disadvantage if I wait for a year? And then I'll see what bubbles up. I'll see what makes it into mainstream. And then I'll adopt. So we can take again the notion of having two extreme cases. Let's say that there will be, there are already, I think, starting to build, but let's say there will be AI tools that helps your team. We're talking an extreme case, just like 10x more productive. Okay? And this means that your competitors are going to develop 10x faster if they onboard, fully onboard, and you did not. Okay, that's an extreme case. On the other way around, if these AI tools are hard to try, hard to experiment with and basically bullshit, then you waste your time and you defocus and you're probably having a lot of pressure.
27:52So it's probably like somewhere in the middle. And as time progress, it actually goes toward the first extreme. That's my opinion. So that's why like so far we talked about like thinking about your pains, that they're there anyway and do start experimenting with them, they'd be a very good chance that some products could help you, even very meaningfully. But then as you get to use these products that you need a slightly different mindset, then you could keep progressing with more and more tools as time passes. So that's how I see it. I wouldn't recommend skipping because there's so many, I think not too much time would take you to look on your pain, experiment a few.
28:38And that's my point here. Actually, I built up to, and I didn't say that. I think there are those tools that are really easy to try. So I don't think the efforts are so big. And you shouldn't miss the opportunity. Again, there's the devil's advocate part, right? So you're mentioning the downside, or devil's advocate. Why not start? Yeah, so I think, like, let's take one of the most dominant tools out there right now. like GitHub Copilot. As an example, okay? So I heard from quite a few people, by the way, I personally use the tool and I love it. I just, I know I'm the CEO, but just I couldn't for two days, I was actually programming.
29:25I don't do it too much. I couldn't stop myself this time. We're going to release some new thing soon and I wanted to contribute. Right now, our tool is in the ID extension. and we're about to connect also to the ICD pipeline, et cetera. So I love it. But I heard from quite a few people, they're passing through the traditional cycle of, oh my God, this is amazing. Oh my God, this is actually ruining my development to, okay, this is useful, but I need to use it carefully. And why do we have this cycle? It's because at the beginning, like you see the magic of AI and you start like even adopting the way you develop towards being AI empowered, which is good.
30:08But then you fall into traps of, you know, the AI suggested something that wasn't really fitting for your use case, and you're already so used to click tab and continue, you know, and then you realize that you can, like, you can say AI will get better and better, but it's more than that. It's not like just the core capabilities of AI, it's even the UX UI. Like the UX UI right now of code completion not necessarily has the capability to really, like 100 % give you code that always works. We'll talk about it in a second. And then you learn to use it better. Then you go back to the driver and then you enjoy the tool.
30:45So I think by this example, you can see that one issue that I raise right now is the way you use AI. And you need to work with your developers and yourself not to blindly trust it. So this is obvious, but also not blindly. Let's start using, after you experimented, and that's what the team that I told you that tried 13 teams and then moved to two, they talked about each tool, like how it's the best way to use that tool. And like the way you need to start generating best practices around it. And then, so basically I'm repeating back, like it's a matter, I'm repeating again what I said before, like it's a matter of statistical product.
Read the full transcript
31:28You need to be aware of it. It requires different best practices. You need to be aware of it. These best practices are, for example, you need to consider best practices related to seniors, to juniors. That might be different. Therefore, it also might introduce new problems maybe that you didn't think about. Maybe right now, you're going to have much more code because your developers are going to create much more code. And then you have also much more maintenance. Now, how are you going to handle that? Either you bring another AI or you need to deal with it. So that's kind of part of the pitfalls.
32:06That's one of the reasons that in Coding AI, we first decided to focus on something that people know there is a big pain and they're really missing resources there and they don't like to do it too much. when we focus there, because we saw that it could be a standalone product that doesn't necessarily need to change too much of your best practices. It just allows you to do more of them, of the best practices right now. So if we dive into pitfalls, so let's say I'm proactive, I'm starting to experiment, maybe found some good tools to help with pains in my development org. I'm using AI to help me write code or to verify code or to add some tests or automate UI out of Figma's, whatever.
32:54There's a bunch of interesting applications. So why should I be careful of? Where can I get bit by the AI? Where's the danger? Except for, I know, yeah, I have to change the way we work and adjust, but where are the things that I should really be afraid of? the part that I repeat myself, I'll do it shortly, is that do imagine, if this AI tool is just nice to have, it's nice to have. But if it really boosts productivity, what does it mean? Again, like I mentioned, if I help automating creation of code from Figma or in the code, and the developers are focused or half-focused because they're actually accepting, taking a look if it's good enough and continuing, they put less attention into it, almost certainly.
33:48And then is the maintenance harder? Is debugging harder? So that's one aspect of it. Now, we focus a lot now on that you need to debug code that you maybe necessarily put enough time, like a human brain on it. And now it's harder to find a place to understand it. Maybe you need another AI, but it's not like right now the topic of just exact and specific issue. But I want to zoom out for a second because almost all the examples that we said is around the implementation part. And I want to close like a circle going back to what we talked in the beginning about paints. You have the setup of everything and you have the implementation and then you have the deployment.
34:35So I want to give you an example of two risks, if I frame the term correctly, in the setup and deployment. Let's say that there is an imaginary product that helps writing specification, but product specification helps writing PRD. And now the product people and the developers, let's say it's like a PRD, almost on a technical, they're working together and they're using that assistant. It uses biases. That's how these product or LLMs are trained. So basically, it's like a bias you towards the trivial stuff, towards like conversions you to maybe other products that existing because it was trained from somewhere else.
35:19Okay. So like the fact that statistical, like you need to have like a product that maybe doesn't drag you to the trivial solution. It depends on how much creative you want to do, how much the mission department. One risk is that the outputs of AI, at least in the generative mode, and this could be around how I implement the code, but also how I spec it or whatever domain I'm using it, is naturally going to go with the common, well-versed solutions or specifications or some kind of a lower common denominator because it's trained on a lot of data and it's going for what's common in the data. That's interesting.
36:00Right. Yeah. It actually can help you to be creative, right? When we see it with ChatGPT and other tools, but I'll get to that in a second. It could be mitigated with a good product. I don't want to, like, we now can do the ideation process. I don't need to be aware of this. Yeah, exactly. You know that this is a tendency of these kinds of models. They're going for the common data that is dominating their models. The common data. Be aware of that. That's how they're trained. And so I want to say that a good product around AI, like a company providing a product, could try to mitigate it. But take a look, like being aware of it.
36:37If they don't, it's going to create it. And now going to the other side of the software development lifecycle, the deployment, same thing there. Like, let's say you use some tool that actually helps you. Let's say that on the deployment, you have the observability tool, but you also maybe have an automated deployment. There are different risks if statistically one of these models are incorrect, right? Like if you have a problem of observability and an event is being raised to a human right now this year to be reviewed, then if you have like a false positive or something like that, false negative, okay, that could be handled.
37:14As well as overall precision and accuracy is good. But what happened if you deployed something wrongly? So I would be careful, like think about what's the worst scenario, what could it be? And sometimes the worst scenario might be worth it of how much it could automate and help you. But maybe you can even think to mitigate it with an additional wrapper of your own that the tool or the AI could not think about it. But because it's a wrapper, it's like some additional blocker or check that they could not imagine would be useful specifically for your use case. So you can think about it yourself and implement that.
37:58So what I'm hearing is think about what happens if the AI is wrong. Because the shape of being wrong is different between AIs and humans. use some like think about what the outcome of being wrong and then how you protect against that. Sometimes trusting AI in a place where the cost of being wrong is too much, you need to put some protection. I agree. Think about the worst case scenario. Not that humans aren't wrong, but we are well versed with how humans get wrong. This is a new area. What about adversarial risk? in AI, like some ways where AI can be manipulated or leveraged to harm you in an intentional way.
38:48Let's give an example just for those listeners that are not well aware what is adversarial. But my point is going to be that I think in software development, it's relatively rare right now. You'd need to be aware of it, but try to think if it's possible for you. Let's say that you're building autonomous driving software and with cameras and everything. And now you're driving the car, let's say level four or whatever, like autonomously. And you were trained on all the data that exists in the world that was available to the company, to the team that is training the models. What happens if somebody, for example, some, I don't know, pedestrian holds a huge screen and it's right now it's working like it's showing like some semaphore or some sign or something like that.
39:44And you can actually cause the car, maybe it even shows your right turn where there wasn't any right turn. What could happen? That's an adversarial case. Like most probably like they didn't see this case. By the way, I'm not saying that they're not aware of it. And probably they're trying to train against it, like being active, proactive and having an adversarial model or adversarial data within their data set to train a general analysis part of the AI. So having said that, but it's still there is an option to to create adversarial events. OK, and then and but there are many more cases. Recently, there's a talk about, like, I can put up some malicious libraries on NPM or PyPy and then put up some data that will cause generative AIs to recommend code with these libraries.
40:34Now I've basically, it's like we got a thousand Stack Overflows article answers with bad code that is intended to harm people that use it. so yeah amazing example and it's going to import a library that looks legit but is actually malicious yeah amazing example so I'm repeating just for a sec like let's say that I want to I want to curate damage I'm creating some library somehow I bypass the filters of those that training AI models and being injected into their into the training and then that will be suggested automatically So two things. I think, first of all, it's already happening with humans, right, to some extent.
41:18Even worst case, the worst case scenario is even unintentionally, like Log4j or whatever, sorry, I forgot exactly all the examples. So it's already happening. And I'm not sure it's so easy to make it worse. But having said that, I think you almost always want to have checks and balances. Almost everything you do, there is a reason that you code and you test. You do a product, but you collect data to give you feedback if it works. So my suggestion for it, and even by the way, I just want to give a more developer example. would you use probably use some cloud provider but also cloud observability tool that it actually is not provided by the cloud provider.
42:07For me, it's unintuitive if you think about it for a while. Like why CloudWatch or whatever by AWS is not better than ABC? And the reason is that there is a good reason that one is focused on actually checking problems in AWS and maybe they don't want it's not our focus. So I think same thing here. Like if you're afraid of, you want to use some tool that you think that's so useful for you, but also afraid from consequences and also consider using the adversarial one. Sorry, like just if it's coding me, I like code generation and code integrity are two different tools. So that's my suggestion. And again, lastly, I would say, what's the worst case scenario?
42:48Like for what you said, the worst case scenario is almost as inhuman. So basically what I need to make sure is humans do not like inject best practices that humans do not accept Gen.AI code without like actually reviewing it or something like that. That's like, I think for me, it's not such a big risk if you reference it to what exists today. Maybe to close out the pitfalls or the dangers, not just of using a generative AI, but also, again, I'm thinking about, you know, an engineering manager that is starting to foray into this area. There is so much hype today, hyper hype. There is even just starting to experiment or looking for tools for my pains or moving from zero to one and how we use AI in our development organization.
43:38with so much noise happening today? How do I remove the risk of wasting time just because of all the noise? How do I cut through the amazing hype that's happening right now and actually go to things that are real, that actually give value? Because everyone and their cousin are doing AI tools right now. Yeah. I think that if we were talking about half a year ago, then I would say that if you want to use them, you'll probably be the very early adopter. But I think that right now, like the things are moving so fast and the usage is so fast. Like we, it could be like a new tool could have like us 100 ,000 developers, like in a month, like joining and trying and the tool and actually using it.
44:24And if you've seen that the reactions like of the developers, like usually dev tools have stars, not GitHub. I mean, like the product itself, comments, like issues, open issues, closed issues. You can look on all these things, even if it's like only half a year or three months, you probably see a lot of companies and developers already trying these. So I think like to add to what I said is that you almost always don't need to be the first one. And very probably that someone with your domain or even a friend try that product. Having said that, I'm still holding my position that that will help you to choose between a lot, but still you need to experiment to check it works for you.
45:11Even in the code generation era, it's our sister market, we're in the code integrity, then you have like 10 tools. It's not only Copilot, there's CodeWhisper by Amazon and others even, so it could work differently. If I want to save some time and not go for all of those, again, amazing array of solutions out there. So I should gravitate towards the ones that are already showing some traction, usage, reviews. And that's a way to look at fewer candidates, like a little more established. Again, it's going to be three months more established, but either the large companies like, you know, anything that OpenAI does or GitHub or in every space, there's going to be one or two leaders.
46:02Look for the traction and then follow that. Yeah. Unless you define yourself as a really early adopters and it's fun or important for you. So if I, if I like summarize this, it's, hey, there's so many AI tools. Some of them are better and here and there. Some of them are different. Some of them are have better buzz, et cetera. sick about your pains. There's a very good chance that you have a serious pain. There is an AI tool for that. Focus on two, three pains the most, if not even one. Go do the research. You'll probably find a few tools. There are some fields that aren't too many. Like code integrity, I think maybe there aren't.
46:38It's a really hard task to check code logic. But in most areas, there are quite a few, like cogeneration, you'll find 10 and documentation you will find and PR review, et cetera. Think about what's your biggest pain, research, check the comments, check issues, check usage and see those that are comments or companies in your domains and using it. Choose two or three, experiment because it could be different for you. I don't think all of this, it should take more than one week. If you decide that ease of use is one of your decisions, and I think one of the great things about AI tools that many of them are really easy to use, like ChatGPT or some.
47:22I know a lot of dev managers are asking this. They're asking us, wondering what your thought is. My developers are starting to use Copilot or some other code generation tool or for reviews or any of the domains. How do I know that it's helping beyond developers saying, oh, this is great. How do I measure the impact of using, let's take a simple example. We've deployed Copilot in some of the org. How do I measure the impact? Is it really helping? Is it imaginary or is it small addition to our productivity or a large one? Amazing. So I think different AI tools, it's a great point. I think different AI tools and products, it won't be the same measure, like the metrics.
48:04The different one will enable you to have more concrete or less concrete metrics. Like, for example, with Copilot, you can actually see what they're publishing in their papers, et cetera. And you see that they actually mostly focusing on developer happiness. And they claim that, and I'm not saying it's not correct, like they claim that this is research that's the most important thing for eventually boosting productivity in everything. So there is a reason because it's hard for them to measure something else. But if, for example, you look on Coding AI, then first you can see how much you increase your code coverage or more importantly, a metric that we suggest it's called behavior coverage because we think that code coverage could be a proxy and again, sometimes mistakes is manatee.
48:49And you can really measure the behavior coverage. You can even measure how many bugs were deployed every cycle or so if it goes down. So it really depends on the tool and I do really suggest to choose to check what's your metric. Well, in those cases that it's actually developer happiness, then you probably will add this tool if your developers are asking it because you want to make them more happy. But for others, maybe you're willing even to pay more because there's more concrete metrics. Yeah, developer happiness and experience is very important, but it's a lagging indicator and it's also a little removed from the actual...
49:29What's the reason they're happy? Is this because of Copilot or something else? So you're saying there hasn't, well, not a natural thing to measure that directly sees the impact. At least not something that's obvious. I'm saying it depends on which tool. It could be really different. If it's a tool helping you encode integrity, then you can have concrete measures. If it's a tool that helps you to write your JIRA tickets, then it's harder. but maybe even actually you could have some label that you know people can mark for you on how complete it is okay if it's a co-pilot maybe they did the job and tell you that it's happiness so it's it's really it really depends for closing maybe we go back to this 10-year question and let's try to dig a bit in when we were talking about will we be developing software will we have developers in 10 years you suggest that we look at the edges and say okay there's probably no future with no devs and no future with no AI and dev.
50:32But let's sort of take that apart. If you look at the range of key activities and skills developers are doing, what is obvious that is going to be replaced or heavily impacted by AI? Which are the areas that you think are the easiest for AI to solve and remove most of the human labor from? I think it's kind of going to raise everyone up, to be frank. Not necessarily replace. I'm probably wrong here, but probably something could be easier and will be replaced. But general notion, I think everything, like juniors will be, like tech leads would be able to influence more the juniors because they will have AI tools where they can put their guidelines and suggestions.
51:15And that will be impacted. It's a part of the thing that we're working on, impacted on how the junior works. You know, it's also a dangerous bias, but not that way. We have to finish very soon, so I won't dig into it. But I think it will lift everyone, to be frank. I know I'm probably missing and some jobs are going to be replaced or dismissed or need less of them. But I think like more people will be able to code. Juniors will be able to do more. Seniors will be able to influence more and deal with much more complicated tasks. DevOps, like people will be able to orchestrate much more and solve problem much faster, et cetera.
51:52And so I don't necessarily like, but by the way, I do think that developers would be able to do much more in DevOps than they could do before with AI tools. So you can say that supposedly DevOps people will disappear. Rather, I think that maybe you'll need less, but they would also be able to deal with much more complicated things. So again, I'm talking about like the five years more towards and the 15 years is a totally different game what you're saying is uh there are not like skills or professions that are going away it's more like everyone could level up and power or the outputs that even a junior kid wield if they're well versed in using those and prompts and whatever you know the entry point is higher yeah what are the things that you think are impossible or very hard for AI to, again, five years from now, tackle in the dev world?
52:48Human-to-human communication. Of course, it will actually help us in human-to-human communication. There will be tools that helps product managers who talk with engineers. Like you mentioned the Figma to code. It's actually then now a product manager can push, maybe we'll be able to push code to production, et cetera. But still, I think converting product concept into the technology, being in that point like again ai will help you build architecture better and give you more architecture ideas but in general product manager i i think that there is a lot more to go on the reasoning because it's also involved a lot of intercommunication between people and the second thing are especially where the programming task or whatever devops or is very very unique very unique for a specific company.
53:37You need the AI to reach really high levels to be able to deal with that. So it's either on the wrapping, everything, imagining, leading, and it doesn't mean that you won't have an additional agent that do a lot of tasks for you, but you need to manage it. And really, really complicated stuff. That's, I think, where AI would be hard in five years to reach. Amazing. Itamar, thanks so much for joining us. this was a great conversation i hope uh you enjoyed it as much as i did thank you so much for hosting me i really had fun thank you shay and the listeners so yeah everyone thanks for listening please take a minute to rate and review our podcast if you haven't done that really means a lot to us and we'll see you next week
From the publisher
Amid the escalating buzz surrounding AI tools, many development teams grapple with deciding which ones suit their needs best, when to adopt them, and the potential risks of not doing so. As AI continues to pose more questions than answers, the fear of falling behind the competition lurks for many.
This week's episode of Dev Interrupted aims to dispel these uncertainties by welcoming CodiumAI’s founder & CEO, Itamar Friedman. In one of our most illuminating discussions this year, Itamar pierces through the AI hype, explaining what AI tools bring to the table, how to discern the ones that would truly augment your dev teams, and the strategies to efficiently identify and experiment with new tools.
Beyond the allure of AI, Itamar doesn't shy away from addressing its pitfalls and adversarial risks. He also probes into the future of the developer's role in an increasingly AI-driven landscape, answering the question: “Will there be developers in 10 years?”
Show Notes:
- Learn more about CodiumAI
- Read CodiumAI's blog
- Codium's LinkedIn: https://www.linkedin.com/company/codiumai
- Itamar's LinkedIn: https://www.linkedin.com/in/itamarf/
- Itamar's Twitter: @itamar_mar
OFFERS
- Start Free Trial: Get started with LinearB's AI productivity platform for free.
- Book a Demo: Learn how you can ship faster, improve DevEx, and lead with confidence in the AI era.
LEARN ABOUT LINEARB
- AI Code Reviews: Automate reviews to catch bugs, security risks, and performance issues before they hit production.
- AI & Productivity Insights: Go beyond DORA with AI-powered recommendations and dashboards to measure and improve performance.
- AI-Powered Workflow Automations: Use AI-generated PR descriptions, smart routing, and other automations to reduce developer toil.
- MCP Server: Interact with your engineering data using natural language to build custom reports and get answers on the fly.
