Commit No Bug
Published on

Beyond the Hype: My Thoughtful Approach to Using LLMs to Develop Software

Authors
  • avatar
    Name
    nikUnique
    Twitter
An image on which we can see a human with a notebook

Intro

First of all, I am not an expert in large language models. What I will discuss here is my opinion based on my experience with LLMs.

We already had LLMs for quite some time. I personally use LLMs quite regularly. No surprise here. I will talk about use cases where I find LLMs particularly useful. And about times when you do not want to overuse them.

Static Assets: Images and Icons

Here, LLMs shine. Images are often needed. Before we had LLMs, we had to search for images on dedicated platforms or in other places. But one can become proficient in finding relevant images; an image search is a skill in itself. Of course, if you are ready to pay for images, it will be easier and quicker find more relevant ones. With LLMs, we can describe the image and probably get what we want, or at least after a couple of tries. I'm not an expert in image generation by AI, but from what I have heard, it is decent nowadays. In my case, it helps me to generate images for my blog posts. I find the image generation in duck.ai to be quite good. I didn't try to generate complex images, just simple ones.

I find it helpful when an LLM can give you an emoji based on your description. When I need an icon, I can describe the icon I want. I can also point an LLM to the icon library I want the icon to be from, and it will likely give it to me.

Explanations

LLMs are useful when you need to know something quickly. You can just ask it and get an answer. But this may be dangerous too. LLMs have the tendency to hallucinate and give you the wrong information. So, be cautious when asking it for something.

Build Something Quickly

This part is cool because there is some stuff that you may want to build, but for which you are not ready to spend your time. Sometimes, you do not care about the quality of the code an LLM gives you, as long as it produces something that works as you want. You can try out a lot of different stuff really quickly. Definitely, it is an advantage.

Do Routine Tasks

You can ask it to write boilerplate code, standard algorithms, and code snippets. LLMs are good at generating different kinds of schemes and project structures. It can help to refactor code.

Where Overusing LLMs Can Hurt

LLMs can definitely do a lot of amazing stuff, and I talked about only a small part of it. But if you overuse it, it may be costly. In what? Primarily in your skills. As it is said: "If you do not use it, you lose it". It is so tempting to prompt it to write code here and there, but it may result in "spaghetti" code. Also, you can just quickly read the code, accept it, and start doing the next thing. This way, because you didn't really write the code, your understanding of it may be shallow. Or you may not even understand all of it, which leads you to bugs. Bugs can happen in a lot of circumstances, but if it is not you who wrote the code, the chances that you introduced a new bug will increase for sure.

Here you have it! This is my overview of where LLMs are useful, and where they may hurt you if you are overly reliant on them.

Got questions? Send an email to commitnobug@outlook.com.