Looking Back on 2024 — The Exponential Growth of AI and the Future of Software Development
Before I knew it, 2024 was drawing to a close. This year brought many lessons and prompted various transformations in my life, but even more than that, it heralded a major turning point driven by the exponential growth of AI.
I first encountered a form of AI (machine learning) back in 2020 when I was briefly involved with a tool for creating training data as part of a startup project utilizing AI. Later, in 2022, Stable Diffusion started trending, and that prompted me to explore generative AI. By 2023, I had started using AI tools (GitHub Copilot) to support my day-to-day software development work. Honestly, even last year the pace of AI’s progress was astounding, but this year it has surpassed that level, clearly indicating exponential development and sparking thoughts of future transformations.
In addition, I switched jobs after nearly three years, gained various insights from that change, learned a new programming language for the first time in years, and began thinking about the future thanks to those experiences. It was quite a year of change and growth, so I decided to reflect on it.
New Insights on AI Utilization
Looking back at my personal journey this year, the most significant change was my decision to move to a new workplace. The detailed reasons for this are explained in another article,[1] but in short, I felt I had reached the limit of what I could learn in my former job, and saw minimal further growth if I stayed.
I’ve now been working in this new environment for six months, facing various challenges. This project involves development from 0 to 1, large-scale system migration, and a project without a dedicated project manager. All these elements have already given me a taste of numerous tough scenarios. Moreover, the fact that I’m using a programming language (Go) for the first time has led to new insights regarding AI utilization.
Although I had been using LLM-based AI technologies like ChatGPT since 2023 for small tasks (e.g., learning languages, translating articles, summarizing long texts), I felt at the time that hallucinations (the phenomenon where AI generates content not based on facts) and the overall output from AI still lacked enough reliability for me to use it as a main driver. However, as soon as GPT-4 and Claude 3.5 Sonnet were released, I felt the answers became more accurate for intermediate-level questions. Motivated by my experience with Claude 3.5 Sonnet, I started paying \$20 per month for Anthropic’s paid plan.
A few years ago, if I needed to learn a new programming language, I probably would have relied on books or online courses. But this year, partly because I was already paying for Anthropic, I took a different approach. I started asking AI questions in addition to doing my usual Google searches. Having a mentor to consult whenever you’re stuck is extremely convenient, but in reality, finding someone with available time can be difficult. AI, on the other hand, is available anytime you want to ask a question. Hence, I used AI as my mentor. Initially, it was restricted to learning new things, but as I realized how useful it was, I gradually began to use it for a variety of fields.
Using AI as a mentor certainly improved my learning efficiency and productivity. Even more importantly, it made me think about AI’s potential at this point in time. AI technologies like ChatGPT aren’t just chatbots— they can be used in real-world scenarios. Some people still think of ChatGPT as just a chatbot, and I can’t entirely blame them if they haven’t had a chance to use it effectively. Up until last year, I also felt AI wasn’t quite satisfactory. Of course, current AI is not perfect and still has issues like hallucinations. But these problems are improving year by year.
AI-Driven Development
Realizing that AI could be productively leveraged as a mentor, I took steps to utilize it even further, beginning what might be called “AI-driven development.” This means relying on AI as the main engine, rather than merely as a supporting tool. Humans take on complementary roles like debugging, clarifying requirements, and reviewing, while AI handles most of the primary tasks of implementation and design. This effort is still experimental, and I’m collecting knowledge and insights as I go.
Surprisingly, under certain conditions, this AI-driven development approach has worked better than expected. For instance, the repository—a script to batch-upload numerous photos to Google Cloud Storage—was entirely generated by AI.[2] I simply clarified requirements and debugged, and was able to produce a working solution:
However, the “certain conditions” aspect remains challenging. I’ve noticed that the more context you need to share with AI, the harder it becomes to maintain control. For a simple, single-file script, it’s easy to share the entire context, but dealing with 100+ files is more complex. Also, when the work is split across multiple sessions, it becomes difficult to share context consistently across them. One method to address this is summarizing the content of multiple files into a single JSON or YAML file, but I’m still experimenting with it.
Despite these challenges, the field is advancing in real time. For example, where I once had to copy and paste AI-generated code, Anthropic has now introduced the Model Context Protocol, enabling direct updates to local files. I suspect that next year, we’ll be able to utilize this technology even more effectively.
The Future of Software Development
As noted above, the exponential advances of LLM-based AI like ChatGPT have already begun to change our approaches to learning and work. This can be good, but also bad, and it certainly complicates predictions for the future. News from the United States is already reporting instances of people losing jobs to AI,[3] and I don’t think this is something that only affects other countries.
Because AI is still software and there remains a strong demand for digitalization, software engineers are likely to remain in demand for the foreseeable future. However, if AI continues to evolve exponentially and becomes capable of self-learning and harnessing its own capabilities, it’s not inconceivable that even highly skilled software engineers may someday be out of work.
In other words, I believe the time has passed when we could be optimistic about the long-term prospects of software engineering as a career. This may not be limited to software engineers— it could apply to many professions. We need to keep asking ourselves recursively how we will live in the world that is rapidly emerging.
Ultimately, the future is always the hardest thing to predict, and I certainly don’t have all the answers. But for me personally, I feel the insights I gained this year need to be applied to how I live in the years to come.
Conclusion
I initially set out to write a retrospective of this year, but I ended up talking mostly about AI. In any case, this year was one of major changes, notably in how I interact with AI. Next year, I hope to adapt even more, incorporating all these insights into how I live and work.