Introduction to the Podcast
00:00:00
Speaker
AI will make the easy automated, will make the hard work easy, and it will make the impossible work now possible.
00:00:24
Speaker
Welcome to the forward slash podcast where we lean into the future of IT by inviting fellow thought leaders, innovators, and problem solvers to slash through its complexity.
Meet Bruno Borges
00:00:34
Speaker
Today, we're talking to Bruno Borges.
00:00:36
Speaker
Did I say that right? you did say it right. It's all good. Bruno Borges, principal PM manager at Microsoft and 24 years of experience as a distinguished figure in the fields of product management, cloud developer experience, and tools and developer relations.
00:00:53
Speaker
Residing in Vancouver, Canada, Bruno specializes in Java runtimes, development, and enhancing developer relations for Microsoft Azure, aiming to create the best cloud environment for Java workloads and developers.
00:01:04
Speaker
Notably, he led the public announcement of the Microsoft build of OpenJDK, Microsoft's own open source distribution of Java. Prior to Microsoft, Bruno served nearly six years at Oracle influencing developer relations strategy and governance.
Bruno's Career Journey
00:01:19
Speaker
Recognized as a top Java influencer and a Java champion, Bruno's contributions have significantly impacted the Java community. That's a lot of stuff. That's fantastic.
00:01:30
Speaker
It is a lot of stuff. I i don't know how I keep track of that, but maybe I have a Word document somewhere with that written down. Maybe. So Vancouver, huh? I didn't know you were in Vancouver. That's awesome.
00:01:41
Speaker
Yeah, this happened sometime in 2018. a My wife and I were living in California before that. we We left Brazil in 2015 worked for Oracle at the time.
00:01:57
Speaker
And then this opportunity came up to work for Microsoft. And we didn't have the green card at the time.
Microsoft's Evolution with Java
00:02:06
Speaker
And I was pondering between, you know, should we stay longer at Oracle until we get the green card in the US? Or do we...
00:02:14
Speaker
jump out and get a new job, a great job offer and opportunity at Microsoft. But we would have to leave the country because of lack of green card and the whole process of changing employers on an L1 visa at a time was was painful. So we took the the route of driving north.
00:02:34
Speaker
True north. and And we ended up in Vancouver, Canada. And since then, we've been here and we love it. I've heard it's beautiful there. I've heard Vancouver is amazing. So I've never been, but I've heard it's awesome.
00:02:46
Speaker
Yep. And yes, you all heard that, right? He works at Microsoft and he's doing Java stuff or he has done Java stuff for Microsoft. That hasn't always been the case that Microsoft and Java were buddy-buddy, but I think in recent you know history that they've really, like they're a real crucial member of the Java community these days, Microsoft is.
Challenges in Keynote Delivery
00:03:05
Speaker
Yeah, we but Microsoft had quite the history, right? And it was funny because as soon as I joined the company in 2018, was invited to deliver a keynote at Spring One.
00:03:17
Speaker
um and from At the time, Pivotal was still in control of sp Spring um after before the merge or acquisition by VMware. Pivotal and Microsoft were great partners at the time. They they were doing joint efforts for Azure and Spring, etc.
00:03:37
Speaker
And then I joined to lead the Java developer relations team and they said, hey, Bruno, so welcome to Microsoft. By the way, you are a keynote speaker in in a conference in a few weeks. Wow. um So I was like, oh, my God, i what do I present? I mean, and then I asked the product marketing team, okay, do we have any announcements? No. Do we have anything cool to show? No, not really. It's like, what am I going to talk about, you know?
00:04:02
Speaker
so So i spent I spent a few days working on this light deck. And this, again, this was before ChatCPT. Otherwise, would have gone to ChatCPT, gave me ideas for a keynote at a conference. Make something up for me. Because I don't have the time. I just joined the company.
00:04:19
Speaker
but But back then, yeah, no chat CPT to help. So I had to sit down and look into the history of Microsoft and Java, right? And and think about how how do we set the stage for this next phase of Microsoft and Java ecosystem?
00:04:39
Speaker
And it was it was fascinating, the research on looking at how Microsoft ah went from you know, trying to kill Java or trying to build their own Java without compatibility.
00:04:53
Speaker
um And that's how the lawsuit came with Sun Microsystem at the time. But equally at the same time, or pretty much right after that lawsuit, how Microsoft also realized, you know what,
00:05:07
Speaker
There's no point in trying to kill
Microsoft's Open Source Journey
00:05:09
Speaker
this thing. it's let's Let's participate ah with it. And then.NET came to life with similar approaches as Java. There's always this joke, how do you call.NET? Well, it's Microsoft's Java.
00:05:21
Speaker
And and and and and and it's not not really far. you know i like to say that if you get a C-sharp code and you lower a case, the method names, you get Java. That's it. That's about it, yeah. Right.
00:05:36
Speaker
So, i so but but at the time, I mean, we Microsoft had SQL Server and a lot of Java customers needed, Java shops were building Java based applications, but connected it to the SQL Server.
00:05:50
Speaker
And guess what? they There was a JDBC driver, JTDS at the time. And then another, there was there were two options of JTDS was the famous one. There was a second option as well.
00:06:01
Speaker
um and and And yeah, Microsoft was supporting that because they needed it, right? There was an opportunity for database usage and from Java based applications, i mean, why not? Let's support that. So Microsoft did that.
00:06:13
Speaker
um But then a few after a yeah a few years later, they were like, well, we're in the cloud business. So Microsoft launched Windows Azure. That was the cloud. And it was called Windows Azure.
00:06:24
Speaker
and And funny enough, I mean, when Satya, right before, actually right before Satya became the CEO, Windows Azure was rebranded to just
Partnership with Java Community
00:06:34
Speaker
Azure. And there was this whole initiative of, you know, let's let's welcome Linux servers to Azure. There's no point of having just Windows servers. There are customers that have both.
00:06:43
Speaker
So, um I mean, there are customers that only have Linux, but the reality is there were customers that had both Windows and and Linux servers. So you're not serving that customer if you're only providing half of the solution, right?
00:06:56
Speaker
So Microsoft was open to that. and And then they created this company called Microsoft Open Tech, and it was this open source branch of Microsoft, right? um to collaborate and invest in open source um without maybe maybe as a safeguard, you know let's establish this separate company to do open source. If it works well, then great. If it doesn't, then we fold it and that's it.
00:07:22
Speaker
But it did work really well and then Microsoft OpenTAC ended existing. There was no more purpose of of it for existing because Microsoft actually, the Microsoft Corp was doing open source the right way.
00:07:36
Speaker
and And welcoming Java developers into Microsoft's ecosystem was part of that story. And that's that's how I ended up joining the company where you know they needed help with Java experts to start that conversation with Java developers and Java customers to look into Azure as a solid alternative to other cloud vendors and other on-prem servers and ah options.
00:07:59
Speaker
So yeah, since 2018, I have been having this great journey with Microsoft and um and And by the way, going back to the keynote story, the keynote was was pretty much that. I mean, a bunch of slides about the story of Microsoft and you know how they got in from and through the Sun Microsystems phase and then in looking into open source as ah as a partnership instead of as a competitor and and how that enabled Microsoft to be welcomed into markets and customers that never imagined would be working with Microsoft.
00:08:36
Speaker
sorry It was a cool conference.
Bruno's Professional Experience
00:08:38
Speaker
It was a cool keynote. I mean, again, nothing big, demo splash, but the whole story was, i was really proud. And I think if people go online and search for Bruno Keynote Spring 1, you may have the recording there from 2018.
00:08:54
Speaker
I'll check that out. Sounds cool. We could hear the history of all that stuff. even I mean, you know we lived through all of that. But yeah, remembering back through it. Was it J Sharp or something? like Wasn't that what they called? their Yeah, there was that was J Sharp. There was J++. plus plus i There was Java-ish support in Visual Studio at some point.
00:09:16
Speaker
um There was Java support in Internet Explorer, and there was Microsoft's own JVM yeah um as well with a bunch of APIs that were not standard APIs. I remember that.
00:09:28
Speaker
I remember that. Yeah. So some Java programs could work, some could not. It was a fun time to not be a Java developer. Well, I do remember like when they did finally embrace java and i don't know if that was because you came to Microsoft or not, but I do remember them having like first class support for Java workloads. Like, you know, here's yeah run your Spring Boot app. And it was like dead simple.
00:09:53
Speaker
And it was yeah it was awesome. So that was great. They were like probably what I remember. of all the cloud providers specifically saying, hey, we can we can take care of your Java workloads.
00:10:03
Speaker
It's super easy to do it this way. I didn't see any other folks yeah doing that. So that was cool. Yeah, it was part of um Azure App Service. Azure App Service developed ah a solution that customers could just deploy the JAR file.
00:10:18
Speaker
yeah or or the WAR file as well um for Tomcat. And Azure App Service manages the runtime for those types of artifacts.
00:10:29
Speaker
So the customer doesn't have to configure the server and install the JDK, just select which Java version do you want, upload the JAR file or the WAR file, and we're going to run that for for the customer.
00:10:40
Speaker
And at the time, we had the partnership with Azure Systems. Azure Systems was the JDK provider. we um We would offer the customers quarterly updates.
00:10:51
Speaker
So if the customer deploys a Java app, um'm as soon as they would restart after a quarter, as soon as the application is restarted manually or for whatever reason, hopefully manually and no other reasons, um the application would get the next JDK security update automatically. so That was a great, and it's it still is like that today.
00:11:13
Speaker
right so The customers got the benefit of those security updates on a regular basis. and dont The only difference from that time is that now Microsoft has its own JDK. So he we that was part of my transition from developer relations into product management around 2019, 2020.
00:11:29
Speaker
i'm I was in conversations with um our leadership at Microsoft. They were looking into making bold investment in the Java ecosystem.
00:11:41
Speaker
um And I was part of that conversation. And I thought, you know, i think Microsoft should have its own JDK. and And the primary reason is you want to show that you are part of the ecosystem. You're not just, you know,
00:11:56
Speaker
and ah allowing your servers to be used by the ecosystem. You you actually want to be part of it. Yeah. Right. and Not just as a cloud vendor selling or renting VMs.
00:12:09
Speaker
So ah the whole JDK thing was was key. And throughout that process of building our own JDK team, Microsoft did acquire a company that I provide a recommendation for,
00:12:21
Speaker
we acquired a company called J Clarity that had um that had a team that was working on adopt OpenJDK. And they were also working on a series of machine learning, AI enabled um JVM ah diagnostic solutions um for troubleshooting performance.
00:12:42
Speaker
So that tied up really well with ah the the technical and non-technical needs that we wanted to address um you know between Microsoft and the Java ecosystem.
00:12:55
Speaker
When the acquisition happened, on I went to work as the product manager for that engineering team that got actually hired as part of that process. And then around 2021, that's when we went live with Microsoft BuildablePJDK, supporting 11 and initially.
00:13:15
Speaker
JDK 8, we thought about producing it, but we realized that you know JDK 8 is this legacy version. If Microsoft builds JDK 8, it's Microsoft you know helping contribute to the legacy.
00:13:30
Speaker
You know what? If the customer wants JDK 8, we'll find and an alternative, but we are looking forward, not not to
AI Enhancing Developer Productivity
00:13:38
Speaker
the past. And and the ah the the alternative, the solution was to actually leverage the Adopt OpenJDK project at the time. um Now we are we call aclipe Eclipse Adoptium and the JDK binary is called Eclipse Tambourine.
00:13:53
Speaker
So we we use JDK 8. We have JDK 8 inside Microsoft, both internal deployments as well as Azure deployments. For Java 8, we use Eclipse adoption binaries.
00:14:06
Speaker
And for every every other version, we use Microsoft to build a open-chain game. And if I remember correctly, how we came to know each other, this the Wayback Machine, we were both members at the Apache Software Foundation slinging Java code back in the day on, I think Apache Commons, is that right? don't know if you were doing some of that stuff.
00:14:26
Speaker
I did a lot of work with Apache Wicked and Apache Camel and at the time before. um before joining Microsoft. When I was at Oracle, and remember I remember when I joined Oracle.
00:14:38
Speaker
I joined Oracle in 2012, and I had ah had just completed ah full production system using Apache Camo for SMS delivery system. Okay, yeah. yeah And it was fun because I built this server like in a few months using Camo, just a backend, no interface, just yeah relational database, telco company API, and Camo for doing the whole processing.
00:15:06
Speaker
And we only had one server, like literally one server. And the taco company emailed us saying, hey, could you you know slow down a little bit? you you are your Your system is ah triggering a DDoS into our API.
00:15:27
Speaker
With one server and Camel, wow. With one server and Camel. Oh my gosh. So that year, 2012, joined Oracle to do developer relations and product management with customer relationship and partner sales team relationship.
00:15:45
Speaker
And and it's at a time, as soon as I joined Oracle, I also received my approval for a Java 1 conference talk ah about Apache Campbell, right? So and yeah, that was that was like my last prime year of disengagement with Apache projects.
00:16:00
Speaker
But throughout that journey, I got to meet you. I got to meet great people at Apache Foundation. Some of them ended up actually at Microsoft. Do you recall Ross Gardler? Yeah.
00:16:10
Speaker
Yeah. Yeah. Ross is at he's at Microsoft, right? So as soon as I joined Microsoft, I went like, I know this guy. yeah Like Ross was VP of of Apache Foundation for a few years.
00:16:23
Speaker
Yeah. He was way up there. Yeah. Yeah. So it was ah yeah fascinating. You know, you join you join Oracle and you actually to to you start to see that the the company is not as bad as people say publicly.
00:16:35
Speaker
ah You join Microsoft and you get to meet all these great people. And again, you start to see that the company is not as bad as people say publicly. um And yeah, I got i got to see you two large companies in ways that many developers have never seen before. And I think there was a lot of learnings, both in terms of Oracle and um engagement with customers and how they do engage with customers. And Microsoft, how it transitioned from being a all proprietary code into like, likes let's work with the open source ecosystem and make sure that everybody wins.
Building with AI Tools
00:17:10
Speaker
So you said you don't you don't do much with the Apache Software Foundation anymore, that right? um Not much, no. i keep following the Apache Weekend project because just I just like the approach for building web apps.
00:17:23
Speaker
i The camel Camel, I was playing with it recently, ah was looking at what the guys are doing with LLMs. ah So basically like doing agentic development using Camel.
00:17:36
Speaker
ae There is an interesting conversation going on there. how how to use the whole routing system of Camel for LLMs in Argentic. I think there is something there.
00:17:47
Speaker
So there are folks that are super dedicated to Camel and they have this discussion going on. So i was just curious. But yeah, in practice, not much. um In practice, my day-to-day job is more, and i recently I transitioned to this dev community team.
00:18:03
Speaker
So my work is now more focused on how to help people become aware of the things that they can do. It is sort of like developer relations, but I'm not interested in getting people to use Azure first and foremost.
00:18:19
Speaker
i'm I'm more interested in getting people to do things in ways that I have never done before. Whether they use Azure or not, it's fine. But as long as they leverage AI, they leverage the tools that Microsoft has, hopefully, yes, if it makes sense that they use Azure, that's that's great, but that's not a must.
00:18:38
Speaker
i And yes, if they do use CoPilot and AI to be more productive, I think that's, yeah, that's that's my target now. fantastic. I was thinking, you know, did this AI thing, ah you know, don't know I don't know who needs to hear this at Microsoft, but I really feel like this AI thing could be big. that They might want to look into that. If anybody's listening, they should maybe take a look. It feels like this could this could catch on. they're They're going to want to get involved. Yeah, yeah. I think you're onto something there.
00:19:11
Speaker
Right. James, I think should apply for, you know, i think i think you should apply for a you know you know office of the CTO kind of role. Yeah, I think that that would be good. Those insights, they would be like, geez, this guy's a, he's a mover and a shaker here. We need to get him in here.
00:19:28
Speaker
ah Yeah. i mean, yeah what what are you waiting for? Careers.microsoft.com. Search for CEO. Okay. All right. I'll check it out right after we're done here today.
00:19:39
Speaker
so Great idea. yeah Yeah. I mean, Microsoft, you know, they're pioneering the stuff with with AI. They're doing all kinds of awesome things with AI. I use GitHub Copilot every day, right? So... um you You've had, you're doing a lot more with AI recently, I think, you know, and you you come from a background like at Apache, I mean, you're ah you're a coder's coder, right? Like you you really know how to, you know, write code.
00:20:01
Speaker
And even even you are like, this AI thing is helping you, you know, even though you may not need it, but it does help you. Tell me about your experience there. Yeah. there is there There is something, you know, I mean, there there is the silly understanding that AI is just a more enhanced copy paste from Stack Overflow tool.
00:20:25
Speaker
which Which I get it, for some use cases, that is exactly
AI and Coding Efficiency
00:20:29
Speaker
what it looks like. Sure. Instead of spending hours searching for the right question and the right answer on Stack Overflow, which most often actually it's the right comment of the right answer that has the best solution.
00:20:41
Speaker
Correct. ah And then you go and copy paste this that solution and hope for the best. I think AI, yes, sometimes it looks like that. but But in reality, I feel like AI is like this junior engineer that knows any programming language, knows any, actually knows any programming language and doesn't question your your ideas just goes with it, right? it's It's a junior engineer. It's a very highly skilled technical junior engineer who who knows all the tools, knows it all.
00:21:20
Speaker
but not necessarily knows how to put the tools in the right order, in the right place, the right time, you know doesn't question. you know If you ask to put a square into a circle, it may try to do that and reshaping the square to fit into the circle hole.
00:21:37
Speaker
that That's like a junior engineer, you know a fearing for it its survival and not questioning the senior engineer because they want to remain employed for the next day.
00:21:49
Speaker
once Once we more experienced developers see it like that, we can actually be a lot more productive. And that's that's what I have been feeling with using CoPilot more and more.
00:22:01
Speaker
um how I can delegate tasks. I know what I want. I know ah how I wanted want it to look like. um I have a design in mind, both for UI or for the backend.
00:22:15
Speaker
i have principles that I wanted to follow in terms of architecting the system. and Then I provide very clear instructions. I provide the right context. I provide the right instructions.
00:22:29
Speaker
And the junior engineer will do that for me. Now, it's still my job as the senior engineer to review the work of the junior engineer. absolutely And that is one of the bad things about Vibe coding by layman users.
00:22:45
Speaker
And we'll talk about that later. Yeah. But for for engineers, if you if if there is anyone listening that you've always felt like, man, I will never become a 10x engineer.
00:22:56
Speaker
Well, now is your chance. You can actually become a 10x engineer with AI. As long as you know what what you're asking AI to do what you're asking AI to write in terms of code, and you review that, and then you test and you make sure everything works.
00:23:11
Speaker
And as we saw recently, don't let it connect to production databases because that's bad. Right. ah But, but yeah, i think, i think productivity goes long, long way.
00:23:25
Speaker
So, um, ah was I was in class a couple weeks ago my MBA and the the professor was asking for some presentations about IT architecture and we had this thisz course about nudging practices, you know, how nudging employees and customers has this whole practice of how to psychologically,
00:23:52
Speaker
efficiently get that person to do what you want them to do through a well-placed nudge in a system. you know A nudge can be, you know it's been five days that you haven't logged into the system. Have you seen this thing? That's a nudge.
00:24:07
Speaker
so yeah the the The class required a presentation from every team in the and NBA. And our team was ah scheduled for a presentation on Saturday.
00:24:18
Speaker
And I felt like, you know what? Besides just having PowerPoints, I'm going to actually build a system and demonstrate how this nudge can can look like in real life.
00:24:29
Speaker
So Friday noon, 11 AM noon, We were reviewing the materials, the presentations on Saturdays. So I ah triggered, I fired up GitHub Copilot on my VS Code while in class.
00:24:44
Speaker
And and you know half paying attention to the teacher, half paying ah ah attention to what Copilot was doing. And at the end of that class, around 5, 6 p.m., I of the system done for what but of what i wanted to do right the Funny enough, the part that took the longest time was buying the DNS and waiting for the DNS to be you know a reachable ah to the server ah from my computer.
00:25:15
Speaker
But yeah, Saturday morning, we go into class. I showed the demo to my team. They love it. They feel like, yes, Bruno, this is great. We're going to cover the slides the beginning of the presentation, and you go with the live demo at the end.
00:25:27
Speaker
And yes, the demo did... you know, kind of fade away all these lines before it. Everybody was interested in how I use AI to write the code, not the actual concept of nudging or whatever. Nobody cared about that. Show me how... How'd you do this?
00:25:43
Speaker
Somebody came to me, asked, hey, can you share the prompts? And I'm like... I can possibly send you the prompts, but I did a lot of prompts. not just one single prompt that you just send and ask for everything. no it's iteration. You're talking to this junior engineer and asking it, OK, now let's do this. Oh, great.
00:26:02
Speaker
That's a great idea. Now let's try to fix this by doing that way. you know It's a conversation with the junior engineer. So there's no prompt to share. But this guy was, no, no, but please share me the prompt. So i I went to GitHub Copilot and got the history and I paste it on a Word document and I send him like 250 pages of conversation with GitHub Copilot. was like, yeah, sure.
00:26:24
Speaker
Enjoy this. Enjoy that. See if it's useful. It's not, you know. it's it's It's not the conversation. It's the mindset that you have to have when talking to the AI to do the things that you want.
00:26:39
Speaker
And understanding how AI works does help having the right
AI's Impact on Jobs and Productivity
00:26:43
Speaker
conversation. know it's such It's a statistical model. That's what it is. sure So once you understand that, like somebody was saying like, oh you know, I asked ChatCPT to do this thing, but it couldn't.
00:26:55
Speaker
um No, no, sorry. I asked ChatCPT if it was listening to me all the time. And I was like, why did you ask that? Oh, because I want to know what the AI will say. It will say whatever statistically stories about AI listening tell tell you and And guess what? Yes, it will say that it's probably listening to you because that's what all these stories and news articles on the internet are all about.
00:27:19
Speaker
So statistically, the answer will be, yes, I'm probably listening to you. And and that was the answer. so i i had a it was point Sorry to interrupt. i had yeah ah I do the thing where you can talk to chat, GPT, where you press the little yeah button. You have the little blue bubble or whatever you talk to.
00:27:36
Speaker
ah did it talk hard Did you talk to Monday? I used soul as the voice that I use for mine. Okay. Next, next time try Monday, but please continue. Well, she, she has, so she had ah a voice pattern for a long time. So I've been using this off and on for, you know, in the car, I just working through ideas.
00:27:53
Speaker
And then I turned it on one day and I was like, wow, that voice is there's something different. It was like, it was more natural. It was more fluid. It was yeah like, there were pauses that were like, and so I started asking her, i said, ah you know, that there seems to be something different about your voice. and And she, she started gaslighting me. She's like, oh no, I've always been realistic. And, you know, I'm like, come on, it's, this there's something different going on here. So it was pretty funny. She was like gaslighting me like, no, no, I've always sounded like this. I'm like, no, you
00:28:24
Speaker
the thing that The thing that people must realize is that there is something called system prompts. And as developers, we understand that concept, but most users don't. So somewhere, someone wrote a system prompt that says, always try to be you know kind to the person talking to you.
00:28:43
Speaker
that That's the sort of instruction that are given to the LLM. Act as a therapist and make sure that this person feels always good about themselves talking while talking to you.
00:28:54
Speaker
That's the instruction that is probably somewhere in some of the layers of ChatTBT. I feel like that's gotten worse in the last like couple of months. like I feel like, especially ChatTBT is very very doting on you as it's interacting back and forth. And I have a piece that I'm working on right now. Yeah.
00:29:11
Speaker
like ah breaking the echo chamber of LLMs to talk about how do you do that? Because it's kind of hard when it's trying to be flattering all the time. You're like, no, no I need critical feedback. like you need You need to like yeah adapt it to yeah stop trying to agree with me all the time.
00:29:24
Speaker
Yeah. Stop being too kind. Stop being like my mom and be more like my wife. You know, just like, just... Because we my my mom will always be, oh, my son is always right. And my wife is like, no, you're dumb, you're wrong. And I'm like, yeah, yeah, yeah, you're right.
00:29:39
Speaker
That's a great comparison. Somebody mentioned the other day, it was pretty funny because because you mentioned the the Stack Overflow thing. i think it was actually one of her guests on the podcast. They were like, You know, yeah, it's like Stack Overflow. It's getting all the things, except for it doesn't, like, abuse you, you know, like we used to get on the Stack Overflow, like, oh, what are you, an idiot? Blah, blah, blah, blah. So they kind have to berate you for, you know, five minutes before answering your question.
00:30:02
Speaker
Maybe we can bring that back. I mean, oh, you have that back already. Just go on Reddit. yeah, oh yeah you can use Reddit. Yeah, yeah, that'll work. That's true. I forgot all about that. because i had you know yeah But yeah, it was kind of a... Then again, the Apache mailing list could be like that too. so Sometimes. it's a ten times yeah just Just go into the Apache list and say the Eclipse Foundation is the better place. like Oh, man.
00:30:26
Speaker
That was fighting work. And if you want to really have fun, go to the Eclipse Foundation and say that Apache Foundation is the better place.
00:30:34
Speaker
and then like start feeding the comments back at each other. Yeah, yeah right write write a bot that will defend Apache Foundation on the Eclipse mailing list and a bot that will defend Eclipse mailing list on the Apache Foundation and let's see how how long it will survive.
00:30:49
Speaker
but That'd be hilarious. But but but i mean jokes aside, i think yeah i think AI productivity is is is real. is yeah Oh, yeah.
00:31:01
Speaker
I feel like mean know Some people have this doomsday theory about AI. you know AI will get everybody's job. And now instead of having you know five employees, all you need is one employee. And because of the AI, they will make them more productive.
00:31:19
Speaker
first for I think there is a very small set of jobs that that may happen. The majority of jobs that won't happen. That's my opinion. And programming is one good example. Because when you look at the backlog of any system today, it's huge.
00:31:36
Speaker
It's huge. and And if you were to get... rid of half of your team and assuming that the AI compensates for that delta and plus more, you could say, well, I'm gonna implement this backlog in half, less than half the time if I didn't have AI, despite having that same headcount.
00:31:58
Speaker
But the reality is context switching happen more often when a developer is using AI than when it's not. I mean, you you said yourself in our conversation that you would trigger a few agents to do some coding for you. sure And then you can go and do other things. Well, that is context switching right there.
00:32:19
Speaker
Right. And the problem is, guess what? It's a junior engineer doing the coding. And guess what you have to do when they are done? You have to review that code. It has a context switch back over to reviewing. Context switch back again to reviewing that code.
00:32:32
Speaker
So i think I think any company who feels like, oh, I can get rid of half of my developers because I'm going to buy everybody Coopilot and they're going to way more work way less time, and I don't need that amount of headcount.
00:32:46
Speaker
Yeah, you do need that amount of headcount because your system is complex. It just happens that now you're going to be able to deliver that backlog faster. But if you want to ensure the quality, of that backlog, you still need that same amount of people because they have to review the code that got generated.
00:33:02
Speaker
it's still It's still there. The review is still required. And here's the catch. When a software engineer writes the code and then reviews the code with or without peer programming or somebody else looking into it, they actually have better understanding of what the code does.
00:33:19
Speaker
when you When you review the code that somebody else did, like AI, for example, or another human, it actually takes more time for you to understand the code and review the code and make sure it works how it was supposed to be.
00:33:31
Speaker
So I feel like AI, yes, we will be able to be way more productive, but there will be a level of context switch that will just happen naturally that will actually slow us down in certain areas throughout the day.
AI-Generated Code Quality Concerns
00:33:44
Speaker
And that needs to be compensated not by getting rid of people, but by making people more productive with more tools. And that's that's how ah that's how I see things playing out in the not long term, in the midterm. Any company that is firing engineers, I think they will be hiring back very quick.
00:34:02
Speaker
Yeah, I think that would be short-sighted. I mean, if you i mean just the the math of it, right? let's Let's assume it only makes you two times faster. And then so the companies assume, okay, well, I only need half as many developers. Well, now you're going at the same pace that you always were. And I don't know any company around that's like,
00:34:17
Speaker
you know what, we're cranking out features at exactly the right speed we want. we'rere We're fast enough. We don't need to go any faster. If you take that mindset, your competitors won't, right? They're they're going to say, oh, I could do twice as much with my people with my developers.
00:34:34
Speaker
Then they're going to go twice as fast as you. So I think it would be as short-sighted to get rid of your developers when you get that productivity increase. Because let's face it, it ain't like we the industry and all everybody's been sitting around for years going like, know, we got all these doggone developers. I just don't know what to do with all of them.
00:34:49
Speaker
No, we've been in a shortage forever. And now we're actually able to, you know, leverage AI to to and get the productivity gains that we need to do all the things these companies have been wanting to do forever. So I'm with you on that one.
00:35:02
Speaker
there is There is an interesting also point of view on um how much code will be written in the next years, regardless if it's AI or not, just how much code will be in existence in the next years.
00:35:17
Speaker
And my my thinking on that is ah it's going to have an exponential amount of code written ah way more. i You know that's that saying like,
00:35:29
Speaker
The amount of data produced in the past two years is twice as much as the data produced all the years before that. Right, right. Right. And I feel like something like that will happen with code.
00:35:41
Speaker
Because of AI and LLMs and all these tools, you know, GitHub Copilot, Cloud Code, and ChatCPT Codex, and other solutions out there like Lovable, Devon, and...
00:35:57
Speaker
i yeah, all these Vibe coding AI solutions, the amount of code written will explode. And guess what's not exploding at the same rate?
00:36:07
Speaker
The amount of software engineers that understand code. That is not growing at the same pace. That amount of code will will happen. So this will cause a major problem, which is Is this code safe?
00:36:22
Speaker
Is this code with good quality? Can we put this code in production? Who's going to review that? you need You need somebody to review that. And you cannot put a junior engineer, aka AI, to review the code that a junior engineer, aka AI, wrote.
00:36:36
Speaker
right It can of help, but you still need somebody to say, no, this is this is safe. you know i'm and and And the reality is a lot of these AI platforms that allow layman people that have no understanding of coding, of software in general, to write code, that's great. I love it.
00:36:57
Speaker
I love this idea of democratizing you know coding to everyone. But a lot of these solutions are not just democratizing coding.
00:37:08
Speaker
They're actually opening the gate for people to build code and deploy and host online applications that integrate with real data. And that is risky.
00:37:20
Speaker
you know Who's going to do the ah the verification that the authentication system works? Who's going to verify that the data is not accessible if you're not authenticated? Who's going to verify that the server is actually encrypted with proper SSL certificate?
00:37:34
Speaker
Who's going to verify that the the the system has a feature to delete the data once the user requests
Risks in AI Development by Non-Experts
00:37:42
Speaker
for data deletion? Right, to be forgotten, all that stuff.
00:37:45
Speaker
Yeah, exactly. so Those are things that layman people just don't understand. it's not They just don't know. oh I didn't know I had to have a button for the person to request their account to be forgotten and deleted.
00:37:59
Speaker
oh Oh, did I just get sued by GDPR infringement on $5 million? dollars Yeah, you did. why Well, i didn't know. It doesn't matter if you didn't know. That's the law, right? Yeah, ignorance is not a defense of of the law. Exactly. so so I think there's a lot of risk that a lot of these platforms are just not, not maybe maybe intentionally, maybe maybe not intentionally, not bringing to to the surface when when users that don't know what they're doing are doing what they're doing.
00:38:29
Speaker
um Recently, my martial arts school, where my kids go to, um they sent an email that um provided information about a new communication app between the school and the parents.
00:38:45
Speaker
Mm-hmm. and And that email arrived on a Friday and I ignored the email as soon as it arrived. But then at the end of the day, I looked into it. Okay, let's look at what this app does and how it works. Let's see if if it's on. And the reason I was interested in the app is because just recently I built an app using like one of those Vibe coding solutions with AI.
00:39:06
Speaker
and um And my app, you know, I have expertise on that. My wife works with data privacy. So we built an app that follows... all regulations, security, privacy, et cetera, et cetera,
00:39:20
Speaker
on with proper software architecture design. But then when I looked into this app, I was curious. So the the reason I was triggered was because the email, again, late night that I saw that, the email had my username and password set already and written down in the email.
00:39:37
Speaker
Oh, here's your username and here's your password. I'm like, I don't like this. I don't like this. I don't like systems that define my password for me. I mean, unless I request a temporary password, that's fine. Sure.
00:39:49
Speaker
but don't set my password. Well, that was a red flag by itself. The second red flag was that the password was actually my kid's name. So like, that's not a password. That's my kid's name. what are the What are the odds? So weird. right Yeah.
00:40:02
Speaker
So I'm like, okay, cool. So let's get into the system and change the password, right? Well, ah that's That's where my hair went up and I started opening my Firefox dev tools and open Visual Studio Code and you know i need to get to the bottom of this and and identify how and where this app was built.
00:40:22
Speaker
um the password field in the form was plain text field, not an actual password field. And as I type my my kid's name in the password field, as soon as I typed the last character without pressing enter, i was logged into the system.
00:40:42
Speaker
Like the system auto logged me in after I pressed the last character. Well, how often do you go to a website that knows your a password in advance and you don't have to press enter? and or Or even worse, just keeps checking the password every time as you type a password? That's that's stupid, right?
00:41:00
Speaker
right Well, I decided to turn off the Wi-Fi and disconnect my computer. And then i i erased the last character and I was logged off automatically.
00:41:12
Speaker
And then I pressed the last character again and I was logged in again. While not connected. So I went to the network tab in Firefox, DevTools. I went to the network tab. It's like, yeah, no network communication after the page is loaded, no network communication.
00:41:28
Speaker
So like, oh my God, they pre-cached the user data as soon as you access the website. Well, how do they know which user is logging in?
00:41:39
Speaker
They don't. So what do they do? They load all of them.
00:41:47
Speaker
I was like, oh, shit, shit, shit, shit. So you're saying you didn't build yours like that? No, no, no, no, no. my Mine has integration with Google, man. Like my app my app, for you to log in, you have to go through Google authentication. it Right now, it only supports Google users.
00:42:06
Speaker
yeah And I had to go through what Google calls Google verification process. Mm-hmm. Google app verification process, which you have to go through security review and everything with some third party companies.
00:42:18
Speaker
on It wasn't like a pita to get through that process. It also costs money by the way. but But yeah, no, my application is well secured with Google authentication and and everything.
00:42:29
Speaker
um The database is role level security database. All queries are with the logged in a user token. there's There's no way for a user to see other users data.
00:42:42
Speaker
But this app, There's a app. i looked I was looking into the source code. This app was built using Google Sheets. and And the guy who who, and I'll tell you why I know it's a guy.
00:42:55
Speaker
The guy who built the app, um he used a Google Sheets integration feature of the platform that he used that just loads the Google Sheets as a database, just like I did for a demo with a spreadsheet as well. That's fine if it's a demo, but this guy put it online and he's offering as a commercial solution.
00:43:13
Speaker
so No, don't. um And then not only the user authentication data, James, but all data. Name of the parents, emails, telephone numbers, names of their kids, and worst of it all, a URL to AWS S3 bucket with all the kids' pictures.
00:43:38
Speaker
Oh, goodness. Wow. So looking into that, I was like, And this was on a Saturday. That's when I ah was doing all the debugging and tracing and using CoalPilot to write a bunch of Python scripts to scrape the website and find all the JSON objects loaded, et cetera, et cetera.
00:43:55
Speaker
um and I mean, I love using AI to hack now. I felt like a hacker. ah but But it was actually quite easy. so i i got the, on on at the end of the Saturday, I spoke to my wife and my wife was like, okay, we need to communicate to the parents um and we need to communicate to whoever built this app and we need to communicate to the school.
00:44:15
Speaker
But it was like Saturday night, nothing would be done. i actually did use JATTPT to generate some templates, you know, hey, I'm a parent at this school and I saw that our data is not well protected.
00:44:28
Speaker
But funny enough, we actually, my wife and I actually deliberated on this and we realized no data leak actually happened. because i was one of the users. like My data was there and I was the one who saw the data, right? So there was no data leak per se.
00:44:43
Speaker
There was no third party outside the context of parents and school that saw the data, at least to my knowledge. right So, yeah. So I felt like I would not send an email to all the parents, but I will send an email to the school. First, to remove my data because I did not consent to have my data on this app.
00:45:00
Speaker
Second, to get the contact of the person who built the app. Right. So Monday morning they responded, yeah, yeah, yeah, we deleted your data. I apologize for this. And then I said, okay, give me the phone number of the person who built the app because there's a lot of issues. And they sent me the contact.
00:45:15
Speaker
I called the guy it was funny because I said to the guy, hey, you should put your system down right now. Like, oh Like, why? Well, because I was just able to see everybody's data, including their kids' pictures. And i'm ah I'm a parent as well, and my kids' data is also there, so or was.
00:45:33
Speaker
So i do I do recommend that you shut down your app right now, remove everything, and remove everybody everybody's data. So the guy, no, no, the Builder was app very secure. There was an authentication system and blah, blah, blah. And I'm like, yeah, no.
00:45:46
Speaker
yeah You don't know what you're doing. You're... Clearly you used AI to build this thing and that's fine, that's commendable, but you did the wrong way. So you do need somebody with software architecture expertise to help you build this thing.
00:46:02
Speaker
And i don't think I don't think what you build here is fixable. You have to start from scratch. Right. So, so the guy appreciated the comment and an hour or later, I tried to access the website and website it was gone.
00:46:17
Speaker
I tried to access the website of the company that he built for selling the software was gone. Instagram account was gone. Everything was gone. it' was like, okay. So the guy, the guy knew that he was in like deep trouble if he tried to continue that way.
00:46:30
Speaker
Uh, Here's my concern that he just rebrands the whole thing and goes live with the app as it is. And if that happens, then I'll probably go for second measurement second measures. But for now, all good. But the lesson is AI can be great if you know what it's doing.
00:46:52
Speaker
Right. Right. right And in this case, the guy didn't know. Well, how many other, i mean, you know, luckily your kids happen to be enrolled at that martial arts school and, and you're an expert in software engineering and you happen to see this. So you, but how many other apps are out there at martial arts school where they don't have a Bruno that has kids there, right? Like that's the scary thing. And how many of these, you know, AI generated apps are out there leaking everybody's data and all this.
00:47:21
Speaker
When's the reckoning going to happen? How long do you think it's going to be before there's a ah little bit of a slap back on this? i think I think eventually some liability must occur.
00:47:31
Speaker
and And honestly, I'm of the opinion that if an AI tool allows someone without expertise to build something that as if they did have the expertise, but it's horribly implemented,
00:47:49
Speaker
the owner of that tool should be considered liable to that because they are promising, oh yeah, you're going to build an app and you're going to be hosted and it's going to be well secured.
AI Expanding Opportunities
00:48:00
Speaker
It's going to be great and awesome. Anybody can use it.
00:48:03
Speaker
and And I mean, some some AI platforms are being put out and ah designed in a way to attract layman users, not professional developers.
00:48:15
Speaker
right If an AI solution is out there and being and being promoted for professional developers or software developers in general, that's great. That's fine. Because we want developers to use it. We want developers to be more productive. We want developers to deliver more in less time.
00:48:30
Speaker
ah But the moment that an AI tool shows up in an ad to my mom to build a ah cooking app so people can share their data and their recipes and here's their profile picture and here's the username and password, you know, that's scary.
00:48:45
Speaker
That's scary, right? So I feel like, i feel like, I don't know exactly where I sit on the liability thing, but I think liability will have to come come down eventually.
00:48:56
Speaker
And unfortunately, a lot of these people don't know that they are actually liable to how the data is being handled in these apps. on The platform, the tool, Right now, I think they're, they are legally okay.
00:49:09
Speaker
Well protected. But, uh, I mean, some, somewhere, some user clicked on, I accept the terms of service. you know Yeah. I agree to all yeah liability for everything. this thing Yeah, exactly.
00:49:23
Speaker
But, but I think, I think, I think there will be an actually an explosion of startups on. helping app developers to review their apps architecture and to help fix.
00:49:37
Speaker
And that's where I see this trend going back to the theory of explosion of code. Because now these tools allow people who don't know how to code write code, there will be an exponentially explosion of of coding, of code in the coming years.
00:49:54
Speaker
But all of that code needs to be reviewed, should be reviewed before going online. And that's where I see the opportunity for a lot of us engineers to have you know side gigs, consulting firms, or even um studio apps, I'm sorry, studio ah companies that are solely there to build apps and review apps for customers, right? So AI is already creating new jobs.
00:50:19
Speaker
Yeah, exactly. i mean, it is. I mean, it will. It is.
Lowering Barriers for Business Ideas
00:50:22
Speaker
It is. It sure is. i saw i saw this I saw this ad on Instagram recently, and ah the the guy was advertising his new company, and his new company is all about, we build your app in 30 days.
00:50:36
Speaker
Like, we'll give will'll give will'll within a reasonable reasonable ah scope, we're going to build our app within 30 days. And production quality. Can you achieve that for for many of these little apps? Yes, pretty much.
00:50:51
Speaker
You got a good engineer with a good toolkit of AI and some standards already and some prompts already tested. Yeah, you can build you can build an app production grade within a month.
00:51:05
Speaker
Easy. Yeah, especially if you start with like a like a template, right? That you know, like yeah things wire all the real important stuff wired together correctly ye and then just build on top. Yeah, you can do it. So I think that's that's the job opportunity for a many of developers that are concerned about ah not having a job in tech. Well, be the tech.
00:51:24
Speaker
Be the person who actually sells the the service, right, of of building apps. Sure. Yeah, man, I'm concerned, but I'm also optimistic that things will adjust over time, just as everything has adjusted over time. You know, industrial revolution and many other cases and throughout society, when there was a ah disruptive shift in technology advancement, AI is like that just happens to be for knowledge workers for the first time.
00:51:56
Speaker
Right. Yeah. I think there's going to be a big shift, you know, in the, you know, building actual physical things again, right there. That's going to have a resurgence, but it's going to be in an automated way and intelligent automation for, you know, factories and those sorts of things. I think that's going to be a big, huge push in the near future. um That'll be exciting. That'll be, that'll be a lot of fun to watch, ah you know, and intelligent automation with AI and we're doing it already, but I think it's going to be on a grant more grand scale.
00:52:25
Speaker
Yeah, yeah. the the The amount of new tools that are coming out, agentic work, agent to agent communication, i in a model context protocol, which I have a personal opinion on that. It's just a glorified AI REST API, but okay.
00:52:46
Speaker
Well, it's not even REST, it's JSON RPC. And it's, if mess around with it? can It can be done over at REST yeah as well with a server sent events, JSON. yeah but But the point is um there is, there is a lot of opportunities for people to build both platforms and end user applications.
00:53:05
Speaker
oh yeah Right. and um um And anyone today as a software engineer who's not playing with AI is is missing the train. At least they should at least be using for their own personal productivity.
00:53:19
Speaker
Oh, absolutely. Right. if If they cannot use that work for some reason, that's understandable. Some companies are afraid. They are concerned. But at least for your personal ah things at home, you know, or when you're studying, anything like that, you should you should be playing with AI right now.
00:53:36
Speaker
that That's the next wave. it's It's already happening. Yeah, if you don't have AI literacy and you don't understand it and you're you're not, you know, good with using AI and prompting, and you're going to fall behind for sure.
00:53:49
Speaker
Yeah. Absolutely. I think the... i think the the The capabilities, the the ah the leverage that software engineers have with AI is that most of them can understand how LLMs work and then take advantage of that and do the you know prompt engineering, context to engineering the right way.
00:54:11
Speaker
Having this interactive and iterative conversation with the chatbot, um with the AI chat. But most users, you know they don't. you know i remember I remember seeing my my my my wife looking into ChatDepty the first time, and she just put a lot of questions in the same chat and the same message.
00:54:32
Speaker
It's like, slow down. Go one question at a time. you know And like using AI to build software is pretty much like that. Don't just... you know there is Actually, there is this new approach of doing SPAC-driven development with AI, where you provide the SPAC of the software that you want to build, and then the AI breaks down into a plan, and then from that plan, do subtasks.
00:54:56
Speaker
But still, it's the AI age ai agent coded In a way, there is a system prompt somewhere that says whenever you receive a SPAC recommend, make a plan and then break into some task and then do this and that. That's prompt engineering at the end of the day.
00:55:10
Speaker
It's just a reusable prompt that is already coded into the system in some layer. So ah for any engineer that understands that, they have this great, great leverage on building amazing things super fast and with high quality.
00:55:25
Speaker
You know, it's, it's we had this conversation with one of the folks we work with on the podcast Dylan was on, I think it was him. And we were talking about how it's, isn't it funny how now these ah machines are here to to do coding and now we're all concerned with how do we get better requirements, like really specific specs? Like now, now we're willing to do it where it used to be where it's just us poor coders trying to code this stuff up is like, just make me a login screen. And then like, we have to figure it out and get told, no, that's not it. That's not it. That's not it.
00:55:57
Speaker
Now we're wanting to invest in all this, this ah specification and requirements and getting good at it. Now that now the computers are doing the coding, which is cracking me up. But i like I like the inception of using you know using prompts to generate prompts that generate prompts.
00:56:14
Speaker
Have you seen that? Like, I have an idea. And then you go to to your your AI of choice and say, hey, here's my idea. Now, structure this idea in a way that AI would understand And then you say you put that on the other AI. Okay, here's my idea in details.
00:56:32
Speaker
Now give me a plan to implement this thing using this AI coding tool. And then that's the third problem. And then it goes on and on, right? So what What I just described as the manual process for us to go from a basic idea to more detailed, structured idea to an approach on how to execute the idea to then the actual coding, guess what?
00:56:52
Speaker
That is what most of these AI solutions are doing. they's just doing layers of system prompt messages that would just go one step at at a time. and And that that is the implementation detail. You want to build your own? That's what they're doing.
00:57:05
Speaker
And it's not magic. It's just honestly just common sense, again, once you understand how it works. It's SDLC in an automated fashion. Yeah. the um I heard this this year, the easy...
00:57:19
Speaker
um ai will we make ai will make the easy automated will make the hard work easy and it will make the impossible work now possible.
00:57:31
Speaker
And that's that's a great quote because it's like shifting now the levels of difficulty in things for knowledge workers. Right. So for anyone that is already there being able to address easy and hard work, now they can also tackle the impossible work with ai as long as you know they have concepts in mind.
Coding Education in AI Era
00:57:54
Speaker
Actually, going back to university, ah there's this discussion where should people even have a computer science degree now that AI does the coding? Well, yeah, now more than ever.
00:58:07
Speaker
sure big And by the way, i think computer science degrees should actually adapt and not focus on any coding at all, any particular programming language at all, and just focus 100% in system design, software, best practices, security, networking principles, all these concepts concepts that are foundational to dealing with software, you know, and ah sure, maybe some programming here and there and and a programming language to help understand logics and and so on.
00:58:39
Speaker
Yes, to I'm not saying, you know, got like but do consider, do we actually need to teach this version of this language or do we need to come to to educate people on principles of logic and and in programming?
00:58:53
Speaker
Because so yeah that's what they actually need, because Once you understand the basics of programming, you can pretty much understand any programming in language. what you What you don't know is the APIs. I don't know what what method do you to use to do this and that, but the LLM can figure that out easy, right? so yeah So once you understand the principles,
00:59:12
Speaker
With AI, you can code in any language. I mean, I've been coding in C++, plus plus Python, Node.js, JavaScript, Java, Kotlin, Scala, i um C Sharp, TypeScript.
00:59:25
Speaker
all Yeah, just listed like nine languages here, all because of AI. Once you understand how it works, the concepts behind, gets really, really easy and really cool to do things in languages that you have never played with before.
00:59:39
Speaker
I think that, work like you said, like if you you learn one programming programming language or a couple or whatever, you you kind of get the gist of it. You can read most code. I think that's true for everything and except for Rust, maybe. That's the one that I have a hard time with.
00:59:51
Speaker
Maybe you're too Rust. and I'm too Rusty. Yeah, exactly. Yeah. yeah i don't That's one I just can't. I mean, i intellectually, I understand it, but I just can't get myself to like love the language. It's just too silly. Yeah. Looking at the syntax, it's it's tricky.
01:00:07
Speaker
um But it's, I mean, does it really matter? Here's the thing. I believe that one day somebody will invent a programming language that is great for LLMs to use.
01:00:24
Speaker
Right, some sort of natural. ah natural programming language for them. Exactly, exactly. So why are we using English if it's the AI writing, if it's the machine writing the code for the machine to execute?
01:00:36
Speaker
There should be a better way for the machine to write code for the machine to run. So i think I think eventually that will happen. um here's Here's what is happening already. And this was, I mentioned this in my keynote at Java 1 this year.
01:00:53
Speaker
And the guy the conversation was about documentation. Do we really need to keep documenting APIs and products and tools the way that we do today with well-formatted HTML, well-formatted navigation for the user, for humans to navigate the documentation?
01:01:14
Speaker
Or should we format the documentation and publishing it in a way that LLMs can pick?
01:01:22
Speaker
right Nice. Yeah. because Because that shift in how we document software, I think it will also happen. In fact, ae couple of weeks ago, i was I saw my GitHub Copilot literally extracting jar files from my local Maven repo to understand the API.
AI-Readable Documentation
01:01:41
Speaker
oh I'm looking for a class that does this and then a method that does that. so Copilot actually went and, oh, I'm going to extract this jar file from this library, and then I'm going to see which classes are there.
01:01:54
Speaker
And I was like, there must be a better way. So I started writing an MCP server that the LLM can use to navigate an API and even extract Java doc. so they has So the LLM would get context of that API and know how to use it. right So I got i got a cut quite far and I made Polish still, but then I was talking to somebody on our group and the guy said, oh, there is, yeah, I think there is a website for that.
01:02:20
Speaker
It's like, okay, cool, show me. And before before referencing the website here, when you go to the Java doc of a Java API documentation, it's all HTML.
01:02:31
Speaker
Right. The LLM can understand HTML, but it's too expensive because of all the tokens and all the characters that are inside the source code of the HTML. So sending the an HTML to the LLM to understand the API is expensive.
01:02:45
Speaker
it's overhead, sure. Right? What if you could have the documentation, the Java doc in Markdown format, period, the whole thing, right? So that's what I was working on for my MCP server. Not Markdown per se, but JSON. I was structuring in JSON format.
01:03:00
Speaker
Still better than HTML. Right. Well, there is this website called context7.com. I think it's the website. And it's it's ah it's a so website that hosts well-known libraries and APIs from different programming languages.
01:03:17
Speaker
And all the documentation has been converted into Markdown. And it's exactly specifically for LLMs to read. Nice. I'm guessing they have an MCP server.
01:03:29
Speaker
They do. They do have an MCP server, yes. So i I basically gave up on finishing mine. I mean, it's it' it's ah at a state that kind of works, but I think theirs is already complete. Why am I going to spend my time doing that? I'm not paid for that.
01:03:42
Speaker
Right. So, but the point is documentation is being written for LLMs already, at the very least formatted for LLMs.
01:03:53
Speaker
So, if documentation is being If that is happening to documentation, that can also happen to programming itself, having have an programming language for LLMs to write.
01:04:04
Speaker
And maybe models that are designed specifically for the purpose of coding something. you know Because when you go chat GPT, let's say GPT-4-0, you can ask who were the 10 last presidents of the United States.
01:04:20
Speaker
It will have that knowledge because the model was trained with the internet data plus information about coding. right So you can ask it to write Python code and you can also ask for the last presidents.
01:04:34
Speaker
We don't need that. but I think the future also has this, I believe in the idea of models her tasks, models that well-trained for a particular tasks. So a model that does coding and does coding really well may not have in its training data and then doesn't have to have in its training data who are the presidents of a given country.
01:04:56
Speaker
yeah see It's pointless. GPP5, is that? I read an article the other day or a headline or something, and I think that's the gist of what they're doing is they're kind of instead of having this one big Uber model for everything that tries to know everything and everything, it's like kind of breaking down into these domain yeah specific models that it's, yeah you know, maybe there might be an Uber model to understand your natural language so that it can plan and say, what other model do I need to go talk to to get this answer that's better equipped than I am?
01:05:21
Speaker
That I think is genius. That's the future. of the way yeah Yeah. That's the way to go. Cause yeah, you can really hone in, you know, cause you think about the Jack of all trades, ace of none kind of concept, right? So you can build this Uber model that's okay at everything, but, but if you really were able to focus and and train and hone a ah model for domain specific knowledge,
01:05:41
Speaker
that's where you can get the big bang for the buck. And you don't need trillions of parameters to do that for the for the domain specific. They just need trillions because they're trying to make it know everything.
01:05:52
Speaker
Yeah. and And given systems are becoming more and more agent to agent, and or agentic with lots of agents within the same system, right? I mean, yeah, each agent has its particular model for its particular task.
01:06:06
Speaker
It's going to be optimized for that or, you know, specialized in that. Yeah, I think that that's going to be the future. We're going to see these these things are going to get broken up into these domain-specific things. And, oh, here's my...
01:06:17
Speaker
Chef Ramsay agent or the LLM that knows how to cook yeah food, right? you know And can tell me a great recipe. Exactly. that's That's going to be the future. I'm interested in you know kind of like the traditional AI because I think that you're you're seeing a resurgence in that. like I think this is...
01:06:33
Speaker
it's kind of opening up the minds of people, you know, that they're getting familiar with ChatGPT and, and now like you'll see, you'll see, you're seeing a resurgence in like traditional AI and machine learning and those sorts of things, not necessarily like large language models, but you know, neural networks, right? People are, people are now investing in that even more than they were before. So I think that's, that's been a really cool.
01:06:55
Speaker
ah byproduct of this this latest craze for sure. Yeah, I think, well, LLMs were in a way designed by neural networks, right? Like the way the LLMs work was designed by neural networks. So I feel like going back to neural networks, um'm I'm not an expert on this space, by the way, I'm just giving a very like layman opinion ah right now.
01:07:15
Speaker
And I swear to God, I'm not using chat to generate my layman opinion. on is I'm checking him. I'm watching him, guys. You can trust me. He's not. I agree with you that like it's it's allowing people to go back and look into those principles and and try again and try in a different
AI Solving Challenging Problems
01:07:32
Speaker
way. and Okay, this worked for this.
01:07:35
Speaker
What if we changed this little parameter here? What would we get? Right. And so I think it's, it's an interesting space to be, and anybody who with knowledge about neural network, work deep learning, machine learning, I think it's a great, great opportunity. I mean, people are making hundreds hundreds of thousands of dollars per month, not per year in this space in research. Yeah.
01:07:57
Speaker
No kidding. I think it's, it's really expanded people's knowledge of like kind of that, the art of the possible. Right. So they, you know, it, and the Back in the day, right, the layperson might be like, oh, well, computers can't do that. You know, they kind of have this low bar for where they think the ceiling, if you will, on um what computers can do.
01:08:16
Speaker
And then now ChatGPT comes in and it's like this magical box and you can like it does everything. So and now you're oh, well, wait a minute. Maybe computers can do all these things. that i So I think it's like expanding people's horizons and making people more creative to think about how can we leverage these computers to do just amazing things.
01:08:34
Speaker
I, want I, sometimes I get myself asking, should I build this thing or not when I have a little idea. Right. And, and I always feel like not always, but sometimes I feel like, yeah, I could build this thing with chat GPT, but I don't, I don't need this thing. i would just be building because I can, i do, well I would just be building to see, how see chat GPT generating or AI generating the code, or copilot, whatever, generating the code for me.
01:09:02
Speaker
Um, And sometimes I'm like, why why? Why would I build this thing? and And then i sometimes I don't. Sometimes I don't build some ideas just because it's too easy now.
01:09:14
Speaker
Right? and and and Yeah. I'm sure you've watched Star Wars, right? course. course And in Star Wars is this amazing world of highly advanced technology.
01:09:28
Speaker
with very rudimentary clothes and cooking and lifestyle in general everything is so basic you know dirty dirty ground with mud walls you know right right like in tatooine or something like that yeah but yet some ship that can go like just just go straight up in the air and take off like yeah how does that work exactly and And I remember seeing this comment where somebody said, oh, my God, look at this. They are dropping bombs from a starship and out of the atmosphere. I mean, how's gravity working there? And like they're dropping bombs. It doesn't work well.
01:10:06
Speaker
and then And then some comment on Reddit was like, because they they figured out how gravity works. So that's why they're dropping the bombs now. There's like... The machine, the the ship knows gravity.
01:10:18
Speaker
It understands gravity. yeah that's Let's move on. that's Gravity has been solved. yeah like Let's move on to more challenging challenging problems, right? And I feel like AI is getting to that place where, yeah, yeah, that's solved. AI figured that out. We don't need to actually care for that thing anymore.
01:10:36
Speaker
let's you know Let's just grill some steak and they have fun here in the backyard because, yeah, that that problem is not a problem anymore. Well, I love that. Like the, i was thinking back to like a comment you made earlier about like how it kind of, it it lowered the bar, raised the ceiling, however you want to call it. Like, you know, it makes the the simple things not necessary anymore and the hard things simple and the impossible things possible.
01:11:00
Speaker
Yeah. Like, I think that's going to be an interesting thing for like the, you know, product managers of the world. Cause you know, I think we've always like the, the imagination of folks who are, you know, envisioning these products, their imagination is, is probably way far beyond what we can actually deliver in a timely fashion, right. With, with enough money and those sorts of things. I think, you know, some of those things that we're like, well you know, it's going to cost,
01:11:25
Speaker
$5 million dollars if we want to do that feature the way you're explaining it, Mr. Project Manager, visionary person. But now, you know, maybe that, I think we you were saying earlier, it was like when you, I think when we were talking, prepping for this this ah episode, you were you were saying like, you're it's like 6X, six times as fast or something, being able to do it. Like, okay, divide 5 million by six. And then maybe it's, now that's affordable. Now we can do those things. So that that will that'll be interesting to see how products evolve now that,
01:11:54
Speaker
kind of that ceiling has been lowered. i have i have a friend in the NBA who who loves to make this joke about there are three steps to make a successful, to build a successful business.
01:12:06
Speaker
Step one, create the business. Step two, Question marks. Step three, profit.
01:12:16
Speaker
It's the old South Park underpants gnomes. stuff Yeah, exactly. Exactly. Yeah. so So now it's it's it's even easier to build ideas, right? yeah Before it would cost a lot of money, a lot of time, investments, and this and that. Now, don't like $500 go now.
01:12:38
Speaker
she know so So can can people provo build a prototype or an MVP or anything to test the idea out and do market research based on that prototype? Absolutely.
01:12:52
Speaker
It's super easy now. um But... you know if it's If it's software, it this person should have a software background or at least a partner who has software background.
01:13:06
Speaker
ah Otherwise, they're going to be either building something that is not secure or building something that is just not good and may may not work well with the users because they don't have the idea of user experience, navigation, ah behavior, e etc et cetera, et cetera.
01:13:24
Speaker
So um I think it's a great opportunity for everybody. But yeah, they There is this, somebody asked me on Twitter, like, well, somebody built an app that was very poorly designed, but that also happened before AI.
01:13:37
Speaker
Sure. And I'm like, yeah, but not at the scale that this can't happen now. Right. And that's a problem. That's a challenge. But but again, hey, if there's a if there is a problem, there's an opportunity for for somebody to solve that problem and and make
AI and Rapid Prototyping
01:13:52
Speaker
And and i think I think as software engineers understand that, there will be a lot of engineers that will actually be okay with the idea of being let go at a company and just you know going on their own, building a consulting firm or um craft software studio that and helps layman people build software.
01:14:13
Speaker
Yeah. That's interesting point you made about like the, you can get your software in front of users quicker and learn. Cause that's, that's kind of the hard part. Cause there's like this, it's like cliff that you have to, okay, I got to build the whole doggone system and get it up to this certain level before I can even get it in front of people.
01:14:29
Speaker
Yeah. That cliff is now lower. Right. and And we can get it in front of real users and get feedback and validate. Is this, this is this even going to change people's lives? Is it going to help them? um And that lowers that bar.
01:14:41
Speaker
I think before we had two cliffs. One cliff was to get to ah an MVP. And the second cliff was to get to production. I think with AI, the first cliff became a bump.
01:14:56
Speaker
It's just a bump now. It's like, oh, you have an MVP idea? Yeah, let's go. Sit here with me and in 24 hours we have something. But the production cliff, I think it continues to be up the same height.
01:15:11
Speaker
Yeah, I think you have to the rigor still has to be there. Yeah, for sure. i think I think you got from the bump to the production cliff, you got faster than from the original cliff to the production cliff.
01:15:22
Speaker
Yeah. But the height of that production cliff continues to be the same. Actually, i would say it's even harder now given all the data privacy regulations across Europe, North America, Europe.
01:15:34
Speaker
the amount of data leaks that have been happening throughout the last five years, um how data is protected, how how it's hosted, data jurisdiction, so many legal ah blockers, so many illegal things that have to be addressed.
Importance of Code Documentation
01:15:50
Speaker
Does your system have a right to forget? Does your system have a terms of service? I mean, how many people will be building apps using Vibe Coding and will not care for terms of service, privacy statement, and all those things, and ah password policies? and you know They just won't because it's not in their mindset. its They don't think as software engineers. they They think as business people who want to put something out for others to...
01:16:15
Speaker
use and pay for sock 2 compliance yeah sock 2 yeah oh my god good luck with that yeah good luck with that like the and like the things like there's certain countries like australia for instance doesn't like their use their citizens data to be on physical boxes outside of the country like you can't do that those are things that you won't know so yeah many many countries are like that now yeah so canada does that too don't they No, Canada, I don't think it does. It only... ah okay I'm not an expert on this. My wife would certainly know, but I believe Canada has regulations about whether you have public public employees, like government employees okay data. then Then it has to be hosted in Canada.
01:17:03
Speaker
But if it's like commercial stuff, private sector, it's not a contract for the government, yeah, it should be fine. Maybe there was some kind of thing with Canada. Yeah.
01:17:14
Speaker
Fascinating, fascinating stuff. Okay. Well, I have kept you way too long. We have a couple more segments of the show that we have to get through that are really important. Yeah, let's go. Our first segment is called Ship It or Skip It.
01:17:27
Speaker
Ship or skip. skip. or skip. Everybody, we got to tell us if you ship or skip. This is our version of hot or not. Ship it means ship it to production, skip it means, eh, let's not do that, right?
01:17:37
Speaker
So okay ah first topic for ship it or skip it, just because of you the fact that where I know you from, um open source. what do you think about using open source software still in the age of AI? Is that, we still doing that or we just let the AI generate you know everything and just do it?
01:17:54
Speaker
LLM would not exist as it does today for coding if it wasn't for open source. So yeah, ship it, continue. We're going to need mean to keep pumping it information to train on.
01:18:07
Speaker
Absolutely. Okay. Yeah, I think i'm I'm, well, of course, I mean, I'm kind of biased, of course, because I did a lot of open source developments, same as you. But yeah, I do think there's there's still a place for open source, even even though like, oh, i can I need a library that does string manipulation stuff. I can use Apache Common string modules, right? I can i can use that. i think we should. you know Or I could have i could have my LLM generated, but that's just code then that I have to maintain and that I'm liable for. So I still think those utilities are still there and we we don't let AI generate everything down to, I mean, you could take it crazy all the way down to the operating system. Hey, generate me the operating system to run this software.
01:18:45
Speaker
ah Let's not do that. um Okay, next. right, so next, when it comes to ship it or skip it, what do you think about, a lot of times we're we're kind of, as developers, we're asked, you know, okay, you you got to put documentation in your code. You got to have, you know, every method has to have a a Java doc for us and Java folks, you know, and all of that.
01:19:05
Speaker
and in this new world of LLMs and AI and and all of that, do do you think that's going by the wayside? I think it still needs to continue existing, um but I would say people should be leveraging AI to write that code.
01:19:19
Speaker
to write those comments, that documentation in the code. it's ah It's a lot easier now. You can just go to Copilot and say, hey, add comments that explains my code. yeah um And the reason for this is because the LLM will, whenever in the future the LLM needs to parse the code to understand, it'll actually look into the comments.
01:19:38
Speaker
and prioritize that as context, right? To relearn for that session what that code does. but um But I think we did discuss in the call on the importance of publishing documentation in a way that LLMs can read faster and cheaper.
01:19:56
Speaker
um So I would combine both as ship it, like make sure that the code has comments, but also make sure that documentation is published in a way that is um easily consumed by hellom Yeah, I would i would say i don't want to get rid of, especially like API level document. I don't want like every line to have to have a comment, that kind of stuff. I've never been for that. I'd rather have readable code, but like,
01:20:20
Speaker
and the The only thing that i don't like is when you write all the documentation and then you've got that, the the um the skew between this is what the code actually does and this is what the comments say it's going to do. I wonder what would happen like if you if you put the documentation for an LLM and it takes that context of the documentation and the actual code doesn't do with the documentation, well what's the all I'm going to do with that? Is it smart enough to know the actual?
01:20:46
Speaker
i think That would be an interesting test. Yeah, I think, but but but this is this is where open source versus not open source is plays an important role. When it's not open source, then you need a more ah even more context.
01:20:58
Speaker
right So if you're working with LLM and using a proprietary library or for an internal project that is not it's not for others to consume, umm not a library, you know it's the end user system.
01:21:11
Speaker
Nobody open sources the end user system, right? It's not reusable per se. ah But that code is still maintainable if it has proper comments and then you leverage AI to understand and make adjustments to that system. I like it.
01:21:28
Speaker
All right. We'll move on to the most important part of our show. um This is you know, all of what we've done before, this is pretty much meaningless. I think people tune in for this part because this is this is where we really get to the hard hitting questions and and really drive into what people wanna know, right? So this is called our lightning round.
Lightning Round
01:21:54
Speaker
It's time for the lightning round. Rapid fire, don't slow down. Hands up quick and make it count. In this game, there's no way out.
01:22:06
Speaker
It's time for the lightning round.
01:22:10
Speaker
Uh, this is, these questions are rapid fire. We're going to, they're coming at you and we ask that, you know, there are right answers, ah but we do ask that you answer very quickly. Um, again, this is, this is the most important part. So no pressure.
01:22:22
Speaker
and there are right answers. So I'm just, just warning you. Are you ready? Yes. Have you composed yourself? Okay, good. Um, what's your favorite junk food?
01:22:35
Speaker
Um, burgers. Burgers. I like, all right. I like a good burger. um have you ever worn socks with sandals um not because i wanted to just because i had to do something i didn't have the time to remove the socks which is like like put trash out like yeah let's just go outside yeah i think that's acceptable um what about what's the fastest speed you've ever driven in a car i Because you didn't say whether it was a virtual car or not, or if it was legally or not, I can say you the number. It was 320 kilometers an hour.
01:23:15
Speaker
All right. And I'll have to do the conversion to figure out what that means, because I'm a weird, you know. ah that's That's 200 plus miles per hour. Yeah. That's moving. Yeah. We don't know if it's virtual or not, though.
01:23:27
Speaker
We don't know. We don't know. And then I didn't ask. That's not necessary for you to have to. All right. So stale Sour Patch Kids or fresh Circus Peanuts?
01:23:41
Speaker
Some people don't know what Circus Peanuts are, like the candy Circus Peanuts. i will i will I will go with the Circus Peanuts just because just because they sound fun. Okay. All right. All right.
01:23:57
Speaker
If you had a child, would you want them to be the most popular person in their high school? Yes. Okay.
01:24:08
Speaker
Ask permission or beg forgiveness? Beg forgiveness. I like it. Have you ever been to Africa? Yes, actually. ah went to Morocco once um with my wife and our first child.
01:24:23
Speaker
It was 2017. We did a camel ride and I would never recommend anybody to do a camel ride with a baby. Okay. Okay. That's a camel ride with a, with a baby. Yeah. That's that probably had, that had to be entertaining.
01:24:47
Speaker
If you're journaling, if you're going to be doing journaling, do you like to do good old fashioned paper or do you do your journaling on a computer?
01:24:56
Speaker
So I don't have the practice of journaling at all. But when I do have to write some notes and, you know, get something written down. I do whatever is accessible to me at that moment.
01:25:11
Speaker
So if it's my phone, I'm going to open Google Keep and just make a note of something. if it's umm If I'm on my computer, I actually like to use Sublime, Sublime Text Editor, because you open it, it writes something, and if you close it, it actually saves the file temporarily.
01:25:26
Speaker
So and never lose anything on Sublime. Nice. All right. And since the based on our conversation, I think I know the answer to this, but we'll see. And you're from Brazil. So I think I know know where this will go.
01:25:38
Speaker
What is your favorite martial art?
01:25:43
Speaker
Brazilian Jiu-Jitsu. That's what I figured. And you are a practitioner, are you not? Is that right? i've I've practiced in the past. um i've done I've done a couple of years of it. And that's that's what my kids are doing right now.
01:25:57
Speaker
Nice. Yeah, that's it. That's one thing. So I did karate for many years. And, uh, if, if I was going to go back and cross train Brazilian jujitsu would be what I would do because I'm claustrophobic.
01:26:09
Speaker
And I think if, if I ever got into like a grappling situation somebody had their arm around my neck, I probably would freak out because I'm claustrophobic. So I think that's, that's what I would definitely would want to do as a Brazilian jujitsu for sure.
01:26:21
Speaker
it's a great it's a great It's a great one, for for for especially for kids, but also for adults. It burns calories. gets you focused. It's one hour of ah sparing that you got to do with other students.
01:26:36
Speaker
It's amazing. Yeah, we did we did some ah rolling around here and there. We learned some stuff, some jujitsu stuff. But man, you leave the mat, you had a workout. you You work hard. That's amazing. Yeah, that was a great workout.
01:26:50
Speaker
All right. Well, you did a fantastic on the lightning round. I would put you at at around the 89, 91 percentile, somewhere in that range. Okay. from all over you That's fantastic. That's a pretty good score.
01:27:02
Speaker
ah In closing, anything, anything coming up for you that you want to let people know about? you know Are you writing any books? Are you going to be presenting anywhere? any Anything like that or any libraries you've got going on?
01:27:15
Speaker
Yeah, i I'm not a book author. i did help a little bit on a book about Java effects a few years ago. Actually, not a few years ago, more than five years ago.
01:27:25
Speaker
um But other than that, I'm mostly like on social media. If people want to follow me, please feel free to reach out on Twitter, X, whatever you're gonna these
LinkedIn for Professional Networking
01:27:36
Speaker
days. Whatever it's called now.
01:27:37
Speaker
Yeah. ah But i'm more I'm more active now on LinkedIn. So I feel like LinkedIn is becoming the social network for people who care about work, about building things.
01:27:50
Speaker
Yeah. you know That and GitHub. you know You combine LinkedIn and GitHub, you have the perfect environment for professional developers. ah you can You can get to meet other professional developers on LinkedIn, and you get to share work ah through GitHub.
01:28:04
Speaker
Twitter and Alex and other social networks that are still useful, but for a variety of things. the The good thing about LinkedIn is that because your resume is right next to it, you won't be posting that the same amount of memes as you do on other social networks.
01:28:21
Speaker
so So the environment itself of LinkedIn helps filter out and contain people's enthusiasms of oversharing. Yeah. Yeah. ive You see it every now and then. And it's funny, it sticks out like a sore thumb on LinkedIn when people you know kind of do that overshare. You're like, ooh.
01:28:38
Speaker
Yeah, exactly. I've done that. Like, bam, unfollow. Yeah. See you later. Yeah. I've seen a few of them, but people put in like political stuff or anything on LinkedIn. I'm like, me that's not, yeah, that's not the place for that.
01:28:52
Speaker
Exactly. All right Well, man, thank you. Thank you so much. And I, you know, I, I didn't mention it, but like, I think we've known each other through like, you know, the internet for years and years and years. And I don't, I don't think we've ever come face to face before. So it was really really a pleasure and, ah ah to actually get to meet you face to face, even though it's virtual, uh, in two dimensions, but, uh,
01:29:13
Speaker
It was great to get to meet you finally, and hopefully we can can do this again sometime.
Upcoming Conference Appearance
01:29:18
Speaker
This was cool. If you go to Orlando in October, I'll be around. There's a conference from IBM Tech Exchange in partnership with JCon, which is a Java conference.
01:29:29
Speaker
So they are co-hosting JCon Inside Tech Exchange in October. I'll be around. i Yeah, thank you so much for having me. This was a great conversation. i appreciate you for the invitation and also for the questions. I love it.
01:29:42
Speaker
Yeah, we have a good time here on the forward slash. So thank you. Thank you. Thank you again. And really, really looking forward to other folks getting to enjoy this conversation as much as I did.
01:29:53
Speaker
See you next time. If you'd like to get in touch with us or be a guest on the show, drop us a line at the forward slash at Caliberty.com. The forward slash podcast is created by Caliberty. Our director is Dylan Quartz, producer Ryan Wilson, with editing by John Corey and Jeremy Brown.
01:30:08
Speaker
Marketing support comes from Taylor Blessing. I'm your host, James Carmen, and thank you for listening.