Episode Transcript
[00:00:08] Anne Larson: Today we're talking to Mubashir Cheema, the CTO here at Corellian Software.
Welcome to On the Fringe.
[00:00:16] Cheema: Thank you for having me.
[00:00:18] Anne Larson: And of course, we just call you Cheema.
[00:00:21] Cheema: Yes.
[00:00:22] Anne Larson: Easy. What's that?
[00:00:24] Cheema: It's easier that way for everybody.
[00:00:27] Anne Larson: Yes, it is.
Today we're going to be talking about AI in general, going into some of your thoughts about it, and I'm curious to start with: what was your very first “this changes everything” moment with AI tools?
[00:00:45] Cheema: So being in the software development world, yeah, I got exposed to some of the earlier AI products from Microsoft.
They have this GitHub Copilot. I think they were one of the first ones. They had a beta version of it that we got to try out.
And yeah, I think early on, the promise was clear to anybody who was paying attention that this has the potential to change our industry significantly.
So, yeah, we got hooked fairly early on. We are a small business. We're not Google or anything like that. So what that means is that we benefit from better tools much more so than some of these larger businesses would. So we were more hungry. So, yeah, we jumped on that fairly early on and saw the promise and started using it. And of course, in the early days it was quite rough, and it has come a long way since then.
But yeah, I'm thinking maybe three years ago or so is when we got on the AI tool bandwagon. And I want to just go ahead and be clear about this. I view AI mostly as a tool. It enhances human capability.
Currently, that's where things are now. It augments humans and does not necessarily replace them. In some cases, it may replace people. But for our industry, for us, it's mostly augmenting and accelerating the work we do.
[00:02:30] Anne Larson: So what is the best use case for AI in your own work right now?
[00:02:36] Cheema: Yeah, the best use case is accelerating product development.
Really, for us, again, being a small company with limited resources, how can we get more done? There's always a lot more work to be done.
And so in that regard, AI has been welcome news for us.
It allows us to get a lot more done. Like I said, it enhances a good developer and their capabilities to get good work done.
Were you looking for anything in particular?
[00:03:16] Anne Larson: Well, so, I mean, can you be more specific? Do you have a specific example?
[00:03:19] Cheema: Yeah, I could delve deeper into this.
[00:03:24] Anne Larson: I mean, explain it for somebody who doesn't know. Just tell me a little bit more about, like, what does a software developer do? Or what did you do three years ago?
[00:03:33] Cheema: Yeah.
[00:03:33] Anne Larson: And then what do you do now? What is your job?
[00:03:36] Cheema: Oh, yeah. Certainly, that part has changed significantly. What we used to do as software devs was write code manually, one letter at a time.
If you're not familiar with software development, how programming languages work, it’s just a lot of cryptic words that we would put together that mean certain things, and it amounts to really complex mathematical equations to some people.
[00:04:08] Anne Larson: And I think what you've said in the past is that you kind of had to hold it all in your brain. Like, if you had to make a change to some of our code and it was a page with a thousand lines of code in it already, you needed to make a change, you kind of had to load it into your brain.
[00:04:23] Cheema: That's right.
[00:04:24] Anne Larson: Those thousand lines of code to understand what it's doing, what the logic is.
[00:04:29] Cheema: That's right.
[00:04:29] Anne Larson: That was three years ago.
[00:04:31] Cheema: Yeah. We would throw ourselves into the code.
If it's an existing code we're modifying, we'd read literally hundreds of lines of code, get an understanding of what it is trying to do and how we need to modify it to do something slightly different or add new capabilities.
But that has changed significantly. I think there are fewer and fewer people that do that sort of thing now.
What we are now able to do is we can ask an AI tool to go find the code, explain to us in plain English what it does, and then we can communicate back in natural language and ask it to make the changes we're looking for. And then it comes back and we can review the changes. A lot of people still review those changes in code format to make sure that AI tool did the right thing. And then you can ask it to run some tests against those changes as well, and then we can submit that for approval by other developers.
[00:05:31] Anne Larson: So you said something about the code being like a mathematical equation, but the way that we talk about it is that they're programming languages.
It sounds like, you know, still a natural language is a lot easier. Even if you know a language like C#.
[00:05:50] Cheema: Correct.
[00:05:51] Anne Larson: It's still not easy to read that necessarily. Or it's a little bit different than, even if you would consider yourself fluent in C#, you wouldn't just read it and be able to digest it in the same way that you would read and digest English.
[00:06:08] Cheema: Oh, yeah, for sure.
We all have, you know, some of us can speak multiple languages, but the very first one we learned probably we're the most fluent in. And same thing here as well. We as programmers can learn additional programming languages, but we'll never be as fluent in any of those languages as we are in the language that we've been speaking most of our lives, like English, etc.
[00:06:36] Anne Larson: Do you see it more as a language or more as a mathematical equation, or is it a combination?
[00:06:43] Cheema: Are you talking about programming languages? Yeah, I think it's more akin to — they call them programming languages, but they're really more akin to mathematical equations or mathematical language expression, a way to express your thoughts using mathematical equations. And there's certain limits to that sort of thing as well. These programming languages are not able to express everything that you can in plain English. They cannot express feelings, etc.
[00:07:15] Anne Larson: So we talked about best use case for AI in your own work, but I don't think we got the detail there.
Do you have an example?
[00:07:27] Cheema: Yeah.
It used to be that, for us particularly, we have a legacy application that is quite old at this time, and that's a very large code base, a lot of logic that's distributed around many, many different files and stored procedures, and some in database and some in just standard C# language in different files, literally hundreds, in some cases thousands of files.
So coming to grips with all of that and understanding what was going on and making changes to it was a process always fraught with issues, with problems, and so it had to be done with a lot of care.
But now with AI tools, we have the ability to understand the code base at a completely different level.
We can get the big picture of what a particular code base is trying to do, something we may not have touched for a very long time.
In my case, I may not have looked at a particular section of the application for a few years and may have forgotten a lot of the details. So I don't need to now go back in and read literally thousands of lines of code to figure out, okay, what was going on.
I can ask AI to summarize it for me. And that just kind of brings me up to speed on what the state of that particular code base is and what I need to do with it. In a lot of these cases, we are migrating a lot of our legacy applications. That was a process also fraught with issues and challenges as well.
And with AI tools, that process has become a lot faster as well.
It can look at the old code and say, hey, I can migrate it to this new code base like this, and it can create new architecture for you that you can review. You can provide some guidance.
A human still has to be in the loop. We provide guidance and then, based on our prompts, it can create a new solution that you can review and then test as well.
[00:09:38] Anne Larson: How has your prompting evolved?
[00:09:42] Cheema: Using AI, the part that I think I find surprising and many people don't fully understand is AI is a skill.
I have seen several cases where people use it just temporarily, briefly, and they do not get the results that they're expecting and they say, “Eh, it's no good.”
But it currently requires some knowledge and experience with AI tools for you to get good results.
The industry likes to say garbage in, garbage out. If you're not asking good questions, you don't understand the limitations of these AI tools.
It is difficult to get good results. So for me, my own journey has been that I started out where everybody else is and I initially did not get good results.
But once you experience it, you gain more experience, you understand what the limitations are, you start to get better at asking questions. And for us as developers, I think the most critical skill now is learning how to ask better questions and prompt AI tools better in what you want to do. You can't be very vague in what you are asking it to do because it fills in the gaps where you're not providing it correct information.
And a lot of times it will fill in the gaps with incorrect assumptions.
So anyway, yeah, for me it has been a journey. And of course, I don't like to think of myself as an expert, but I have come a long way. I've been using these tools for three-plus years.
So I am reasonably proficient in it now compared to where I was three years ago. But to anybody else who has not had a chance to try AI tools or who has been frustrated with them, just understand that that's the way it is. It takes time to get good at it. You just gotta keep at it. Like with most things, experience makes better.
[00:12:01] Anne Larson: Well, I want to say two things in response. One is that I think you've been not just using them, but really living and breathing AI tools and trying to figure out how to use them better for a long time. So I don't know if you wouldn't — you may not consider yourself an expert, but you're certainly leading. You're on the leading edge of using AI tools.
And the second thing is just a question. Do you think that the tools will get smarter so that prompting becomes easier? Like I sometimes have to ask it to say, ask me some clarifying questions. Don't just make assumptions, ask me clarifying questions.
[00:12:41] Cheema: Yeah.
[00:12:42] Anne Larson: But I'm hoping at some point it just says I need to know a little bit more before I can give you an answer. Here are some questions for you.
[00:12:51] Cheema: Yeah, I think your intuition is correct.
These tools will get smarter. And we have seen massive, massive improvement over the years since they've started. In fact, even the progress made in the last three to six months has been enormous. Unbelievable amount of progress has been made in the frontier labs. These are companies like OpenAI and Anthropic and Google.
These guys are releasing newer products, newer models, they call it, every couple of months or so that have really significantly moved the bar forward.
And the pace of development in the AI tool space has been shocking to many, including myself.
So the industry likes to say that the AI tools today are the worst they'll ever be. That means every day forward, they'll continue to get better. And that's exciting for some and scary for others. And for others it's a little bit of both. And I think I'm falling into that category where it's scary and exciting at the same time, the pace of development.
[00:14:18] Anne Larson: Well, yeah, and I think we'll get into that a little bit more later. Well, I think there is a lot of worry that people have about AI taking their jobs and specifically for developers, that AI is just going to replace developers.
But you said earlier that there still needs to be a human in the loop. Do you see a point where there is no human in the loop, or do you think there will always be a role for developers?
[00:14:42] Cheema: The way AI tools work right now, they're making guesses. A lot of times they've been trained on certain data on how we humans solve certain problems, and they look at every problem through that lens.
How did other humans solve this problem?
Those guesses are not always correct. Some problems are just unique, or some problems are such that AI hasn't been trained on it.
So that means that the results are never guaranteed.
But in a way, that's true for humans as well. Anytime I ask a coworker to do something, I have an expectation that there's this chance of failure. And to some degree, that's true for AI as well.
There is no perfection.
But I foresee that we will have a need for a human in the loop. We'll continue to have that for the foreseeable future.
Just because the AI models currently have a tendency to what we call hallucinate, which is they'll just make up stuff where there are gaps.
They have been getting better in that space. They have been getting more reliable.
But I don't necessarily see them becoming perfect anytime soon. There's a thing called AGI, artificial general intelligence, where a lot of these frontier models, again, Google, Anthropic and OpenAI, they believe that within five to 10 years we will achieve AGI, which roughly means that these AI tools will be just as capable as any human, if not better.
And all bets are off then as to what happens to all of us.
[00:16:43] Anne Larson: Well, okay, for the next three to five years, what skills do you think developers need now that maybe they didn't need before?
Or what becomes more important in development?
[00:16:58] Cheema: Yeah, so the software development world has a lot of developers that have coasted on certain skills that AI has rendered useless. I think those skills are mostly low-level programming skills and learning how to speak a certain computer programming language. And not necessarily — you don't need to understand the business, what it does and what the business needs, as long as somebody else does and that person comes to you and says, hey, move this knob this way or that way, and that's all you did.
I think that part AI can do really, really well.
So yeah, if you are coasting on that knowledge and experience and expertise, you need to level up. And all of us need to level up to where you understand the bigger picture of what the business needs, what your department needs, what your group needs, and how to accomplish that goal or task.
[00:18:07] Anne Larson: Yeah, so bigger problem-solving skills. I know a lot of programmers or developers kind of specialized in one part or another. They're front-end engineers, back-end engineers, or a certain language. They just did Ruby. They just did whatever.
And it just doesn't seem like, I mean especially the programming languages as we mentioned, AI tools are really good at interpretation, at translating.
So there's no need. It doesn't matter what tool you use, what language you speak, because it can translate so well.
[00:18:40] Cheema: Yeah, yeah.
Used to be we had certain programming languages that were more beginner-friendly and people entering the field would learn those first.
But now English is the main programming language for most people. We joke about that because it doesn't matter what language you know or you do not know, as long as you understand the basic principles of computer science and understand computer architecture, that's what you really need. And an ability to communicate clearly to the LLM, to the AI agents, your requirements and ability to judge their work as well. Because like I said earlier, they do make mistakes, they do hallucinate. If you have no ability to judge their work because you're not qualified for it, then yeah, that puts you at a disadvantage as well.
[00:19:42] Anne Larson: Well, one of the things you and I have talked about in the past is that that stereotypical developer, the kind of no interpersonal skills person — it's not all developers, but this is a stereotype of developers — that is probably not the person for development anymore. Even if you're communicating mostly with an LLM, you have to have communication skills.
[00:20:08] Cheema: That's correct. And not only that, your need to communicate with coworkers also goes up because we're all leveling up.
They say these days that all developers are now managers and the workers are really the AI agents. You have to explain to these workers what you need done in minute detail.
So yeah, anybody who does not have interpersonal skills is at a disadvantage and they no longer have the luxury to just be in a dark room and just be one with the computer. They really need to, like I said, have a better communication channel with the rest of the team so they can understand what the requirements are and why the team needs to do certain things so that they are able to then use these AI agents more efficiently.
[00:21:09] Anne Larson: So you mentioned AI agents, and we do hear the term agentic AI.
You spend a lot of your time building skills, I think, in agents. Can you just explain to people who maybe don't know the difference between, for instance, using a chat where it's just kind of conversational AI or using kind of like a smart Google versus what you are doing and building guardrails or other ways for us to not be adding a bunch of slop to our product?
[00:21:43] Cheema: That's right. So for many people, their experience with AI may be, like you said, a smart Google where they go into chatgpt.com and have a chat where you can ask questions. And based on its training data, it comes back with some answers, but it does not do anything for you. It just is responding to your questions and responding to your prompts.
That's where most things were until maybe about a year or so ago when these frontier labs started adding the capabilities for these chatbots or LLMs to be able to call tools. So when a chatbot is using tools, that means it can do things for you. It can create a new file or edit an Excel file, or it can send emails or it can go read emails. You can ask it to go to your Gmail or Outlook, whatever, or it can send messages — Teams messages or WhatsApp or Slack messages — and send SMS notifications and things like that. It can now go to certain websites and actually click around for you and do things for you.
That shift happened sometime last year and that's the new agentic era for AI, where it's not just having a conversation with you, but it can actually do things for you. And there are things like, I don't know if you have heard about these tools called OpenClaw and other tools like different Claude tools that can sit there and listen to requests from you via WhatsApp or SMS or iMessage or Teams messages where you can say, hey, do this for me. And as long as it has access to certain things, those messaging platforms, etc., or certain websites, it can go out and do the work for you and come back and report when it's completed. Or you can even say, do something periodically, weekly, daily, et cetera for me. And it can do a lot of that work as well. So yeah, this is the new agentic era and not everybody has experienced it yet.
I know that you have played around with it a little bit recently with OpenAI Codex product, and it's an exciting tool to ease some of the mundane work that you had to do and others as well.
So yeah, I am excited about the possibilities here and I would like for more people within our organization to understand how that works and adopt it so that they can farm out a lot of the boring work that they don't want to do and focus on the more exciting stuff where we as humans really shine. Because at the end of the day, AI really does not have capacity for creative new thinking. It can only do stuff that it's been trained on, and so that's our primary advantage. We need to brush up on the creative side of our human skills.
And also the other thing you talked about, the work we have been doing internally to provide guardrails to AI agents. Since AI agents now have this capability to actually do work, they have an ability to actually mess up more as well, as opposed to just telling you things.
They have a capacity to do good work. They have capacity to do bad work.
So how do you get them to stay in the lane and actually help you rather than slow you down?
So we have been developing what we call skills. So agent skills are a relatively new idea, new concept, where you provide some set of instructions to your AI agent, asking it to or telling it how to perform a certain type of work. For example, there are skills related to legal work or contract or agreement negotiations, etc., that provide some guidelines on how to go about doing certain work. For us developers, we have skills. I think in our environment we have maybe 40 or 50 skills that focus on certain areas. Like for UI development, we use certain libraries, certain technologies that are too new. The AI models go through a training period and they don't constantly learn. The training, for example, for a lot of the models we use is from last year, whereas the technologies we're working on are from last month.
So how do you bridge the gap so that AI agents know how to use these new tools? That's where skills come in. You teach them about these new things and how to go about using these new tools or things where the AI agent may be weak in. AI agents are generally very good with general knowledge.
They've read a lot of books, they've scoured the internet. They understand a lot of it, but they're not really experts in a very specific domain. For example, someone with a PhD in a particular subject is probably smarter than a standard AI model in that particular field. So this is where things like skills come in handy, where they just augment an AI's training with additional knowledge about a given topic.
[00:27:48] Anne Larson: Well, I think the way, at least the way I've used it too, is that you're helping it remember, so it doesn't have to redo the — like if it kind of goes through and learns something and it's like, okay, I tried this, it didn't work. Okay, I tried that, it did not work. Oh, I tried this, it did work. Rather than the next time having it have to go through that again, you can just say use the skill.
[00:28:08] Cheema: That's correct.
[00:28:09] Anne Larson: And it's like, oh, okay, now I know the best way to go, or at least the best way that I have saved in my memory. It's not necessarily the best way today. But you can always update them too. I mean, just ask it to update its own skill, which is nice.
[00:28:22] Cheema: Yeah. You've used skills in this case for reproducing a process that's repetitive. So that's one use case for it as well, where augmenting knowledge as well as reproducing certain steps. Both are good uses of skills.
[00:28:41] Anne Larson: And at least in the early days, I know you were setting up like — and this is maybe before true skills — but you were like, go and read this file where I put in all the mistakes that you made already.
[00:28:55] Cheema: Yeah, yeah, yeah.
[00:28:55] Anne Larson: So that you don't make them again.
[00:28:57] Cheema: That's correct. Yeah.
[00:28:58] Anne Larson: It's like an early skill.
[00:28:59] Cheema: Yeah. It can help you create skills it needs in the future as well. So a lot of times when I'm asking it to do some things and it's making a lot of mistakes, I can say, hey, you made a lot of mistakes.
Just create a skill so that you remember how to do this correctly next time. One of the limitations of the AI agents is they do not learn.
A lot of times when you start a new conversation, it's starting from a blank slate. It goes back to the training where it ended. For us, in many cases, that could be January of 2025.
So it just resets back to that.
And anything it did since then, it does not remember. So skills bridge that gap and it can refer back to that knowledge using skills. There is another thing also. OpenAI and some of the other tools allow some memory that can be reused with every conversation.
But we have to be careful about that because the more context you add with these memory files or project files, it has been shown and it's been proven that the LLMs or AI agents get dumber.
The more context they have, the more information they have to process.
So you just have to be careful with this context. You have to manage it and not let it grow too large. Otherwise, their responses are not as good.
[00:30:39] Anne Larson: That seems counterintuitive. You'd think that the more context they had, the better their answer would be.
[00:30:45] Cheema: Yeah. So in a way, it's like humans as well. If someone gave you a hundred books to read and said, there will be a quiz on this once you're done, and after you read those hundred books and you come in, your knowledge of everything in all those hundred books would be okay. But if you were given just one book to read, I think you would remember more because your brain will start to throw out information after a certain period, after you've read so much. And the AI agents do the exact same thing.
When they've been given too much to read, more than they can actually handle and process, they start to throw out information.
So, yeah, that's why their responses get dumber. And that's why internally, I encourage everybody to make sure that you're starting a new conversation and you're not asking AI to remember too much because they have limited capacities in that respect. Over time that will get better.
But currently it is a serious limitation.
[00:31:55] Anne Larson: Okay, I'm going to move on to adding AI to the software a little bit.
So when we're looking at this from a product perspective, I think there's a feeling that you have to, what we call, add sparkle. Add the sparkle to a product. So you just have to have that little AI sparkle. And then everybody thinks it's like, oh, it's a brand new thing.
But adding sparkle does not necessarily equate to a useful new feature.
So how do you try to figure out where to add true value to the product?
[00:32:37] Cheema: Yeah, we have discussed adding some smart AI capabilities within our own product, EPR Live.
And we are approaching this very carefully.
My personal experience with various tools over the years, I'm guessing that many people who are listening to this have used such tools before, where you have this helpful agent icon at the bottom, you click on it, you're supposed to be able to ask questions that it should know the answers to about that product that you're trying to use. Like, hey, how do I do this?
Certain products come to mind, but I should not name any names.
But a lot of times that experience is very frustrating.
This helpful tool or AI tool ends up wasting your time. It doesn't fully understand its own product.
And so we're hoping that we can build something a little bit better. Also, the technology has improved over the years. So these tools from yesteryear, they were trying to do something that was not easy to do.
So some of that was a predictable outcome.
But yeah, we are hoping that we can provide an experience where users — our product, out of necessity, is somewhat complex in certain ways.
It's not Google Maps. It's not super intuitive. We try to make it as easy to use as possible, but people, particularly new users, would have a lot of questions about the process, et cetera. So having a tool that can answer a lot of those questions and in some cases help you navigate, walk you through the process, I think would be very useful, would be very welcome by our user community. So we have been giving it a lot of thought and like I said, we're approaching this very carefully and cautiously. We'll release some beta products out to our users and gather feedback and tweak our approach as needed.
[00:34:50] Anne Larson: Do you ever worry because you are very comfortable with AI and you've used it a long time and developers just kind of have had to do that.
[00:35:00] Cheema: Yeah.
[00:35:00] Anne Larson: And you in particular have been excited about adopting it.
Do you ever worry that our users aren't that way inclined?
For the most part?
[00:35:13] Cheema: That is a legitimate worry, that the way I will ask questions will be very different from the way our users would do the prompting.
And this is where I think this beta phase will be helpful and informative, and we'll gather that feedback from our users, what's working, what's not working, and then adjust our approach accordingly.
[00:35:40] Anne Larson: How do you feel about software that has really taken on this sense that AI is the end-all, be-all? Where is the balance between just having an intuitive product and just depending on AI to drive people through it or guide people through? Where's the balance for you?
[00:36:06] Cheema: Having a good balance between a completely automated AI tool versus something where a human has control?
[00:36:17] Anne Larson: Yeah. Or just more intuitive. When you think about development now and developing a new feature, are you thinking, let’s just use AI, let’s just have our users use AI, versus let’s build it intuitively so that they don't need to ask the UI — sorry — so that they don't need to ask the sparkle, I'm calling it.
[00:36:44] Cheema: Yeah, yeah.
So for me as a developer, this is the most exciting time for me as a developer. I imagine not everybody's there, because in my job, and I think for some of our users as well, they may be in that space where there's a lot of mundane work that needs to be done that's super boring, is super repetitive, and it doesn't require a lot of creativity. For a developer, I have to remember certain commands, certain APIs work a certain way. There's no creativity, it's just memory. You have to remember how to do certain things. And even in our product, there's certain repetitive processes, manual processes that do not necessarily require creativity. You just have to remember to upload this this way, and the format and the cells have to be this way and that way. You're just adhering to certain rigid rules and structures. And that's the boring part that AI is very, very good at. So for me, it has been a revolution in that I can ask AI to do the parts I do not enjoy doing, I do not like doing, and I can focus on the creative aspect of how can I solve this problem in a better way.
Or how can I — we've always had a large set of problems to solve, so how can I solve a whole lot of additional problems as well while I'm at it? Because my capacity to implement solutions has accelerated.
And I think of our product in the same way as well, that our users — how can we enable them to do a lot more of the exciting stuff?
How can we increase the surface such that they don't worry about the mundane anymore, they're able to think at a higher level?
I think there are lots of exciting opportunities and exciting possibilities that would allow us to empower our users to do all of that.
I think they'll enjoy using our product more because of it.
[00:39:00] Anne Larson: Do you see that, like the AI sparkle — I am really, you can kind of tell, I'm not a huge fan of it. I see it as being very soon, it's just assumed. We don't have to add AI sparkle to everything.
And I tend to think that our users would prefer that. It doesn't have to be thrown in your face. Like, there's AI sparkle here, there's AI sparkle there. It should just be there. It should be when you upload a thing —
[00:39:33] Cheema: That's correct.
[00:39:34] Anne Larson: The system is smarter and it knows how to handle it. And then it's asking you questions or whatever. Like, it's handling the errors in a smarter way.
[00:39:37] Cheema: That's correct.
[00:39:40] Anne Larson: In the past, we had to try to think of every single possible exception, every single possible problem that could be in that file when it's uploaded and how to handle it. And now it shouldn't be — well, soon it shouldn't be anyway — that we can create that. That it just is handled.
[00:39:54] Cheema: That's exactly right.
[00:39:55] Anne Larson: And there's no AI sparkle required in terms of shoving it in people's faces.
I'm just curious how you think about that.
[00:40:09] Cheema: So, yeah, a couple of things. One is, yeah, you're exactly right.
AI is not a good fit for every problem.
Imagine if you're looking at a table and you need to sort a column.
You could currently just go click on the header and it will sort or resort it for you, that column. But if you were to use some prompting mechanism in the tool, say, hey, I would like to sort this column with this header. Can you do that? That's a much slower way to do this. Don't use AI for certain things. So AI is not a solution for everything.
But AI is a very good solution for certain types of problems. Like the example you gave of someone uploading a CSV file, comma-separated values.
A lot of our programs are deterministic in that when you give it data, it expects incoming data in a certain format. If you misspell a column name in that CSV, it will not know, because it's not thinking. It's just looking at existing hard-coded values. Column names must be business name or phone number or whatever.
And if it's called something else, instead of business name, it's called company name or whatever, it may not know how to handle it. But if you add an AI layer to it, it can say, oh, you meant business name and not company name or employer or organization. It can then do the translation of such data in a smart way. And then run that by you and say, hey, this data looks correct, but I'm assuming you meant this and this and this. So look at it and make sure that my assumptions are correct.
And if so, then we can still import your data without any problems, without you having to change anything. So you can think of it as like a magic import facility of some sort.
In the old days, we had wizards.
[00:42:10] Anne Larson: Wizards?
[00:42:11] Cheema: Yeah, wizards. So this is like a wizard in that it does most of the work for you, as opposed to wizards just asking you to do this work, but they guide you through several screens. But here that is simplified.
All that work is done for you, and you just look at it and say, yeah, that looks correct. And then you can even ask it to remember it. So the next time you upload that file in the format that you like, it will not even need to use the wizard. It will know, okay, yeah, this is something you approved last time. So that's the sort of thing that I think AI is very good at, and we certainly plan to use it for such workflows to simplify things.
[00:42:59] Anne Larson: I actually, in my head, the way I visualize AI is Clippy.
[00:43:06] Cheema: Yeah, Clippy was trying to be AI before AI and it failed miserably.
[00:43:14] Anne Larson: Yeah, but we love Clippy anyway.
[00:43:18] Cheema: Yeah, I love Clippy.
Would you like for Microsoft to bring Clippy back?
[00:43:24] Anne Larson: I would like Clippy to come back.
[00:43:27] Cheema: That's right.
[00:43:28] Anne Larson: I want to make sure that we're talking about everything you want to talk about.
[00:43:32] Cheema: When I was having that conversation with my AI tool, it made assumptions about what you wanted to talk about, which was industry impact. Like, what if somebody is listening to this? They may be like, hey, how am I impacted?
[00:43:50] Anne Larson: Well, they're all users of EPR Live, so that's how they're going to be impacted.
[00:43:54] Cheema: Yeah, they use it.
[00:43:56] Anne Larson: I mean, I don't know. I don't feel like we necessarily know that. We're not the ones to ask about it. They're getting a peek into our life more.
[00:44:02] Cheema: That's correct.
[00:44:03] Anne Larson: And what we do.
[00:44:04] Cheema: Yeah, we do not know what's happening in the data center world and how that data center expansion impacts their livelihood and businesses.
[00:44:15] Anne Larson: Yeah. I mean unless you've heard stuff about it in all your research and podcasts and et cetera.
[00:44:24] Cheema: That's something that I keep an eye on, and I saw in the news today there's a Utah-approved data center that's multiple times the size of Manhattan.
[00:44:36] Anne Larson: Wow.
[00:44:37] Cheema: One data center called Strata, and that's massive.
Which is interesting when you juxtapose such massive things and how technology is shrinking, carrying supercomputers in our pocket. Computing has been shrinking on one side, but on the other side it's been expanding such that we actually need these massive and giant data centers to power it all.
[00:45:15] Anne Larson: Well, yeah. Tell me more about it. What do you think about it?
[00:45:21] Cheema: It's currently in the news, the Strata data center in Utah, mostly because of the opposition from communities and how they’d be negatively impacted because of electricity rates as well as water usage, etc. But at the same time, it potentially brings some jobs as well to the area, and I'm guessing that's why the state legislators have approved such a thing.
[00:45:48] Anne Larson: Yeah. And I mean I'm curious about your perspective a little bit. Not because you're a developer, but because when you first came to the United States, you lived in Mississippi for a long time and that's a relatively rural state. There's not a lot of things there. But now these relatively rural areas are becoming the focus of these mega projects.
[00:46:13] Cheema: Yeah.
[00:46:14] Anne Larson: So do you have feelings or thoughts on that?
[00:46:18] Cheema: Yeah, I mean like with everything else, it's not super black and white.
There are upsides and there are downsides as well.
I know when I was living in Mississippi, they got some auto manufacturers to come in and build some factories as well.
And that was, I think, overall a positive thing for the community.
And perhaps that can be done with these data centers as well. But there are some legitimate complaints as well for data centers, like I mentioned earlier, about the electricity rates because in some cases the consumption of electricity is larger than the cities themselves when you're building such massive data centers. So you can't ignore the fact that such high utilization of power and energy has an impact on rates and that has an impact on users.
So as engineers ourselves, we've seen a lot of the impact ourselves.
I mean cost of memory, cost of computer products, prices of computer products have just skyrocketed. I think cost of memory has almost quadrupled.
[00:47:37] Anne Larson: Tell people what you mean by the price of memory because not everybody is going to know.
[00:47:42] Cheema: Yeah, yeah. These are components that go into a computer, and because of demand from data centers, AI data centers primarily, prices of these components have shot up because all computers require these components.
So you're competing with people, us as consumers or small business engineers, are now competing with these large frontier model companies that have almost unlimited budget. Some of these companies have spent, or they're almost a trillion dollars worth. Some of these are relatively new companies like OpenAI and Anthropic.
They have, it seems to me, like unlimited amount of money available to them to go do this. It's difficult to compete with that when we are going into the market and trying to procure some of these products for the work we need to do, and the regular consumer is feeling that pain as well.
So yeah, pros and cons with everything else. And these data centers have all of that as well.
[00:48:57] Anne Larson: Yeah, some of that to me, I mean I think one of the things that is so great about electricity — and you and I have both moved away from natural gas and gasoline and really embraced electricity as our mode of transportation, the way that we heat and cool our houses, all those things.
The beauty of electricity in my mind is that you can get it from lots of sources. You can generate it in lots of different ways. So what do you see the future of that? Like the water consumption, that's a problem to be solved. It's not like that's always going to be a problem. Hopefully we solve that problem. If that becomes the biggest pain point or electricity, if that's the biggest pain point, then how do we solve it? Do you have predictions?
[00:49:47] Cheema: Yeah, I should not predict anything.
Nobody knows what's going to happen. Particularly with the AI stuff. We do not know where that's going. But it does seem like directionally we are going into a future where electricity becomes even much bigger of the energy mix than it is today.
[00:50:10] Anne Larson: But I think, sorry, just to push back a little bit on predictions, and what you said earlier about human creativity. I equate creativity and problem solving to be very similar.
When things become the biggest problem, we do as a group tend to create solutions for it. Sometimes those cause other problems. But we are pretty good at being creative. That's one of our great skills as a human, as an animal, whatever kind of animal we are. That's one of the things that makes us human.
So do you have some hope that we solve those problems?
If you're not going to predict how we solve them, do you have faith that we will solve them?
[00:51:08] Cheema: Yeah, I am certainly putting all of my eggs in that basket that civilization will not break down and that we will figure out a way. Even if AGI arrives in the predicted timeline of five to 10 years and we have these machines that can do everything that we currently do, particularly those of us who have white collar jobs who just mostly work with technology and are not out in the field, we are at a greater risk. And there are just a lot of us. What happens when these machines can outthink us and do everything that we currently can do?
So yeah, I'm hoping that humanity comes together and finds some solutions. Different people have different ideas, things like universal basic income, et cetera. And maybe different groups try different things and we find a new way of moving forward.
It's possible that that's a better future. In Star Trek world, you do generally what you are interested in doing, what you have an aptitude for, what you're excited for. You don't necessarily do it for money. Maybe this helps us get to that future. There's also the possibility that that future does not arrive and we end up in a much worse place. But let's just all hope for a more positive outcome from all of this. That's where I'm putting all of my eggs in that basket.
[00:52:50] Anne Larson: Let's hope for the Star Trek future, for sure.
We are a Star Wars company, but that was a long time ago.
So we'll look to Star Trek for the future.
[00:53:04] Cheema: That's correct. Star Wars, yes. Fighting more, working jointly.
[00:53:10] Anne Larson: No Death Stars. We don't need any of that.
[00:53:12] Cheema: Fewer wars. More exploration and discovery.
[00:53:18] Anne Larson: So you kind of, for our company anyway, you were the one who brought in being AI-first. Internally, we talk about being an AI-first company.
What do you think that actually looks like?
Like, what does that mean to you? I think that could mean different things to different people.
[00:53:38] Cheema: Correct.
I am of the mindset that all of us should be using better tools.
If you look at all the other industries, people are always looking to improve the tools they use for their jobs.
People in the trades, you know, they're not using strictly just hammers to build the houses. They're using all the good tools available to them and they understand the value of better tools.
So for us, we are in the same business. These are our new tools. So I am always on the lookout for improving our workflows, improving our productivity, and using the best tool available for the job.
So when I look at AI tools, I think to myself, this is a much better tool that allows us to solve problems in an efficient manner. It does require training, experience and understanding of how it works and understanding of its limitations.
So, yeah, I've been a big proponent of that for that reason and asking everybody within the organization to just build some muscles for these new tools. There is a lot of fear also within the general community, not necessarily our company, of these new tools, because there is a fear that it could potentially replace our jobs.
So I don't necessarily worry about that at all, at least not within our organization. But I don't discount that, in certain fields, in certain industries, that's a very real possibility.
Sometimes AI gets blamed for a lot of layoffs where it doesn't really deserve it and it's being used as an excuse. But for certain jobs it's a real possibility, particularly transcribers and translators. That sort of thing I think will have a very negative impact. Even in our field, the junior devs, I think, are struggling as well.
But I think for a lot of these people, the solution is not to ignore AI tools. The solution is to develop better experience with AI tools so you can level up like everybody else. I think that will lead to better outcomes rather than pretending that this new tool does not exist and that everybody else is not using it. I think that will not lead to a good outcome.
[00:56:22] Anne Larson: So as a software developer, you have seen this not just even the AI revolution, but even before that. Like, when you had to build your first website, you were coding the HTML, right? But then at a certain point you stopped doing that. You had a tool, not an AI tool, but just a tool that kind of like, you can put in a line, you can make a little widget.
[00:56:50] Cheema: Yes, yes.
[00:56:52] Anne Larson: And even before that, we don't use punch cards anymore. There's so much that has evolved over time to make it easier, faster, better.
The tools have gotten better, the speed has gotten better.
You started your career selling modems that were dial-up modems. What was that first modem that you sold that you bought 12 of to fund your one modem?
[00:57:15] Cheema: Yep.
[00:57:17] Cheema: It was a Supra 2400 baud modem. Yeah.
[00:57:21] Anne Larson: And you were really excited about that modem, right?
[00:57:24] Cheema: Oh yeah, really excited. I was super excited about it. I did not have enough money to buy one. I think it was like $200. And I was a poor student. So yeah, I ended up connecting to a distributor who said, I can sell you 12 at a reduced price. And I somehow managed to buy 12. And that's how I justified buying one, because I made enough money selling the other ones. But yeah, as a student, I was selling modems.
And these are extremely slow by today's standards. Of course, now our internet connections are like a thousand times faster.
[00:57:59] Anne Larson: So you've seen this evolution way before AI.
[00:58:03] Cheema: Oh yeah.
[00:58:03] Anne Larson: That you are always having to up your skills.
[00:58:08] Cheema: Oh yeah.
[00:58:08] Anne Larson: Even decades ago, if you ran into a developer who was like, no, I learned this thing and that's all I'm going to learn, you're kind of toast. You're not going to do well.
[00:58:19] Cheema: That's correct. In this industry as developer, yeah. For us software developers, we do not have the luxury to say, yep, I finished my college degree. That was all the learning I had to do. I'm going to coast on that.
[00:58:35] Anne Larson: And to be fair, that's probably not true for any of us. We should all be trying to grow and learn. But software developers, it's just been very obvious from the beginning.
[00:58:45] Cheema: Yeah. And that has, to some degree — people joke about this — that currently our knowledge that we gain, particularly in the AI field, has an expiration date of about a month to two months maximum.
Because things are changing so rapidly.
None of us have been used to this.
But yeah, going back to your earlier point of things changing from the early days. Yes, in the early days, software development was literally entering zeros and ones into computers.
That's how initial programming was done, zeros and ones, because that's what computers understand. They understand binary.
But that then converted into, I think they upgraded to assembly language, which was a very, very cryptic language, if you can even call it that.
And then we converted to what we call lower-level languages like C. And then later, the level of abstraction kept going up where things became closer and closer and closer to just plain English language. And to many, including myself, this is a natural evolution, particularly for software developers, where we have reached this point where we can just talk to our computers in plain English. English is not a very precise language, so there are certain disadvantages to that as well.
But you can work around that by just being very verbose.
But yeah, I do think that to some degree you could predict that this is where we would end up, because we have been leveling up in abstraction levels over the decades.
[01:00:34] Anne Larson: Yeah. So developers should be somewhat used to this idea of constant evolution, changing faster and faster now, as you say. But this does not stay the same. We do not expect it to stay the same. We're always building new tools, we're always building better things. I mean, something like Facebook having to develop React.
Just because they were facing a usage amount that nobody had ever faced before.
[01:01:07] Cheema: That's correct.
[01:01:08] Anne Larson: So they had to create something for themselves. Now everybody uses it. That's like the default front end. But that wasn't before Facebook created it and then everybody else adopted it.
So I guess what I'm trying to get at is what is your advice then for the rest of us who haven't had to deal with that, who haven't been in jobs that are constantly evolving? We may want to evolve ourselves, we might want to grow or learn, but you've been forced to for so long.
What can we learn from software developers?
[01:01:40] Cheema: Yeah.
So people in other industries outside of software development are not as worse off yet. The knowledge you're gaining on a regular basis does not have a month or two month expiration date on it.
But I think my advice, based on my experience with AI tools, is again that you cannot ignore this phenomenon. You cannot sit back because that will put you at a disadvantage compared to everybody else who is adopting it.
They will leapfrog you if you do not build the right experiences, the right muscles for this new tool. It's a phenomenon and unfortunately there is no avoiding it.
So, yeah, adopt it. Learn to live with it and learn to love it. That's the only way to thrive in this, I think, in this coming age.
[01:02:41] Anne Larson: If somebody listening to this right now wanted to start integrating AI into their work tomorrow, where would you suggest they begin?
[01:02:52] Cheema: So the frontier labs have good tools that have become a lot easier to use.
[01:03:02] Anne Larson: And by frontier labs you mean OpenAI?
[01:03:04] Cheema: OpenAI, Anthropic and Google.
Google has fallen behind a little bit, but every now and then they come in and catch up.
But both Anthropic and OpenAI have tools like Codex from OpenAI that you can install on your computer, which is very different from ChatGPT. As I mentioned earlier, ChatGPT is not agentic. It can't look at files, it can't do things as much for you. It can do certain things. It can reach out to websites and sometimes if you configure it with connectors, I think they call it, it can reach out to your email, but it can't do things on your computer. So, yeah, I would say start with something like Codex from OpenAI as opposed to just using ChatGPT and get it to do some simple things. Start with mundane things you do not enjoy doing.
And then build on that, expand on that and build some skills.
[01:04:08] Anne Larson: Yeah, yeah. I'm a big fan of — I haven't done it in a while, so I probably should now that we're using these tools more — kind of auditing your time, writing down for a few days or a week what you're spending time on. It's kind of tedious, but then looking at it and you might see some things there that an AI tool could do.
So typically when you look at it, kind of prior to AI, but I think it still holds true, is that you look at what you want to delegate, what you want to get rid of, where you're investing in yourself — you want to make sure that you're doing investment — and then what's actually truly productive. So the DRIP method, those four things. And now we have this tool that we don't have to delegate it. Those delegation tasks don't have to be to a person, they could be to an AI tool.
[01:05:03] Cheema: Yeah, yeah.
[01:05:05] Anne Larson: Which is sometimes easier and better. Sometimes it's even boring for another person to do it.
[01:05:09] Cheema: That's correct.
[01:05:10] Anne Larson: So have an AI tool, just try it and see if you like it, if it's good enough. Or ask another person, if you have some staff, you could ask them to do it and have them learn how to train the AI tool to do it for you.
[01:05:25] Cheema: Yeah.
[01:05:26] Anne Larson: Good learning experience.
[01:05:28] Cheema: I think that's a good idea. For the longest time I've been jealous of people who have personal assistants.
I sometimes wish that I had one that helped me throughout the day with work-related tasks, even personal tasks, and that was not possible. But I think with the advent of AI tools I can get pretty close. We briefly touched on this yesterday in a different conversation where we could teach an AI agent about some of our requirements. Like you said, if you're journaling things and ask it to help us plan our day and then just kind of keep us on a — I guess build some guardrails around it for someone like me who needs it — and help us get the work we need to get done on time. So I'm excited about that possibility and future as well, where I have somebody I can brainstorm with at any time that is convenient for me.
So I think that's an exciting possibility.
[01:06:41] Anne Larson: Thank you for being on On the Fringe.
[01:06:43] Cheema: Well, thank you for having me. It was a pleasure.
[01:06:46] Anne Larson: Excellent.