It was yesterday when I finally decided to click the cancel button of my GitHub Copilot subscription. The reason? I feel I’m getting more and more stupid coding with AI.

whoami

I truly believe the context matters on the decisions we take, and my context is I’m still a junior developer who feels growing the coding skills is harder in the AI age.

I started to work as a firmware engineer on 2023, already in the AI age. However, the AI models weren’t capable enough to generate good quality firmware code, so I had to figure out a lot of things by myself. I learnt a lot and I’m grateful for that.

My employer didn’t provide me with AI tools, but since they were ok with its usage, I decided to get the GitHub Copilot subscription and it was worth it. I felt I was writing code as a mid developer, I applied better architectures and design patterns with the help of AI, and many more things that made me realize the code I used to write by hand wasn’t readable, maintainable, neither scalable, let’s say a complete mess.

New work, new rules

Now I’m working as a Java dev, and of course I use AI daily at my work, let’s say it’s “mandatory” and I have to do it. They say coding with AI is the future of the industry and I agree, or at least I agree with 80% of what they believe.

I’m completely fine with generating code with AI at my work because I’m developing features I don’t care for projects I don’t care about, so the only hard task I still have to “manually” do is understanding the business logic and requirements to convert them into prompts to get the job done. And I’m fine with that.

By the way, vibe coding isn’t what I do if you’re thinking on that. Maybe I’ll talk about my AI workflow in a future post.

Although I said growing my coding skills is harder than before, I also have to admit that now I have more time and mental energy to develop other skills, such as managing AWS services and understanding the business logic.

Who knows, maybe the future of this industry is us talking (not writing) to our computers to write the code to do the features we have on mind.

Productivity != happiness

I’ve been reading the Rust book for a long time because I’d like to use it for my side projects. One of them is a cli tool, that in fact I already have a Python version of it, but you know, I want to rewrite it in Rust.

The thing is I was impatient and I asked Gemini to do it for me, my thoughts at that moment were I could take that version and improve it by hand, just a shortcut, I said. But when I ran the code and it worked pretty fine, I just felt I wasn’t doing the right thing. I was supposed to write that simple project because I wanted to learn Rust, but if I delegate most of the development to AI, what exactly am I going to learn?

Children still learn to do math by hand, even if we use calculators in real life, it’s still important to know what’s happening behind the scenes. I truly believe it’s the same for coding, I need to know the language in a way I’m confortable enough before using the today’s programmers calculator, the AI.

So, even if I can build almost anything with AI, I have to limit its usage if I want to develop my coding skills, at least on my side projects. Its usage on my work won’t change, the engineering level for the features I develop is not that high, I can focus on other aspects.

Without further ado, goodbye. Have a great day, and remember to be happy.