Last night, I was writing an abstract data type (a DAG, precisely) that I learned about back in college.

I’ve been writing code for years, but it’s rare to encounter daily situations where abstract code like this is applicable (other than live-code sessions on interviews).

Nevertheless, I decided to dive into the implementation from a theorical point of view, just to implement the algo later, just a fun experiment, only to realize I had almost forgotten how to do it.

I felt like I knew how to proceed after reading the theory, so I went back to my editor. After a few minutes of typing and building the necessary scaffolding, I embarked on the task…

I needed two things: a graph that supports a structure without cycles and a few intrinsic characteristics for the nodes that are work-domain related and I cannot disclose.

Just for fun and the joy of recreational programming (inspired by tsoding), I decided to run:

:Copilot disable

Oh boy, what a mental ride after that…

I’ve been riding the AI wave for quite some time, but I was concerned about switching to code-enhancing tools. Don’t ask me why, but I hesitated to use them.

So, when I started using Copilot after a while they released it, I immediately felt the speed. At first, I didn’t know how to drive the tool, but after a few weeks, I got the hang of it: 1) write a signature, 2) explain in comments what you want, and 3) wait and modify the result to match your expectations.

And so I did.

Note: I’ve been coding since I was 9 years old, so I knew how to code. Additionally, Copilot felt right at first because it removed the bloated unnecessary stuff that I didn’t want to write in the first place.

Going back to the DAG, I was stuck, blank. I threw down a few lines, wrote some logic test cases, and still, nothing. The urge to activate Copilot was huge, especially since I had two meetings on the horizon and needed to complete the task quickly.

After a few minutes of whiteboarding, I got it.

I returned to the code, wrote it, and spent the rest of the day feeling good because I could still program. However, a sense of bitterness lingered. Are we getting rusty in programming? Is Copilot good or bad for our industry? How can I know?

I just wanted to have fun, but here I am, sacrificing all I learned for speed. I believe I’ll end up deactivating it for a while, as it makes our brains completely dependent and erases the muscle memory of coding after a few months of not using it for actual programming.

I realized that coding isn’t just writing; it’s the act of thinking. With the speed of Copilot, you can’t even think of the solution before the output is there, ready for you to press return and move on.

Go ahead.

Try it out for yourself.

:Copilot disable