It is more fun to be a competent developer
Even though I don’t own any social media accounts, it’s hard for me, as a software developer, to ignore the AI conversation. People are constantly talking about how they are using it to build things, and, honestly, it is quite entertaining to see other people’s POV on this subject.
However, my experience using AI as a tool to be a better developer has not impressed me at all. So I want to use this as a write-up on the whats and whys of it.
1. The “Copilot Pause”
When Copilot first launched, I started using it almost immediately. What I experienced from then to now is basically an “autocomplete++”, which at the time was a very good thing! At first, I certainly appreciated not having to write some boilerplate code and focus on the domain-specific logic of solving a problem.
But then eventually, I noticed that I was, sometimes, actually waiting for Copilot to give me an answer before starting to write code, which effectively “turned off” my brain when writing it, slowing me down. That pause between writing code and waiting for Copilot to give me something was more harmful than beneficial, making me turn off the Copilot autocomplete feature, using only the “chat” whenever I really need it.
2. I love the process of coding.
It is true that many people who code do it only for money! And that’s okay. There are a lot of people that view coding as only a means to an end, and having something that writes it for them is viewed as revolutionary. That’s not my case! I enjoy coding. I enjoy writing and having my brain tickle boxes that send my fingers what I need to type and colorful text on an editor etc., etc. For me, programming is joy.
3. I have yet to see AI do something I can’t
I’m not the greatest programmer of all time. But I’m confident in my skills and what I can do with them. And I also understand that most programmers undervalue their own capabilities, something common in the field - which may be one of the reasons for so many developers resorting to AI at any minor inconvenience.
The thing is, I have yet to see AI solve a problem that I could not. Anytime I deviate from the basics of a language or some well-known problem, AI just outputs gibberish, hallucinated stuff. So, basically, AI has not helped me at work, where I’m actually writing production, user-facing software, nor has it helped me in hobby projects, where I eventually solve problems by taking time to learn, understand, and debug - which is, again, awesome! I love doing this for a living. I get to do the thing I like the most and get paid for it! Why would I let something else take this joy out of me?
4. The future
Probably, eventually, AI will be good enough to output better code. But I’m also confident that competent, passionate developers will never be replaced by it. I love being good at programming and I love knowing and understanding the many layers between text on a file and a process running on a machine. AI can even become useful for me at work, but I will never use it to replace my urge to write code.