¶ Podcast Introduction and Hosts' Background
Welcome to Bytes in Balance, the podcast where we navigate the wild world of software engineering together. I'm Dan and this is Demian. We have been juggling code, teams and sanity for over 35 years combined. From junior devs to principal engineers, we have worn every hat in the industry.
in this podcast we're sharing our journey lessons learned and mentoring tricks to help you find your own balance it's not just about the tech we dive into people psychology communication and all the messy bits in between think of it as group therapy for the digital age We vent to swap word stories and share what we think is solid advice. Sometimes we even bring guests to shake things up. This podcast is our way of tackling the stress, burnout, and growth pains that come with the job.
It's as much a balancing act for us as it is for you. Grab a seat and let's navigate this madness together. You'll find some interesting links in the episode description if you want to learn more about us or the topics we discuss. Alright, let's get started. Okay, Damien, nice to see you again. I'm glad to be back in the studio, as it were.
¶ Why We Avoided Generative AI
Today, we decided that we're going to talk about generative AI. Yeah, that's right. Good to see you again, Dan. I think we have been kind of avoiding this topic a little bit. We'll come to that. But yeah, I think it's a great topic to have a chat today. Honestly, I think that's where I wanted to start is why have we been avoiding this topic? I mean, for me personally, this came at an interesting time in my career. I quit my job at Amazon in summer of 2020.
2022. ChatGPT basically came out that fall, I want to say. Maybe earlier versions had come out before, but it was really the one that took everybody by storm was after I had left my full-time job. So I've had a really unique perspective on this. I haven't been working at a big tech company.
However, I have started this coaching business. And so I'm talking to lots and lots of people and hearing kind of how they are reacting to AI, all the hype and buzz in the market. People are trying to make decisions about. What does it mean for me and my job and my career? What do I do? So this has been a really interesting time. And like you said, I have also been avoiding this too, just because it's such a loaded topic. I have a lot of strong feelings about it.
But I've been holding back a little bit because I've been, you know, nervous about... Like I'm not an expert. This is one of those things that I don't think I fully understand and grok a lot of how LLMs work. They are pretty magic in some ways. I think I've been holding myself back from wanting to do this episode. Obviously, I've been wanting to talk about Gen A.
I for a long time, but I've been nervous about this. We talked about this a couple of weeks ago and you really talked me over the off the ledge, I guess. Yeah. And one week ago, I was the one that was like, I don't know if we should talk about this. And you were the one that took me off the ledge again. Yes, yes, yes. I think it's important. I mean, that's honestly one of the things, the great things I get out of doing this podcast with you and being friends with you is I think we can push.
each other in this way. But yeah, I think our goal for this was to just have a conversation about Gen AI as two people who are not experts in Gen AI specifically, but who are experienced computer scientists, computer engineers. We've been around the block.
seen lots of things. And this is how you posed it to me a couple of weeks ago. You were like, we have interesting thoughts on this. Yeah, I think the way I want to approach this is that highlighting again, like we are not experts in the topic. And I want to say this in a world in which
¶ Not AI Experts, but Experienced Engineers
Now everybody suddenly seems to be an expert in the topic. And you see people that, you know, one year and a half, their LinkedIn profile say crypto experts or something like that. And now they say AI experts. Or somebody say agile experts. And now they say AI experts. You and I know those. folks are not experts in the topic to some extent.
Intellectually, I do. But even then, I still get intimidated by this. And I was reading an article the other day, and it was something about like, oh, if you are not using Gen AI on a daily basis, you are behind. I got a wave of anxiety. I was like, oh, shit. am i now i read the rest of the article and it was all so i like i don't feel so bad anymore but there's all of this out there in the culture right now
Yeah, and I think there is a lot of hype. And as you said, approaching this as two senior principal software engineers, people that has a computer science-oriented mindset, we know also there is a lot of anxiety in the community about this, about lagging behind. And I think...
opening and showing like, hey, it's not you. It's like everybody is in the same space. It's a very fuzzy space. And what are our thoughts on that thing and perspective could actually help? And I think it's a good idea to be a bit vulnerable in that sense. So again, not experts. That's the important. premise here. However
I guess our 30-something years of experience combined in the software industry and seeing a bunch of boobles and hype trains and stuff like that help us have some ideas. Yeah, yeah. If I tried to do this a year ago, I would have felt a lot more insecure about my opinions about it.
¶ Understanding Generative AI and LLMs
So maybe I'll tell a little bit about my journey. It's not like it's finished or anything, but I started out being very hesitant to use any kind of gen AI. And by the way, when we talk about AI in this episode, we're specifically talking about generative AI.
language models chat gpt that sort of stuff one of the things that's been frustrating to me in this whole cultural phenomenon is how every kind of any smart thing that a computer did for the last 30 years is being rebranded as ai there's been all kinds of machine learning
techniques that have been used over the years to do all kinds of things. And those are being rebranded as AI and they are AI, but everybody's lumping them all into one big thing and treating them all the same. And there are the techniques that have been around for many years to do different kinds of machine learning and regression, whatever. All those are very different from large language models, and I think it's useful for us to disambiguate there.
Marketing folks now are putting the AI stuff everywhere. That's how we know it's a Google. That's how we know it's a hype. You see some products that makes no sense, but you know, it's powered by AI. It sells. Yeah. All that investment money that is no longer going into crypto, although we'll see.
given the last week of news. But all that investment money that was going into crypto now is going into AI just because that's what the hype is. It's interesting because AI is both simultaneously amazing, almost to the point of being magical. And then... also there's other times where i look at it and i go man it is stupid like
It's a mixed bag. I think that's one of the reasons for its hype is there's always been neural networks and AI based on neural networks for, you know, identifying whether a picture is a picture of a bird or not. That's the kind of task that a neural network is good at. Well, a neural network is also apparently good at predicting what's the next set of text tokens that should be spit out, given all of this other text inputs as your context. That's essentially all an LLM is doing.
¶ How LLMs Work: Beyond Human Thinking
taking a bunch of text as input and then spitting out what is the most probable Outcome. Yeah, outcome. Yeah, exactly. I always use this example when I'm explaining to people what LLMs do and how they think, or how they don't think, rather. If you ask a person, what's the capital of Washington? They know the answer is Olympia. If you ask an LLM what is the capital of Washington, it will spit out the right answer.
But it doesn't really know that in the same sense. All it knows is that the text Olympia belongs with a very high degree of probability and confidence after the question, what is the capital of Washington? It doesn't know that in the same sense that a human knows that when they say, oh,
I know that. That's the fundamental thing that I think a lot of people can't or don't grasp about LLMs is that they don't really think. They don't really understand. I was talking with someone about you can ask an LLM to play a little guessing game.
with you. And you can say, oh, think of a number between one and 10 or one in a hundred, and I'll try to guess it. And you can do that and it'll play along with you. And what people need to realize is there's no point in that game. When you started the game, the LLM didn't have some register in its memory where it said, okay, I'm going to put, I'm going to
store that number so that I can refer to it back. It's cheating. It's making it up as it goes. It's saying, okay, this person is asking me to play a game. I'm going to spit out the most logical text that is the answer to that. But it's not really thinking about it. It's not really storing the value of that and then comparing.
in the same way that human brain would do if you did that. And that's very hard to wrap your head around because it can do amazing things. You can feed in text and ask it to summarize it and reformat it. And it's like, how is it possible for it to do that without really understanding the meaning behind all of that?
¶ LLM Limitations and Creativity Concerns
A good friend with somewhere around 50 years in the industry at this point, old wolf, would call these things stochastic parrots. I think it's important to say, don't get me wrong, I agree with you.
It's an incredible piece of technology and they can do things that are crazy amazing. And they can also do things that are crazy stupid at the same time. And I think one of the problems I was reading that they actually have is that the problem that we have is they are right, I don't know, 90% of the time or 92%.
percent of the time. But the actual problem is they are wrong eight percent of the time. And it's very hard for them to actually reduce that number. Yeah, there's an aspect of when you're talking to a human being and you're asking them questions, they can have some sense of like what they're not. and information is based on. Is it based on personal experience? Is it based on them reading it in a book? And they can give you an answer that gives you some degree of confidence.
And that's the thing that an LLM can't really do. It can't introspect its own thought process, really. I know that's what these new like sort of reasoning based models do. But even that, I think it's kind of a misnomer. I don't think they're doing reasoning. They're just generating more text and using that text as input.
but for another text generation. As a reasoning mechanism. Yeah, that's still not reasoning, even though it looks like it. At least that's my kind of two cents. Yeah, I agree. And I still think it's going to be really amazing and interesting to see.
When you see, for example, photography generated by these languages or video generated by these languages, it's kind of crazy. Those things are the kinds of things that I look at and I'm a little bit scared of the implications there. The other things that are interesting with these things is there was this thing. about Stack Overflow and how a lot of these models were trained on Stack Overflow, which was publicly available content, whether they agreed or not, which is a different story.
A very important one, by the way, all the copyright issues that this is going to generate. And it was saying how the use of Stack Overflow, the actual users that are asking questions and answering questions on Stack Overflow, the traffic is actually going down in the last three years or something like that dramatically. Which is interesting because eventually it could wreck make a stack overflow go bust and stuff like that
But then how are you going to keep training these models in the future with new content? Because they are going to be good probably at memorizing this old content, right? But where is the new content actually going to come? And there is this factor of creativity also, which I think it's interesting to put in the middle, is that...
There is no real creative process and that's a very human thing. And I think they depend on content that has been human generated and they are going to generate this feedback loop in which there's not going to be human generated content or sites like those to keep feeding the loop and eventually... it's going to crash.
¶ The Gen AI Bubble and Its Limits
Yeah, fundamentally, we've used the word bubble earlier when we were talking about this phenomenon. And definitely, I believe that there is a huge aspect to AI. Like, I don't believe that JNI is going away. I don't think it's totally useless. It's not going away. But I do think that we're in a huge bubble. where people are looking at this dramatic improvement. Like LLMs have existed for a long time. They just kind of sucked. They didn't produce output that seemed human.
They didn't produce output that seemed smart, that seemed like it was useful. And researchers got over that hump at OpenAI. I don't know all of the technical reasons that explain sort of what that breakthrough was based on. A big part of it was just based.
on raw compute that they threw at it like it's an order of magnitude more compute in terms of the training the model and all that stuff so that may have been one of the big things that let them get there but people are looking at that step going from pre-chat gpt llms to or whatever the version of chat
that took everybody by storm, that 3.0, something like that, whichever the big one was. People are looking at that step as like, oh my God, if this continues, it's gonna take over the world. And that's the part where I kind of don't think that trend will continue. LLMs are not getting that much smarter in the last year.
They're iterating. I could be wildly wrong about this, but I kind of wonder and I kind of believe that LLMs are basically like a local maximum in a way, maybe a bit of a dead end in terms of achieving what people call true artificial generalized intelligence.
People are using that term to mean an AI that's as smart as a human. And the thing is, I think we basically took this one big giant step in functionality by throwing huge amounts of raw compute power and huge amounts of human-generated text, like StackOver. And so when you use ChatGPT today, you are leveraging a whole bunch of information that was contained in all those Stack Overflow posts, all those thousands of contributors that are answering questions and type of things.
a lot of that information was encoded into tokens and fed into chat gpt and now you can take advantage of that which is pretty amazing it really is but i think people are imagining that it's going to keep getting smarter at that same pace and that's where i just don't see it The other thing is that, again, not an expert, right? I think there are different bubbles here. There is an economic bubble.
There is a social cultural bubble, a technological bubble. There are several things here. I was reading these days that these things actually depend of this content. And if you feed them content that was generated by them, they get even worse. Like instead of getting better, they get worse.
A lot of the problem that we're going to have in the next 10 years or so on and so forth is if we were already in an era in which we were generating a lot of crap content and then putting it wild and free in the internet, with LLMs, now we're generating 10, 50 times more crap content.
That's going to have an impact because now these things are going to start scrapping that crap content and maybe they are going to even get worse. I don't know. I read about that. Not an expert, but it's interesting.
¶ Practical Uses of LLMs in Workflow
Maybe something that would be useful to talk about is what are the things that both you and I have found it to be useful for? What do we like about it? What do we use it for? You've described a few things in your kind of day-to-day workflow. How have you been trying to do that? What success have you found? So I think the first use that I got for these things, I use them for writing. Don't misunderstand writing with generating content. I don't use it for
Hey, write a blog post about XYZ and whatever this thing throws away, we just grab and post in LinkedIn or whatever. I think that's the worst that you can do. I like writing. I like wood writing. English is my second language, so I'm very picky and even perfectionist on that. But at the same time, I have a very specific style of writing that I know it's mine and I want to be true to myself. Thinking about this, I use it as a writer.
body in the sense of if I really want to write something relatively quickly I put some ideas on a piece of paper and I just try to start iterating with an LLM and improve my writing. And I am very good and picky at saying, like, this is not my voice. I don't like what this is saying. I would not use these words. I definitely would not use this here. I normally took things as an initial framework, and I keep iterating on myself. And then I ask the LLM, hey, what do you think?
about is the flow good they think it's good but sometimes they give nice suggestions so i think i use it as a writing body to improve my writing and make it more efficient without losing my own style and my own voice i'm very careful on that aspect so that way
the first use that i got what about you i have a bunch of others but yeah i probably have fewer than you just because i've tried it in a couple of areas and honestly i haven't really found like a killer use case for me like in theory there are lots of things that seem like they would
be good fits, right? Like I'm doing this coaching and mentoring thing. That means I'm spending a lot of time reading messages that people send me, writing messages to people. In theory, that seems like it would be a good use case for chat GPT. But to be honest, I never do that. I just... uncomfortable with it. So I don't use it for writing in the sense of I have a general idea of the structure of what I'm writing and I just need to spit out the text.
Although I have actually a couple of other friends who tell me the exact same thing. They write the text first and then they use it to help refine their English. And I think that makes a lot of sense. Like there's a ton of knowledge embedded within ChatGPT about stupid little English grammatical rules or spelling. whatever, using that as a tool to polish your writing, that's not like delegating your thoughts to ChatGPT or using that as a writing tool.
¶ Risk to Critical Thinking Skills
which i think it's a risk and it's a concern with these models particularly being a father of a 15 year old and you have your kids and you probably are thinking about this too one of my concerns is that we as a human race could risk becoming dumber
these things because it's like you know it's easy you just type something very quickly you don't have to think too much and i think our generation went through the effort to actually build these skills like for me building the writing skill and the communication skill was key was very important from young age. And what I tell my son is like, can I use an LLM? And I tell him like the answer is yes and no.
Yes, you have to get into this because this is going to be an important piece of technology in the next years and so on and so forth. And I think you do have to understand how they work and use them efficiently to improve your workflow. Like in my case, the answer is no, because you have to build
the core skills that you really need to be able to use effectively the LLM, to be able to write effectively first, to be able to think critically, not become dumber, and then you can use the LLM as a tool. The concern is that there is going to be a generation that is risking actually not building these skills. When you see, for example, this was a very interesting one, right? The CEO of NVIDIA saying like, oh, no, you should not learn to code anymore. I don't think that's the right thing.
do right i think that's dangerous for one simple thing it's like Coding is not just about building software. It's about many other things. It's about creating certain thought process and certain discipline and thought process. It's creating about some critical thinking. Telling people, oh, you should not learn to code.
¶ Coding with LLMs: Hype vs. Reality
I think it's a very responsible thing to say. And I have seen, by the way, this in the coding use case with LLMs. Like I was in a hackathon like three months ago or something like that. Working with a technology, I was not, I'm not an expert. It's a React website and people had no idea how.
to add features so they were asking one of these guys how to add things hey I want this thing to do this blah blah blah the LLM and the LLM would spit out a bunch of code they would just copy the code paste it there ruin it oh it doesn't work okay let's remove this character here Let's add one character here. And once it worked, nobody cared about how that thing worked.
Nobody cared about really knowing why this thing was working and they move to the next feature and they keep adding things, copy paste from LLM. And I was just watching this and thinking like, oh, my God, this is a recipe for the disaster in the long term. I am not an expert in React.
But as a longtime software engineer, I know that the pattern that they copy paste here, you know, frameworks have their ways to do things. The pattern they are doing things here is very different to the pattern they copy paste here. So it's taking the answer from probably two different posts.
or whatever. And then this is going to end being a mix of all kinds of weird patterns. It's going to generate a bunch of technical depth that not even the LLM is going to be able to handle because I have seen that too.
¶ Generational Shifts and Skill Building
Yeah, this is super interesting. And I've also seen exactly this, you know, I mean, I have clients now who are trying to learn to code or they already know how to code, but they're practicing for coding interviews and things like that. And they're wondering if they should use LLMs to help them out.
sometimes I struggle with knowing what to tell them. So here's a couple of analogies that I'm thinking of. I remember people in my childhood telling me what a travesty it was that kids these days don't learn to write cursive anymore. telling me how important it is and how much stuff you learn by forcing your hand down on the paper and writing and it connects those mental brain pathways.
I don't know. I felt bad about that my whole school career. I had a bad second grade teacher and I just sort of skipped that part. And I suck at cursive today. You know what? It affects my life. Not at all in the slightest. I don't care. And there is always a tendency for an older generation. like us. Sorry, Damien. I'm guilty. I turned 39 this year, so I'm feeling it. There is a tendency to kind of look at anything new and be like, oh, this is going to be bad. This is going to rot your brains.
And I'm trying to avoid that tendency. I heard these exact same objections around Stack Overflow. Oh, this new generation of developers, all they know how to do is go to Stack Overflow and search the answer and then copy and paste it. And that's all they can do. They can't.
reason they can't think and it's a death knell of our industry and that didn't really happen i mean there's times when even i do this but you've seen patterns when people are struggling when trying to write some code and you fall into a pattern of like oh i'm really close let me just copy and paste this let me just change this
let me just twiddle this sometimes you recognize that it's bad sometimes you try a few things and you get out of it but you recognize that at times you can't just keep doing that there's a time where you need to step back think about okay hold on let's think logically about how this is supposed to work let's read about it and i think chat gpt
And LLMs are going to let people avoid doing that and make more progress, get further along without hitting that point. I do think there is something there, but it's interesting. Yeah, I think our generation is very self-aware of the phenomenon that you're
describing. The cursive phenomenon. Oh, this is going to impact you in the future or whatever or something like that. Like my generation, for example, saw the rise of cell phones and computers and a bunch of things. We have seen a lot of change in technology. And I think I have the same thought process. I try to be very careful. with that aspect is like say how I'm being the old guy that is saying like you should not be doing this because whatever and so on and so forth
I think there could be a percentage of that, but I really think there is something of truth in our thought process about these things. Silly thing. My son was complaining a couple of days ago that he had to do an essay, you know, and he had to write it by hand at the school.
And apparently they had to do this because some students have been using LLMs. So they want them to write this thing in school, right? Which kind of makes sense to me. So he was heavily complaining about that. And I was pushing him. I was telling him, like, hey, do you realize that the cognitive process...
of typing in a computer characters is very different than the cognitive process of getting a pen, you know, and writing in a piece of paper. And I don't know if this happens to you, Dan, but I benefit from taking a pen and writing in a piece of paper without...
worrying or without fighting with a screen and a keyboard i'm not saying one is better than the other i'm just saying that they are different and they give me different benefits this is not an old guy illusion by the way i would love to talk with that psychologist about this i do believe there is a difference in that
process. Doing these mind maps that I do, for example, in a computer is a painful process. I think truth is somewhere in the middle. I agree. You say the point that is very important. It's these things are going to let people go even further in the process of getting things done.
for realizing that there is a problem. Getting things done without thinking about the underlying details. Yeah, without understanding how things work and thinking on the understand details. And that's when I get them more in the mud when a problem happens.
Yeah. I've heard that same objection from some old guy saying why garbage collectors in languages were a bad idea because, oh, these kids, they're not going to know about how to manage their memory. And it's like, really? I think we're perfectly fine delegating all that.
¶ LLMs for Coding: Successes and Failures
for certain kinds of languages. So yeah, there's a gray area on both sides. Let's talk about LLMs actually coding. Because that's something I know you were experimenting with. This is one of those things where I have all kinds of thoughts on LLMs to generate English text or human readable text.
That's one whole thing. But in theory, LLMs should be, and they are sort of really good at writing code because writing code... is a language but it's a much more regular language with much stricter grammar rules than english and so therefore all of the code that's available out there for training these models in theory they could learn all of these rules and they do they do seem to be very
good at writing code because it's a much more constrained problem than just generating English text. So I'm curious about your experience. This is actually an area where I don't have much hands-on experience. I'm not doing a lot of coding except for helping people sort of with leak code and coding interviews. kind of stuff. So I haven't really tried to do anything hands-on with it. I'm curious your experience and what your thoughts are.
About lead code, I think LLMs are going to be really good at lead code for one single reason. It's because there is a lot of data for the specific lead code problems. And I think asking LLM about a lead code problem, I haven't done this experiment, by the way, but I really think they're going to have a high success rate.
which doesn't mean that they can code. As we have said, they're stochastic parrots, right? And if they have enough data, they can generate this thing. So I have opposite experience with this. Like I remember one of the first ones I had this piece of code, custom code, I wrote it from scratch.
some very funky hooks. And it was basically bread first search that was doing on a file system or something like that. And it had some particular hooks and some particular interesting things. And I remember being at 9pm at one night and thinking like, this thing doesn't work.
And I had this aha moment to say like, oh, it doesn't work. It's obvious because it's a breadth-free search and I really need a depth-free search here in this thing. There was meltdown, 9 p.m., whatever. I really wanted to see this thing running. I started, you know, like trying to switch this thing to depth-free search.
search, 9pm, meltdown, and I couldn't put one thing after the other. So I copy paste this function, it's one single function, I don't know, like 30 lines of code, maybe, and put it into the LLM and say like, hey, this is a breadth field search thing. And I want you to flip this to that first search. The thing is, spit out a piece of code.
I did not even think about it. Copy-pasted, put it there, ruined the thing, and the thing worked. And I was like, holy shit. All right. I'm going to take a look at this tomorrow because I'm sure there is some crap here. So the next day with fresh eyes, I... take a look at the code and start thinking about it. And it's like, honestly, I could not find any problem with that code. Like it's actually there, it's still working. So that was the first moment where I was like, wow.
Then I did a couple of examples writing some small Android games. Then I started like, hey, I want you to tell me how to write this iOS game in which you have a small ball, you know, in the center. And I think there were walls and you could move with a sensor that you just copy.
sensor of the phone you know you could move the ball and then I made some enemies show up and whatever so it took me like seven iterations and I think I had to fix only two small books across the process seven eight iterations before the LLM gave up by the way and I got this functional thing in iOS it was
very excited and then i tried to do something else and i got the actually opposite experience it failed miserably but miserably and started introducing a bunch of technical depth and this is one day after the other by the way this is the next week something like that It started getting technical depth, started going in circles, horribly. So there was a moment in which it was like, this is a waste of time.
I just have to jump in and just fix the code myself. It was struggling with the mathematics of things which is a very interesting thing. They struggle with reasoning and with mathematics. and i bet it's not telling you oh i'm struggling with this i bet it's very confidently saying here's the code and it's just wrong yeah and when you tap you point out the book like oh oh i'm sorry oh i couldn't see it here's the code that is fixed with the book and then
It's not working. And you say, it's not working. Oh, no, no. Yes, yes, yes. I'm sorry. This is the code. It's funny. Yeah, it is funny and also makes me mad. This is the kind of thing that I struggle to use it with. I get to this point where I kind of get this like...
¶ The Uncanny Valley of AI Interactions
you ever heard the term uncanny valley you familiar with that term no okay so it's a term that comes from computer generated imagery like computer generated animation cgi movies or whatever there's a point where if you're trying trying to do very cartoon-looking character, Toy Story, whatever. Those are not supposed to be realistic-looking characters, so they look great. Toy Story is an old-ass movie. I just watched that recently. It looks great.
If you try to do computer generated imagery and try to make it look photorealistic, like a real humans, there is this phenomenon where you look at it and it's not quite right. and it's called this uncanny valley it's something where you look at it and your human brain goes something's weird about that and it creeps you out it's a weird feeling and i get that feeling with lms when they're like falling all over themselves to apologize for oh i'm so sorry that i did that it's like
Fuck you. You're a robot. You don't feel emotions. I knew about that phenomenon that you described, but I did not know the name. And it's really, I agree, it's really weird. There is this moment in which the image, what you're seeing is close enough, but too close to reality, but not close enough. And it's like, it throws your brain off.
yeah yeah it's when you look at like the ai art and it looks really cool and then you know you see that the hand has like four fingers and they're welded together and it's like oh yeah no human artist would ever do it like that yeah the other thing that i have used to be honest and
in some cases it's good to learn like you ask hey how would you do this thing in react or something like that and it spits out something that is interesting like if you at that point go with a strategy of just copy paste and not understanding what is going on i think you are going the wrong direction But if you use this to try to understand more or less what's going on and if it doesn't work, try to fix it and put your effort, it could be a good tool to learn.
However, I have also find them failing miserable on this thing. Ask this thing to create a Spring Boot app with Outsie, whatever, something like that. And it's going to start creating a bunch of things that don't work. And it's going to start going in circle and adding technical depth.
Well, the thing you just described is basically what I do find. I'm realizing now that I probably only talked about the things where I hate it. And so I do want to talk about the things I find it useful. The things where I find it useful are when I am facing some kind of a like I'm.
¶ Effective Strategies for Using LLMs
stuck. I don't know where to go. I use it to investigate what are the possible different types of solutions to this kind of a problem. I'm looking to explore the breadth of a problem. I had a client a while back who...
who wanted to prepare for an interview. And it was outside, like most of my clients are software engineers. And this was a little bit outside of that, like an SDET or a data engineer or some kind of like a field that was slightly outside of software engineering, but similar. And I think I went to ChatGBT.
and I asked it to like put together a study plan for whatever role this was and it spit out a bunch of really basic stuff i had to remove stuff but looking at that first iteration its first try that was enough to jog my memory and to force me to go, oh yeah, this thing, I need to go look up this and go gather more information. It wasn't smart enough. And maybe, I guess I could have used it more effectively maybe to iterate on it. But for me, it was useful just in that initial step to like,
map out the problem space and give me some ideas of things to go research on my own. I don't like looking at it like it's intelligent. I don't like looking at it like I'm going to give it a problem and it's going to think about it and give me a solution. That's where I get that uncanny valley feeling. But in terms of like...
go scour all of the human knowledge, at least all the stuff that was published online that OpenAI could index, and synthesize that into some information that I can use to take and run with. that's a great use case for it. And that's where I'm finding it to be valuable. No, I agree. I have found value, for example, in throwing ideas at it and telling the LLM, like, hey, what am I missing?
Sometimes it throws interesting suggestions, things that I was really missing and not thinking about. But again, right, it's like you are using critical thinking behind the LLM to actually get the result. As you say, it's not this magic thing that's going to think for you. It's not going to replace the thought process. If people approach...
to these things as this magic thing that replace your thought process, which I see a lot of people try approaching this way, it's a problem. I have used it for, I was analyzing a contract four months ago or something like that. It was a complex contract. It's one of the silly HOA type of contracts and stuff.
like that and we needed to understand something and it was night i'm tired whatever so copy paste the contract and ask the llm like hey what happens if whatever and why then it gave me a nice explanation of what happens and why and pointed out to places in the contract so that's a very
useful summarization i think it's a great approach i suspect and have some ideas about this that i haven't executed but i suspect filtering content is going to be a great approach like we are bombarded with a huge of content where most of it is irrelevant and it's crap, right? But it's incredibly hard to differentiate what is important and what is not. And LLMs are not going to make this weather, by the way. They're actually going to make it worse. So actually filtering content is great.
Well, yeah, in that use case you just described, I think fundamentally is filtering content. The LLM didn't go and actually understand your contract as a lawyer would and then make up a scenario using its intelligent brain, make up a scenario.
that would cause those things in the contract to be triggered, probably it's doing a very advanced form of pattern matching to some content out there online that is a similar situation. An HOA contract and somebody violating it and somebody walking through what's going to happen.
And it's taking that, and again, this is magical. It's pretty cool how it works. But I think it's important for people to remember that it is doing this. It is pattern matching in a very complex way. It is not logically thinking about those steps and then reasoning to get to that answer.
No, again, it doesn't replace critical thinking. The LLM can tell you something about the contract, summarize something, but you better go and double check whatever is pointing at you because you may be wrong. And there are well documented cases of LLMs making up court cases and reference stuff like that.
than reference to papers, you know, scientific papers that don't exist. One thing that I have found is I'm going for my private pilot's license and there is a lot of regulations. There's huge books of regulations, the FAA, whatever. And sometimes finding things there is hard. So I have found that asking the LLM like, hey, what happened this or whatever? And in what sections of the regulations this thing is? And I would say 95%, 90% is true.
and it is correct, there is a 10% case in which it made up things. I normally use it like as a reference of to see what parts of the book go and see, and I double check. everything on my own because it's sometimes made up things. And then I go and I tell him like, hey, but in 91 point something and 91 point something, it doesn't say anything about that. And he says, oh, I'm sorry. Coming back to the call, oh, I'm sorry. I made a mistake, right? It's like.
You're right. 91 point something doesn't say anything about that. There was this great screenshot I saw, I think it was on Reddit or something. It was just recently of like Google's Gemini seems to be really bad at this of like authoritatively giving you really wrong and in some cases dangerous information. And it was like somebody asked Google.
and i like what is the towing capability of a ford fiesta which is you know a very small compact car and it's very confidently like the towing capability of a 2011 ford fiesta is between 15 000 and 20 000 pounds depending
the option you can tell like the text is basically talking about a one-ton truck or something like that but for whatever reason analyzing all that text and all the different towing guides that ford publishes or whatever it's managed to somehow cross its wires and think that this This tiny compact car can tow like twice what my F-150 can. It's like, no, that's going to get someone killed if they treat that. And the common sense is like, you tow nothing with a Fiesta. It's a kind of period, right?
so anyway that's a case where somebody's using the llm for the wrong if they're trying to get a quick answer for a safety critical question but if you're using it as a jumping off point for research if you're going to then click on that link and go look into the towing guide and then use some critical thinking that can be fine
¶ Societal Impact and Critical Thinking
I think one of my major fears with these things is that it's the potential to hurt that critical thinking of future generations. It will be very interesting to see. And we use critical thinking, by the way, for many things. We use critical thinking to solve daily life.
problems. We use critical thinking to don't let people scam us. I'm talking about common scammers. I'm talking about politicians, demagogues. I'm talking about everything. Sam Altman is scamming us all right now. Yeah, right? Like losing critical thinking. I think it's going backwards in society, not forward. So this is going to be interesting to see how do we compensate for those things in future generations. Yeah. I'm curious your thoughts on the implications for sort of society as a...
¶ AI Replacing Software Engineers: A Myth?
whole let's constrain ourselves so we don't ramble for hours here but let's talk about software engineering field specifically but this is one of those things that I don't worry too much about I sort of believe I don't know if this is supported by fact that there will be some natural checks and balances
against this. I'm thinking more along the lines of AI replacing software engineers. I don't stress too much about this because I see that the LLMs are not going to be able to do the actual logical reasoning. And because I believe that that's important, you know, fundamentally.
if you try to take a software engineer, a human being who has the reasoning skills and then replace them with an LLM. Yeah, there's going to be some kinds of code that you can generate really fast, very quickly, but there's going to be so many different aspects of the job that AI is not going to be able to do.
or not going to be able to do well, I think it's just not going to be possible. It's not going to fundamentally generate as much value as people think. This is the bubble aspect that I think we're in. Due to a combination of lack of investment in other areas, high...
interest rates, the job market for software engineers causing all this anxiety. There's all this feeling like we're on the cusp of being replaced. I think the state of the economy and the state of the job market is feeding into that. But I do think that aspect of the bubble will pop eventually.
Like I'm seeing, I think it was the Salesforce CEO was in the, or CTO was in the news for saying, we're not going to hire any more software engineers in 2025 because our AI is so smart and great. And it's like one, that person has a incentive to.
brag about their ai and so they're just saying stuff so their stock will go up two maybe their stock is going down because their product sucks and maybe that's the reason why they're not hiring anybody and then you go to their job openings and there are a bunch of openings right so it's a contradiction exactly exactly so
a bad job market it is uniquely bad worst in maybe the last 20 or 25 years i think it's worse than the 2008 2009 blip that we had at least for software engineers specifically but even given all of that i don't see any real direct evidence that companies are
are laying off software engineers and replacing them with AI. Companies are experimenting with AI. They're saying they're using AI. There's all kinds of buzz about that. Some companies are using AI. They're integrating it into their workflows. But I fundamentally don't believe that
the ways in which they're integrating it into their workflows are adding as much value as people are claiming. I just don't think it is. I'm not seeing any evidence that companies are avoiding hiring software engineers because their AI is so good. They may be working on AI and they may be also laying off software. engineers or not hiring for other macroeconomic reasons, but I don't think they're related.
¶ Economic Factors and Job Market Anxiety
I have gone through all the cycles of anxiety and predictions with this thing as everybody else. I went through the cycle of, I think we are doomed and there is not going to be jobs really for us in like two years. I had my moment. I did too, I'll be honest. Maybe a year and something going on. Then I went to the... you know what? Yeah, this is gonna be work. This is stupid. And I think it's settling into the point in which there is gonna be some impact.
I don't think it's going to be as massive as we think. There are a lot of stupidity also on the thought process. Like, for example, some people have said LLMs are going to replace the junior engineers. So we only need senior engineers to deal with this thing. And then the next question is like, oh, great. How are you?
to train the senior engineers are going to have to deal with this thing in 10 years it's a simple economic loop there yeah that's the natural checks and balance if there's no more senior engineers then you and i come out of retirement charge whatever the hell we want you know we'll be more expensive than an llm
I mean, there was this guy, which I don't know well, really, and I stepped into him in LinkedIn randomly. He actually has a platform that uses LLM to generate certain things, which is interesting. I haven't dived it too much. It's proprietary, so I'm not going to pay just to test it or whatever. But he was comparing this to the whole mainframe and cobble thing.
Like somewhere around the 90s, 2000s, and about at these dates, histories, whatever, COBOL was going down, mainframe was going down. So everybody was learning Java back then or a bunch of other things. Then, oh, you know, in 10 years, COBOL is not going to be there. In reality... There are companies today that still are on mainframes and cobbles, and they have not been able to get out of it. And knowing what I know, they will not be able to get out of them anytime soon.
there is very few people trying actually to deal with these things in coal and whatever and he was saying like these people can actually come and he would say they can check whatever the frail they want here's a blank check and whatever and he was arguing
that the new generation of people learning, becoming software engineers or whatever, they were getting so used to LLMs that they basically were not learning the fundamentals and they were not learning the skills they actually need to solve problems. And he was saying like,
That's fine. I'll take it, he was saying. Because like in five years or whatever, when nobody can go and fix this amount of technical debt or whatever, I'm going to be able to jump in and charge whatever the frail I want. And it was an interesting aha moment in which there is some truth to it. by the way.
These things generate technical depth at the same pace as humans, and I think maybe worse for what I have seen. Oh yeah, because of that problem that you described a few minutes ago. The LLM is using one pattern over here and another pattern over here, and you know, it can't reconcile those. And by the way, as part of the bubble, I think companies are going to go the stupid way too.
in putting this so much so early in their workflows that they are going to generate a bunch of fairly technical depth. I think it goes down to the eternal tension between product and engineering. I always advocate but great relationship between product and engineering.
That is my philosophy. That's what I build when I'm in a team, etc. But there is this cartoon type of meme or perspective in which these two things are antagonists. And then product is complaining about engineering that they don't understand them. Executives are complaining that engineering is too expensive.
They don't move fast enough and so on and so forth. And engineering is complaining about product not being clear enough or not giving them to clean up whatever and et cetera. There is this, which I think is absurd. We have to fix this. One of the important things we need to fix in teams is this type of stuff. But if you think these LLMs call a little bit executives and product to the worst part of this equation and say, like, what if I can't get rid of engineering?
and replace it with this thing. It's a dream. And I think that's going to fuel a lot of these things. Like, hey, I'm going to get rid of engineering. This LLM is going to code. Product people is just going to write whatever they want, and the LM is going to generate things. It's going to deploy. It's going to operate. It's going to define architecture. It's not. Yeah.
well this is all coming on the tail end of uh software engineer salaries increasing dramatically in like 2019 to 2021 or so on and all these memes coming out about all these super highly paid software engineers not doing anything and stuff like that right now
¶ Adapting and Thriving in the AI Era
we're in the context of just having gone through that. And so it's like executives are seeing dollar signs in their eyes. What if I could have the size of my engineering organization? So it kind of makes sense. And don't get me wrong. I think there's going to be an impact.
If you are... right now not incredibly skilled react developer they're not incredibly skilled just api developer that just writes apis and connect things to databases or that just writes some ux that calls apis you may see impact
There's going to be a surplus of people that is trained to do those things. And those are very clear patterns that can relatively easily probably be automated. They can relatively easily be automated today with OLLMs. It's the difference between putting a couple of really senior, well-knowledged engineers
you know, working in a project that is doing this, is creating UX, calling APIs, calling a database, or so on and so forth, versus a team that maybe doesn't have the best software engineering practices, right? These two teams, one is going to go faster than the other, and one is going to need more resources than the other.
patterns really well and knows how to establish them and how to do it already is going to go faster than the tip that maybe does have more people but they don't have the best practices. That may see an impact. Maybe I will say, like, hey, I want an application that has a React front-end, has a set of APIs. I want JWT, OAuth2, whatever. That's a different thing. That's a problem that we can solve with templates, if you think about it. You don't need an LLM to actually solve.
that problem and go fast. Throw this somewhere in the middle. What would we advise to someone like that? I'm trying to think of someone you just described, mid-level application developer, React developer, whatever. In my head, I'm kind of thinking someone like that, maybe looking at their value as I'm really deep in React and I'm an expert in like taking requirements and then figuring out how to build them in.
in react and i'm going to specialize in that maybe llms are kind of a wake-up call to say no you should look at your value not just in being able to stamp out react widgets but rather to do that part of critical thinking that the llm just can't do the llm is basically code
generation and templates and things like Project Lombok and stuff like that. It's all of that together on steroids. You're not going to be able to compete in terms of just like generating code that is a boilerplate kind of stuff. So make sure that you look at your own value as something beyond that. Your value is your human ability to talk to your stakeholders and understand what is really valuable to them. And then to use your technical knowledge to determine what that
means for your implementation. What matters? What is important? Does it make sense to structure it in one way or the other? And your value is being able to intelligently do that, not in stamping out React components or small scoped boilerplate widgets.
faster than the next person. If you are copy pasting APIs and changing arguments and creating a new table, if you are copy pasting UX and screens, you know, and changing them, I think you are in trouble. Again, I will go back to those two words, critical thinking.
How good are you to understanding your business, to understanding your customers, understanding requirements? How good are you at troubleshooting things that the LLMs will not be able to troubleshoot? How good are you at operating software? How good are you at making sure you have the right practices to actually do this?
type of things I think that's what I would advise to people yeah and i don't want to leave people with that thing you said with you're in trouble because to be honest i think most of the people that are going to be listening to this or most of the people that we encounter on a day-to-day basis are actually going to be fine there is a lot more anxiety around how
how LLMs are going to change our industry, then I think there are people who need that wake up call and who need to go. Like, I think most people are already there in terms of they're not just react component monkeys, just cranking out basic.
Most people are doing this already. And so I do want to make the point that if you're feeling intense anxiety about LLMs taking your job or the software engineering field being gone before you're done with your career, I don't believe those things are going to happen.
Yeah, I agree. And I think, you know, it's like cultivate yourself, keep growing, keep learning. That's a constant in this whole thing. Keep building your critical thinking, keep building your leadership, you know, aspects, etc. Being hopeful, that's what you can do.
¶ Imposter Syndrome and Learning to Use AI
Yeah, I'm going to foreshadow a little bit to another topic that we talked about, but we want to talk about imposter syndrome. I don't know if that's going to be our next topic, but it's going to be coming up at some point. And that intersects so much with this. There are a lot of people feeling... Because I did for a while. I think I've kind of grown out of this in terms of LLM specifically. For a while, I was feeling like I didn't want to dive in and understand them, but I was also scared.
Because I was scared of the implications. I think it's going to be really interesting to talk about that concept, imposter syndrome specifically. But I think people feel that feeling, that imposter syndrome feeling specifically around AI. And I think a lot of it is unwarranted. If I have to add another piece to this, I think one way even to deal with this impostor syndrome or whatever, you have to learn to use them. The cat is out of the bag. You have to learn to use them.
It's one of these things that you are with them or against them and you cannot win that battle. It's like fighting gravity. LLMs are here and they are going to become a force in the next 5, 10, 20 years. You need to manage to build those critical thinking skills and knowledge skills while at the same time leveraging those things to actually be more efficient and be better. There is no way around. Circles back to the comment that I made to my 15 year old.
You need to use them, but to use them properly, you need to learn to think and you need to learn to write first and then you can use them. It's funny. I'll tell you that when you were telling me that story, I remember I was thinking back to my own school career.
I hated writing with pen and paper. I'd write dramatically better when I'm on a computer because I have this mental block where if I'm on a computer, I know that if I type some text, I can go back before that and add some text and edit it and things like that. And whereas when I'm writing it down on paper,
I feel like I'm being forced to commit to a structure for three page persuasive essay or whatever. I'm like, I have to start the first paragraph and I have to stick with it unless I'm going to go write another draft. And it's like, man, that's going to be a lot of work. I'm not saying it's better or worse. Maybe that.
¶ Leveraging AI for Thought Organization
process is good for me to sit there and think about the structure of what I'm writing. You're right. Maybe that is valuable. Well, I'll share something that it's also related to LLM and to our AI.
a use case that I have for this. It's like what I found about writing is that I don't necessarily want to write the final document that I'm going to put together or whatever. So when I'm writing with a pen and paper, I'm not that worried about the structure. It's this stream of consciousness that is just flowing.
And sure, I will make mistakes. I will cross things. I will write things with the wrong syntax, typos, whatever. That's fine. I had the same thought process as you, and I went through a process of letting myself just flow. Not worry about that. I do a lot of, you know, mind maps etc but one use case that i have found and i'm still streamlining this that i have found a lens and a little bit of ai being extremely useful is that i can just talk or i can just write
And ideally if I can just talk and this thing translates speech to text. And I would spend like five minutes or four minutes or whatever just talking about an idea and throwing things and not worrying much about the structure and so on and so forth. And then you get the text because you have a speech.
text and then you throw this text to the LLM and you say like, what is a summary of this? What did I say? Can you itemize things? Can you extract the main ideas of this? And then it's incredibly useful for doing this and to help me organize my own thoughts. And then from
From there, I can now start organizing a structure and writing better and thinking better. That has been incredibly efficient. I still don't have a good workflow to actually record text to speech, but that has been really, really helpful. Because I think it's like...
I either write and focus on a structure and presentation, or I think. Those two things are opposites. And this frees you up so that you can just talk or type and not worry about the structure. And that's valuable. I free myself to ramble. Which comes back to the podcast, if you think about it. We are freeing ourselves to ramble and have conversations. And I hope most of the time we get amazing things.
All right, folks, this was a bit of a long episode. We've been excited about recording this. I hope you guys enjoyed. Remember, we are approaching from the perspective of we are not experts on this, actually, but we have seen a lot. of hypes, bubbles and technologies in the combined 35 years of experience. Please feel free to leave a comment or say hello and link it in and disagree with whatever we are saying. Agree, provide some type of fact of information and we'll be happy to chat.
yeah i think that was the one thing that we said when we decided let's go ahead and do an episode about gen ai we basically told ourselves okay but this isn't going to be the only episode this isn't going to be the last time we'll talk about this we're going to come to this topic many many times because i think we were putting pressure on ourselves to like talk about
everything, do everything in one. And no, this is the first try. And yeah, this was super interesting. I learned some things from you. Hopefully you learned some things from me. I'm also really interested to hear what our listeners have to say and what conversations kind of come out of this too.
yeah and hopefully we can bring someday some expert in ai and by expert i mean not those ones that switch from crypto to ai but somebody that really has solid knowledge on this and let's see what comes out from this As usual, Dan, it was amazing to have a conversation and see you on the next one. All right. See you. And that's it for this episode of bytes in balance. We hope you enjoyed our deep dive into the world of software engineering. Thanks for tuning in.
We would love to hear your thoughts, so don't hesitate to reach out. Connect with us on LinkedIn to continue the conversation or simply follow our updates. You'll find the links in the episode description. We aim to release at least one episode a month, but with our busy lives, it might vary. Subscribe to stay updated, and you might catch some surprise episodes when we're feeling extra chatty. If you are enjoying the show, please rate, review, and share.
with your friends and colleagues. It really helps us reach more people in the community. To learn more about the podcast, check out our website. The link is in the episode description. And if you're looking for more personalized guidance, we're available for mentoring through Mentor Cruise. And there's a link for that too.
That's all for now. Until next time, keep coding, stay sane, and remember, even when it feels like a total shit show, you got this. Thanks again for listening, and we'll catch you on the next episode. Thank you.
