Yes, I am more productive and pump out code faster.
But at what cost?
GitHub Copilot requires no introduction at this point.
It writes code. Simple as that.
We software developers, coders and programmers also write code.
I have taken Copilot for a spin and have been quite surprised by how good it is. The tool’s contextual understanding is absolutely amazing to say the least. It really does feel like magic sometimes. But that being said, it does take some getting used to. It can feel a bit nosy and threatens to destroy the ‘flow state’ I sometimes am in when I am coding. The prompts can feel intrusive at times. Sometimes I would rather have to think for myself than have a program do the thinking for me. This brings me to my biggest frustration with Copilot.
Coding is fun
Coding is fun. Anyone who codes knows that. The feeling of triumph when you have solved a hard problem or figured something out is out-of-this world. This also acts as a motivator. It motivates me to learn more, deepen my understanding so that I can come up with better solutions faster.
Thus we have this feedback loop with a positive reinforcement principle: Learn -> Do -> Struggle -> Success -> Repeat
Copilot destroys that. It threatens to remove the 'Struggle' portion of the loop. It doesn't want me to struggle. But struggling is good for me. It is how I learn and grow. It is what feeds my curiosity and fuels my passion. There is no success without struggle. There is no feeling of accomplishment without struggle.
But Copilot is here. So what do we do? We use it with caution, sparingly.
There are parts of coding that can seem boring at times. Repetitive tasks where you have to do the same thing over and over again. For instance, updating an API endpoint to include some analytics code. And if this has to be done across multiple endpoints, it becomes boring. In times like these, it might make sense to use Copilot. We automate the boring stuff.
For architects and engineers?
This brings me to another thought. Maybe Copilot is not for people like me. Fresh, energetic 20-something year old's who like the actual typing of code. Quite literally pressing keys on the keyboard (lol).
Maybe it's for senior engineers and architects who have seen programming languages and paradigm rise and fall. People who don't care about implementation details but care about designing and architecting software solutions for complex business problems. They don't want to remove duplicates from a list for the hundredth time. Maybe Copilot is for them.
Abstractions — a legacy
A second thought is that of abstraction in Computer Science.
We have come a long way from the Assembly language. Abstractions are a core feature of Computer Science. Things have always become easier to understand and use. Abstractions have always been built upon abstractions.
No one is using punch cards anymore. Maybe in a few decades no one will be programming anymore either. We see this in the form of drag-and-drop builders and also no-code development. There is a tendency to increase efficiency in order to facilitate more growth. One way to increase efficiency is to save time. To do more in less time. Make stuff easier to understand and use, and you'll save time.
So maybe Copilot is just a natural progression of the series of abstractions and automations that Computer Science always has seen. In that case, we just accept it and try to find meaning elsewhere. Maybe we should grow up and not let keyboard clacks be the sole source of enjoyment.
Conclusion - beyond coding
So, what's the key takeaway? What's the conclusion?
We go with the flow. We adapt and change. It is what makes us human. We become more than developers. We become problem solvers. We look past the mundane. We seek to find solutions to human problems. To societal problems that can be solved through code. We innovate faster with tools like Copilot to bring value faster. And bringing value to society is what programming is all about in the first place.
We are not robots, we are humans. We build for humans.
Enjoyed this article? Please consider subscribing using the form below😇
It is 100% free. You get an email every time I post (about once a week) + access to premium content in the future.