In a previous blogpost I wrote about coding with copilot. I’ve benn using copilot ever since, both at work and in my free time. And although it was a huge productivity boost, I’ve noticed that I’ve become a worse programmer. Here’s my journey to becoming a better programmer again.
A rosy beginning
When I first started using copilot I was amazed. Around the time I wrote the blogpost I joined a new company with a very diverse tech stack. We’re talking python, typescript, ruby, go. And that’s just the programming languages. There’s also a lot of different frameworks and libraries. Using copilot I was able to get up to speed with the codebase in no time. It provided me with a working example for almost every problem I had to solve and I just had to adapt it to my needs. It was great!
The crutch
This spring I got back into a habit of working on algorithmic problems. There’s a great website called Daily Coding Problem that sends you a coding problem every day to your inbox. I highly recommend it if you want to improve your problem solving skills. When I started solving these problems I obviously turned off copilot because I wanted to come up with the solution myself. Since I’m trying to solve these problems in Rust, a language I only recently picked up, I noticed I had no idea about the syntax of the language. Worse still, some core concepts of the language, such as Boxing, were completely foreign to me even though I’ve used them before with copilot. I used the AI as a crutch and didn’t learn the core concepts of the language. I was able to solve the problems, but I didn’t really understand what I was doing.
Learning to think again
Shocked at how much I didn’t understand about the language I’m using, I decided to stop using copilot for a while and just use the docs. I started reading the Rust book and solving Rustlings. When solving the daily coding problems again, this time I understood what I was doing. I was able to come up with my own solutions and I was able to explain them to my ducky. I was able to think again.
The path of most resistance
I like pushing limits. So after disabling copilot for a while I want to take it a step further. I want to use the most basic tools possible. I’m talking about a terminal and a text editor. No IDE, no autocomplete, no copy paste of code. Just the docs. I want to learn to think again. I want to learn to code again. I want to learn to program again. I’ll keep you posted on my progress.
Tis only applies to my personal projects. I’m still using IDEs and autocomplete at work. I’m not a masochist.
so long
comments powered by Disqus