I'm going to start a new series of articles on how I'm using AI to develop software or solve technical problems.
The articles will follow this structure:
- Problem
- Execution
- Results
- Lessons and findings
In this article, I don't want to delve into ethical, environmental, or political-economic considerations regarding AI, but rather into my experience as a developer. Opinions and studies on the impact of AI on software developers' productivity vary widely. Some say it can multiply productivity, others that while it may seem to improve it, it actually decreases it. After these months of personal experience, I'm inclined to think that they are especially effective for those with deep technical knowledge.
I got my first computer at age 5 (almost 40 years ago now!), which is when I started learning computer science and programming. I've been using GNU/Linux since 1998. I completed my higher education in Software Engineering. I've worked as a software engineer for 15 years. And with AI, I feel 10 times more productive.
Note that I say “I feel”, because I don't have objective metrics to say just how much more productive I actually am. Studies suggest that the improvement is around 20%, but statistics are usually based on large projects and companies with complex workflows, which isn't the case for me. When working on new or small projects, I think AIs are very efficient. In my case, there's no doubt that these projects wouldn't be a reality if I didn't have the help of AIs.
My main problem in recent years has been time.
Time to learn something new.
Time to devote hours to a single task.
There are too many things to do, and I'm too busy with life to do it all.
I think this is a common experience, especially among parents.
That's why my ideas would sit for years as TODO items in my notes. Now I'm getting into a routine where I glance at that list, pick one item, and successfully complete it in minutes or hours, in spare moments over the weekend. This is what I plan to document in this series of articles.
Having said all that, I don't want to ignore the voices warning of the negative effects of the use (or abuse) of AI. Personally, I hope it doesn't affect me negatively, because I use it relatively little, but I'll try to be introspective about my mental well-being.
I also read about many programmers who hate AI, to the point of quitting their careers, because what they enjoy is writing the code themselves. I feel their pain when they have jobs where they're forced to use AI and are pressured to produce more and faster. Their day-to-day has changed rapidly, and whereas they used to spend most of their time writing code, now that's been reversed, and they have to focus on generating, reviewing, correcting, and fine-tuning, which is much less fun and mentally stressful and exhausting.
In my case, writing the code is secondary; I care more about the end result than the process. That's why I'm happy to take the shortcuts that AI offers me, as long as I can maintain control and get a faster result with the quality I'm looking for.