Skip to content

The Power of Laziness for Software Development with AI

Posted on:September 8, 2023 at 01:00 PM

I strongly believe that the most important trait that can lead to unexpected and ground-breaking innovation is quite simply — laziness. Not laziness in the form of unproductiveness or lackadaisical attitudes, but laziness in the form of a desire to simplify complex tasks, eliminate redundancies, and automate repetitive processes. This scenario isn’t limited to industry or subject, in fact, it’s very evident in the realm of software development.

When a software developer is smart and ‘lazy’, they invariably find ways to make her workflow more efficient and to automate laborious sections of her work. Interestingly, there are certain tasks in software development that are typically considered tedious and are therefore not highly valued. Prime examples of these include generating dummy data for test and pre-production environments, and writing tests.

Let’s take a closer look at the first instance. In my opinion, the creation and management of demo data, also known as ‘fixtures’, is crucial when building something new. Without realistic data, or data that closely mirrors real-world scenarios, it becomes almost impossible to accurately evaluate the viability and functionality of your product.

That’s where the issues arise. Working with dummy or fabricated data does not allow you to properly assess crucial elements such as design, user experience, validation rules, consistency, and so much more. The impact is far-reaching. However, the generation of quality fixtures is a time-consuming endeavour. It’s rare to come across a developer who’s willing to invest the required time and effort to do it well. Moreover, it’s really boring…

That’s where Large Language Models come to the rescue. My personal experience with using them has been amazing within the context of this article. I used an LLM to generate real-world fixtures for a pet project I was working on and the results were amazing. All I had to do was layout the structure of my data along with some comments and specify the required format. LLM took care of the rest, saving me hours of work.

Did it require some adjustments? Yes, about 5-10 minutes of tweaking, verifying relationships between data, things of that nature. But the overall output was undoubtedly impressive. Plus, I have saved the conversation. Hence, I was able to adjust my fixtures almost automatically when I’ve applied some changes to the project.

This brings me back to my original point - laziness. If you find yourself in a tricky situation, requiring repetitive and unstimulating tasks, be ‘lazy’. Think out of the box. Utilise the power of LLMs that are available in the current age and you might be amazed by what you can achieve.