How did AI change the way I work?
The things we need to focus on in this AI era
I have been working as a Software Developer for 5+ years now. This journey started way before that, during my college days, when I decided to become an entrepreneur. At that time creating software was not that easy, but still all I needed was some creative idea and consistent execution to build something useful. But it only needed my time and effort, nothing more than that.
My plan was that I could build some useful software without any significant capital and sell it to the people. Because the capital was the one thing I didn’t have privilege over, I started learning all kinds of programming languages and about computers from the first semester of my college. During my school days, I had very limited knowledge about computers or technology. So this was a whole new world for me.
It excited me a lot. I was like a monkey in a banana shop. I could not control myself from trying whatever I came across. I still remember a day in my first semester, when I spent a whole week creating a small calculator application using Python and woke up my friends in the middle of the night to show them what I had created. My friends used to make fun of that a lot of times.
Since then, I have been learning about software and computers in an unstructured manner. If you conduct a formal test or interview, I may not pass. But if you leave me in the middle of some unknown territory of software development problems, I am pretty sure I know how to navigate through that sea and reach the shore.
But since then, the software world has changed a lot. Once it took me a whole week to create a simple calculator using Python, which I could do in just 5 minutes using some AI tool now. This game has become more exciting. Now it is filled with more fun and competition. Today I can’t just create useful software and sell it to people for some money. So my plan for starting a company using software has become tougher than it was previously.
Now creating software has become so easy. But what I see is that people assume this is going to take away the jobs of software engineers. But this is the time we need skillful software engineers more than any other time in the history of software development. The majority of the software folks were spending most of their time either coding or programming rather than thinking about the actual engineering of software systems. But now coding or programming can easily be done using some AI agent. There are also downsides to this which we need to carefully consider.
Up until recently, I spent most of my time at work writing optimised and readable code. Already, with the help of code editors, a lot of syntax-related problems were taken care of. To achieve the above goal, concentration on the task played a key role. Problem-solving skills helped a lot to do something quickly.
But in recent days, most of my work goes like this:
- I need to either create a plan or give a structured prompt to the AI agent to create a plan.
- Verify the plan and make corrections so that the generated code will meet our end goals in a desired way, following software development principles. We can modify the plan to follow modular architecture, check the dependencies used, the security principles followed, documentation, tests, and other stuff.
- Execute the plan to generate code. In between, monitor the activities of the agent and give input wherever needed.
- After the execution, check the difference between the previous and current version of the code. Check whether the end goals and software principles that we desired have been achieved.
- Test this implementation end to end and commit this change. Then repeat this flow. I am not saying this covers all aspects of software development; there are a lot of other things like handling customer requirements, deployment, and many other nuances. But the above part was the most time-consuming task in the past, and it has been simplified a lot now. There are still times when I have to manually write a piece of code to fix a bug or to achieve a particular end goal. But day by day it is becoming less and less a part of my work.
In one way, this is actually very good news. Suddenly, software development became very cheap and more productive than previously. There are people building thousands of pieces of software overnight to solve people’s issues. Of course, it has made the software market more competitive than ever, and it is an inevitable part of the development.
But suddenly, one day I forced myself to write a piece of code without any AI assistant, and my mind went blank. It needed some time to think about where to start and what to do. I started thinking, is my mind becoming idiotic? Am I losing my problem-solving skills day by day? I only started using AI recently, but it has changed my way of thinking a lot. I started asking myself, where is this going? How should I keep my problem-solving or creative self intact in this AI era?
Looking back at history answers our question. Throughout history, we have invented a lot of technologies which created chaos at the beginning but later became more useful to us than we thought they would be. I think AI is a similar case.
Take an example: before motors were invented, we used to carry water on our shoulders. Before tractors were invented, we needed a lot of manual power and animal help to do farming. After the invention of these machines, we focused less on our physical strength and more on increasing our yield or simplifying our lives. Is this bad? No, not at all. But did we stop training ourselves to have basic strength? No, even today people go to the gym to train themselves to be strong.
Similarly, AI is helping us solve a lot of our day-to-day cognitive problems, either in the software industry or in any other field. AI has become the genie that solves our mundane problems that used to take hours of our time. So it is good only. We believe in and work so hard to develop science and technology to simplify our lives and make them better for everyone. In this way, software has become more easily accessible to everyone now.
But at the same time, as developers or problem solvers, we should keep on training our minds to improve our cognitive functionality. Other than being sentient beings, we are also cognitive beings. After all the machines, a lot of our physical labour has been reduced, but we still need to go to the gym to develop our strength for a better life.
Similarly, we need to train our minds on the cognitive aspect as well. We should use this huge productivity bump to focus on more useful problems or creative ideas and make people’s lives better, which includes our own lives.
For a software engineer, it would mean solving some problems on LeetCode or HackerRank occasionally, or taking up some unsolved mathematical problems and trying to solve them, or spending your time on other creative tasks which force your brain to think and activate those little neurons of yours.