It’s not the first time I’ve thought about the tool that can assist my everyday work. Like it’s automating the code completion or providing me with boilerplates or completely providing me the solution. The fact that I have already had quite a few issues with the AI agent recently. I was using Cursor and GitHub Copilot (on different projects), but if I ever abuse it too much (like accept all the changes it provides without reviewing), I will lose control of my knowledge of the source code. Basically, if I am able to understand every line of code it provide and what it does, then it will be OK, AI is really helpful in assisting me with code refactoring, building a small code logic (like string manipulation, creating new APIs or certain automation scripts for data collection, or boilerplate a CI pipeline configurations file). But in order for me to really make use of an AI agent, it’s all about knowing how to create a working software and an architect mindset. What I mean by an architect mindset is basically knowing all the steps, or at least knowing how to discover the steps, to build a working software. The software must not just be functional but also maintainable. I have been interacting with millions of lines of code to really know how important it is to create clean code: a code that is readable by any human (of course software engineer to be specific).
AI is not a trend but more like a must-have in today’s world. It not only boosts productivity but also lifts people from repetitive, boring jobs and focuses more on creative work. Like, think of a new product or solving real-world problems. You look at the street or look at your daily routine, how many things are automated? For example, I still need a human to give me a ride home (a motorbike does not automate itself), does this mean this can be automated, right? because humans are still doing it. For my engineering tasks, things like writing an API can be automated but for more complex problem like create a multi stage pipeline in different kubernetes clusters for microservices, it requires a lot more contexts, not just creating the YAML file (which is definition of pipelines) but also need to understand what are the dependencies of the applications for it running smoothly (with HA and DR and security compliance) too.
But my problem in today’s work is not really about using AI to automate source code creation or write a specific function. But knowing how to use it effectively, and 2nd, how to obtain knowledge of a new tool or (business) domain as quick as possible. For example, once I join a data project, I might need to know more tools like GraphQL, Snowflake, Glue and EMR, DBT, Kafka, etc. And if I join a DevSecOps team, I might need to know about Opentelemetry, Coroot, Zabbix, Datadog, Prometheus / Grafana, New Relic, and so on. If I join a fintech, I must know certain financial business flow, or if I join an automotive or logistics software team, I also must understand some of their data and how their business works. What I really mean is, AI cannot replace humans in understanding the real-world problems and understanding the tools we need to use to solve them. So I believe AI (like GPT or Gemini) does provide us with faster information and gives us some references or guidelines for us to start on our own, like studying a business domain or studying a new tool.
But overall, as much as the benefits of AI agents provide, let’s take advantage of them so they can help us with repetitive work. But nonetheless, it cannot replace us in learning new things or being creative, meaning that we still need to work really hard to be productive in today’s world.