Growing up, I had a strong interest in computers and software. I considered a career in software engineering before ultimately opting for electronics engineering, and to this day I’m not sure I made the right choice. Regardless, I gained enough exporsure to coding in school that I was able to continue learning new skills on a self-directed path. This was driven primarily by my interest in completing personal projects, like a personal dashboard app or a Raspberry-Pi based automatic cat feeder, and secondarily by professional needs like writing tests or scripts to accomplish repetitive tasks. These experiences helped shape my career in developer-facing roles, like API Support or Product Management, but also kept my interest in software development alive.
Unfortunately, over the years, while I’ve continued to write code to solve problems professionally, I’ve struggled to keep up with hobbyist coding. This is partly due to increased responsibilities, both personally and professionally, reducing the amount of free time available for side projects, but it’s also partly due to the increased complexity of starting a new project. Even a small project now requires myriad libraries, which all take time to understand and stay up to date on, and hosting a project can often require hours of configuration and troubleshooting. On top of this, there have been advances in testing strategies, deployment techniques, and security practices that all require some investment of time to properly utilize. For me, all of the peripheral work has discouraged me from pushing forward with many side projects. When there is so little time available, how can I justify spending it reading about how to configure a database in AWS to store some values, only to have to relearn it all months later when I need to troubleshoot something or add a feature?
This has all changed with generative AI becoming widely available. By leveraging tools like ChatGPT, it’s now possible to bypass tedious and complex configurations and troubleshooting steps that used to eat up a lot of my time. I can quickly take an idea to a proof of concept within a matter of minutes. Now, when I have an idea for a simple script or small project, I can turn to ChatGPT to not only recommend how I might approach solving the problem, including which libraries to use, but to also kickstart the development process by generating functioning code. When it’s time to deploy the solution, again I can turn to generative AI to walk me through the process of configuring the necessary infrastructure. This saves me time and frustration of learning complex setups for platforms I may only use once. On top of this, things like improved security measures, which I may have previously avoided due to complexity, have become much easier to implement.
Some may argue that by using generative AI, I’m not truly coding, so it’s inaccurate to claim that my love of coding has been reignited. This misses the point of what I actually loved about coding in the first place. From the very first programming class I took in high school, my interest was in solving problems with computers. It doesn’t matter if 100% of the code was typed myself, or 50%, or 0%. The process of identifying a problem, finding a solution, and applying it in everyday life is what I love doing. The tools that I use to solve the problem don’t take away from the finished product, nor does it diminish the enjoyment I feel when solving a problem.
While the introduction of generative AI has reignited a spark in me, it has left some concerned about the future of the software development industry. Some of the concerns are valid, as the industry will undoubtedly adapt and adjust, but I see generative AI as a tool that will serve the industry in the same way it has serve my hobbyist endeavours: as a productivity enhancer. It allows developer to concentrate on core issue, rather than getting bogged down with side issues.
The most important thing to remember is that tools like generative AI are designed to augment our productivity and creativity, not replace them. By embracing these tools, we can push the boundaries of our potential, turning ideas into reality with greater efficiency and creativity. Just as I experienced in my hobbyist coding, Generative AI allows us to focus on problem-solving while reducing the overhead required to reach the solution. This is what excites me the most about generative AI. As we collectively increase our productivity, we will continue to innovate and push the boundaries of what is possible.
As I look back on my journey, I realize that my interest in coding has always been driven by a passion for solving problems, overcoming challenges, and creating solutions that have a tangible impact. Generative AI, in this sense, feels like a natural progression in the evolution of coding. It’s a tool that allows us to stay focused on the creative aspects of problem solving, while it handles the more mundane and repetitive tasks. It lowers the barrier to entry, allowing more people to participate in the practice of solving problems with computers. This natural progression has helped keep my passion for coding alive and gives me hope about the future, where creativity and efficiency go hand in hand.