The AI Effect: How Artificial Intelligence is Transforming Software Development
AI is not only a powerful tool for software development, but also a source of inspiration and innovation. In this episode of the Cloud Lounge, Zeshan Randhawa talks to Jan Kokott, a senior consultant and AI developer at Softlanding, who shares his insights on how AI is shaping the software industry from a developer’s point of view. You will learn how AI can automate and enhance various aspects of coding, testing, debugging, and deploying software, as well as create new opportunities and challenges for developers. Tune in to explore the current and future trends of AI in software development.
Transcript
You’re listening to the Cloud Lounge podcast, a show about business technology and all that jazz brought to you by Softlanding a leading it service provider in Canada. Let’s get started. Here’s your host, Zeshan Randhawa. Welcome to the cloud lo podcast. I’m your host, Zeshan. Today we continue on the path of our discussion around A I. However, today we’re going to take a look through a new lens into the world of A I. That is the lens of the development for A I. The global Artificial intelligence market is expected to grow 37% from 2023 to 2030 and there’s no denying that A I has a place in the future of software engineering. So getting ahead of artificial intelligence adoption is crucial for tech leaders in a survey conducted with 500 developers at companies with over 1000 employees. 90% of developers reported using A I coding tools either at work or in personal time. And 70% of developers reported A I coding tools give them an advantage in in completing tasks and improving their productivity. The survey developers believe A I coding tools can help with code quality, faster outputs, fewer production level incidents and so on. And four out of five developers also believe that A I coding tools will help increase collaboration within their teams as these tools can automate parts of their workflow which can lead to more collaboration and security reviews and pair programming as well. And to talk about the developer perspective today, we have a Jan Kokott, Senior Consultant and Developer at Softlanding with a strong focus on A I development. Welcome to the Cloud Lounge, Jan. Well, thank you for having me. Excellent. So Yan, I think the perfect place to start would really be for the listeners to hear about your development in your career journey itself. Sure. So I I’m one of those guys who basically started in it and kept to it. So I did my diploma about, I think it’s 17 years ago now and I, I had a bit of an experience in all the areas I started developing back end systems as soon as we had mobile devices, iPhones, I still remember the Windows, phones, blackberries, it did a lot of work for those then did document integration on to SharePoint to SharePoint systems. So I’m basically looking back at 90% Microsoft technologies but from start to end, always what’s new, what’s unknown, what are people not using yet but might make sense. And I think this is the perfect opportunity. This is a I now. Absolutely. So obviously, you’ve been a developer for a while now most recently, how is A I impacted and disrupted kind of this developer experience? That’s a good question. I like to divide this in two lines of thought. So one is how does it impact me as a user or consumer? And how does it impact me as a producer or coder or developer? Basically? And I would say the impact as a user is nearly the same as everyone else is experiencing with Chet GP T Copilot and all those A is out there. But we were a bit earlier. So A I has been around for a while now and github Copilot was actually one of the first copilots available. So as a developer, we actually use this over a year ago now and this is as a consumer. So we’re doing as developers, we’re doing exactly the same as anyone else. Oh There’s a nice tool it can provide help. Let’s ask a question, what does it say? What does it suggest? What can it do better than me or support me on that piece? I’d say no difference between developer and regular user on the other side as a producer or coder, it, someone who creates something, it has a very high impact and it will change how we look at things the same way as a lot of evolutions did before. For example, going from a super simple language, for example, basic or pascal to a more developed language for example C# or Java. So now you suddenly have to know way more, but you’re also able to do more with it. The same as for A I, there’s a bit of disruption because now I’m actually using A I I would say is a target. So I develop something to consume or send something to A I and receive something back the way I do, this is completely different to all the other approaches. The main difference is literally up to this point in time, you actually had very deterministic logic development is zero or one, it is true or it is false. Now, in A I it becomes a probability. So suddenly you develop something that has a chance to have a reaction that you expect. I think this is one of the most disruptive pieces you have to learn, you have to get into it, but also one of the biggest abilities you gain. Very interesting, very interesting and and Yang like you mentioned, so you’ve already been using A I as a part of your coding practice as well for over a year now, what have been some of the opportunities and risks that you’ve discovered as a part of A I development? Oh yeah, this alone could take me hours but really interesting pieces in there. I would say one of the risks I find very challenging and I think a lot of developers find very challenging is how do I approach this tool? Which is called A I, how do I use that? There’s never been anything like this and that’s one of the biggest risks you have is, oh, I’ve been developing for 15 years. I do this all the time. Let’s use A I do it the same way does not work. It is different. On the other hand, speaking of opportunities, if you know what your A I is capable or the I you’re building or developing against is capable of and what it can’t do, it gives you a super clear, relatively good approach to say, OK, this is my specialist, this is my intern, this is my, I consider this a mind a different mind. I’m going to build it into my logic. So this is the opportunity and the risk do not try to do the same you’ve been doing for 20 years, but also open your mind. There’s a ton of opportunities which you can suddenly achieve which before you had hours and hours of development work to come close to what you actually want to have. Absolutely. Kind of taking a look at things through a different lens, through the A I lens. Oh yeah, you have to be aware of that because if you just do what you ever did and try to achieve it with this new tool, there’s a high chance you’re going to fail. Absolutely. Absolutely. Now, II I know Yan it might be a little early, but are you able to share some examples of what you’ve done with clients in terms of A I development. Oh yeah. Well, as always, I can’t give away some client secrets. But let’s start with the very first PoC A proof of concept I did build that was before Microsoft announced Copilot and before you could go out and buy products. So basically, you had the ability to deploy large language models, the core functionality of the A I and then build something around. What our approach on that one was. I have a lot of data, I have to come through. This is normally done by interns, by people just sitting there for hours and hours and maybe weeks and weeks and weeks and doing the same job over and over. But it is not definable enough, you don’t have to enough borders or frames around. So you can say my deterministic development can find its either or it’s somewhere in between. And what that actually was, we had the task of cleaning up data in a database. Just imagine you have a huge database and that database has, for example, address data. So you have a city, you have a street, you have a number, you have a phone number and so on and so forth. And because this thing has been growing and the one we use for the PSC had 15 million entries, there are entries that are very old and maybe the city name changed or people just had some missing characters while entering or they misspelled the city. And if you want to clean up those entries, which is a lot, like I said, you take a human, take someone and you have to give them a lot of pizza and coffee and just exactly let them sit for weeks and weeks. So what, what I actually did is I build a PSC which reads this whole database. And now the logic, the classic logic was able to say how many of those match, which one do not match and those are categorized and then group, this was done without A I just preparation. And then I sent this information out to the A I and asked it and again for his poc prompt engineering was very new. What does that mean? You start? Simple, show me cities with wrong names that doesn’t work. Give me city names that sound similar but might be spelling mistakes and so on and so forth. So you iterate over prompts. How do I, who knows what that data is? Explain to the other party, which was the A I, what do I expect of you? And yes, it, it took a few days until I finally understood how it works. But the result is amazing. So basically 15 million entries in the database took about 50 seconds for the A I to come back with a whole list of in your database line. 15, there is Vancouver with a small not capital V or, or Van City or whatever. As an example, this, this was a POC that was really cool in seeing the capabilities. Now jumping a bit into more recent times nowadays. And I think our listeners have heard Copilot before would be my yes, a product for Microsoft where they use A I in a lot of functionality, prompt engineering, filtering, grounding everything has been applied and they sell it as a product. Copilot and a lot of clients who actually see the capabilities of this functionality come to us and ask us, hey, by the way, I like this, but I’m missing this. I’m missing that I want to have different features. And I would actually say 60% and 70% of those requests are actually I need a bot but that bot needs to behave very specific or that bot needs to be able to answer on data that only we know our internal knowledge. And that was literally the majority of questions we got from clients this far, which is I want to use A I, you don’t have to build it, just consume it, but I want to have my own framework around it. And yeah, we did build 34, maybe five of those already. Not all of them are actively used right now. So it’s, it’s very fresh, it’s very new. But this is one of the things we see like there’s a product, it’s 90% there but not fully and this is where we come into play or anyone else who does A I development, how can we ground this thing to have specific data as information or how can we change its behavior to match exactly what I want to have? And one more we had a super interesting question from a client. I I can’t name it but from a client who had a ton, literally a ton of data. So they were having four different rams with databases and tables in there, literally hundreds of millions of entries and they create reports. The reports are kind of static, but there’s also triggers where you say if a value reaches a certain point, my report should look different. Or if this name has been used twice in the same table, please create the report differently. So yes, you can go in, you can build 50 102 100 reports. But the smart thing thing to do is actually use A I and teach your artificial intelligence. What are the triggers to look out for how to react? And it basically creates reports on the fly depending on what the data actually looks like. And that’s one of the super complex ones. And to be honest, it’s one of those projects where I never see an end to it. This is always continue because there’s always a new idea and a new idea and a new exactly or or a new vision. I want to see this. I want to see that. And this is actually the equivalent of what someone would have to do in terms of, oh, I’m not going to be replaced by a bot or by A I, but I’m going to use this tool to make my work easier. Perfect example of where you see no A I is not going to remove humans from the equation, but it suddenly gives you the ability to do 10% 50% 100 maybe sometimes multiple 100% more of what you normally would do in the same time. Yeah. And I handle some of the dirty work. Exactly. Especially if it’s repetitive and you know, there is, I, I know what the key features are. I know if this table and that road changes. Yeah, I need to change my whole report but I don’t want to write it. I don’t want to take pen and paper and write it down. I just want to explain to my tool. Hey, what shit? There’s one more rule. Very interesting. So y this next one might be a bit of a, a loaded question, but I’d love to get your perspective when it comes to the future of A I development. What kind of trends or breakthroughs do you expect to see kind of in the near future? I should ask my A I to answer. I thought you would. Yeah. No, no, no. What I already see and whoever of our listeners out there did join the latest Microsoft builds this year and heard about the big announcements might have had the same thought that I developed hearing about this. One of the things I think that’s going to happen is separation of functionality. So we already have or we had copilot for github, then we had copilot for office, then suddenly we had copilot for fabric. Now we have Copilot and PC and it doesn’t have to be Microsoft, It can be any other technology too. So basically product companies start looking at feature sets and functionality, start to grab A I functionality and specialize it for that one use case or that one area. And what I see coming is we’re going to get a ton more of those. Are we gonna get not one or two A is that get all powerful? I don’t see Skynet anytime soon. Thank good. Yeah, hopefully I I see like 2050 100 more specialized A is popping up and yes, Microsoft did just announce the latest GP T 40 which is now a version that can work with audio visual, text, speech input basically and combine it all. But still it is a conversation bot it answers questions. So what I foresee is we’re going to get a ton more. So there’s going to be a ton of more specialize the eyes for special cases. And that includes how should I frame this knowledge? Basically, knowledge, framing it is I know for example, as a developer. I have my experience in developing I know which class, which method, what name space, what frameworks work. So I can use this knowledge to build it in. I to help me well already exists. I just buy it. But then there is knowledge about, hey, I have a house at home. I want to have some insights into. Can I actually build another wall in here? Is that stable or not? So now I have to get data around this area and get an input set for an A I. So one was the separation, the other one is I see, I foresee a lot of those data silos getting bigger and bigger and bigger. So it’s not just going to be the A I, it’s also going to be their grounding, their training, their data in the background, which actually makes the A I I think there’s going to be a whole market around that. So we have the A I, you could choose a large language model. What you don’t have is I can’t purchase knowledge for my A I. Not yet. Excellent, excellent. That’s gonna happen. Yeah, like like knowledge broker for A I. So to sing, I don’t have a word for it. I I would frame it like this. It looks like he just came up with a word for it. That’s awesome. Yeah, I know a lot of organizations kind of listen to us and get a finger on the pulse also get some insight into how they can prepare for things and so on. So what advice would you give in an organization that knows they need to get their in house devs kind of a I ready? Where do they start? Where do they focus? That’s a really good one. And again, I have been playing with this for over a year now, which is absolutely no time. So I’d love to have, like, I can tell you from five years of experience, which I don’t. But I think one of the most important advice I would give is become a user first, give your developers the ability, give them licenses, let them experience it. And now I’m basically going to loop back to the very first question we had. You can’t expect A I to be used as yet another tool. We use it as all the other tools before. And if you’ve never been exposed to A I, you will have no clue how should I develop for this, how should I customize it? So first and foremost, become a user, give your developers the opportunity to use it, to understand it, to learn it. And then the second piece of advice I would give is don’t try to force A I upon everything that sounds tough to do. Yeah. A lot of big companies love to do that. There’s a buzzword, there’s something going around today. It’s a IA I, everything that doesn’t work with that kind of approach, you’re going to burn your developers. If it’s like whatever project comes in, whatever your decision is, it has to have A I in the sentence that’s not going to help give them some kind of freedom. Like I said, teach them to become a user before they become a producer or a coder themselves for A I and then also engage your developers to come up with ideas, don’t enforce it. And I think this is kind of a nice suggestion for anyone out there doing development, but especially for A I, because it’s such a huge break in approach, it’s such a different perspective on how do you do development. So those would be by two key points. Yeah. No, I think it makes sense. Having your developers actually become A I users first and get used to what prompting is even all about and then they can build that into their actual development. 100%. It is always with development, learn your product, understand your product, very important, learn the limitations. This is exactly where your job then comes in. Once I learned the limitations, I can build a solution for the limitation. I can’t if I don’t know it. Absolutely, absolutely excellent. Well, Jan, in in closing for our listeners again, how would you suggest listeners can stay informed about the latest developments in A I development? And that is actually one of the questions that I can’t fully answer. So again, I mean, I’m part of a Microsoft focused company. So I’m very biased towards that, of course, but if you haven’t seen the BUILD announcement and the BUILD sessions, that literally happened a few weeks ago when this recording goes live, review them, it’s free, go to the page log to build and review the and take a look at how this changes because Microsoft is literally setting the pace right now. A lot of A I companies are following a lot of them are better on different topics. But the whole approach of how do you include A I in every day’s life. How do you include A I in every day’s work? Watch those announcements. They are really good and even if you take away is oh wow, that’s stupid. I wouldn’t build this perfect. Now, we have an opinion now, you know what it can do and what it can’t do. Other than that, there is literally thousands of podcasts, youtube videos, whatever out there about A I, the most important thing is literally and I repeat myself, become a user, try to use it, implement it, ask it questions, show it to friends, discuss with friends what it can do, what it can’t do. There’s no sense in trying to be the one guy who knows it all because it’s impossible. This is so lightning fast happening, things are happening so quick. I can’t tell you listen to those six hours of podcasts a day and you’re informed. That doesn’t work absolutely well, thank you so much for all that advice and a very interesting perspective. Jan, thank you for being on the Cloud Lounge podcast. Thank you very much for having me. I’d like to thank Jan for joining us today and providing a unique perspective into the A I topic. If you enjoyed this episode, please leave us a rating and review on your favorite podcast platform. Until next time this has been the Cloud Lounge podcast. Take care.
Subscribe
Click the links below to subscribe in your favourite podcast app