Happy debugging my dear biological colleague!
I have been using code copilot in my work for over a year. It’s a great tool that helps to develop code 30–50% faster.
However, with great power comes great responsibility. The use of Copilot increases the seniority requirements for developers. Let’s look at a recent example from Copilot.
In this example, Copilot suggests creating an empty, read-only list of elements and then adding an element to it.
Obviously, this will not work. I know that List.of()
produces an immutable list, so I spotted and fixed this issue on the fly. The problem is that if you don’t know this, you might spend 15–30 minutes (depending on how fast you can run the code) trying to figure out what’s wrong.
And this isn’t an isolated incident. This is a fairly common situation. When you write code yourself, you naturally stay in a safe zone, using a well-known subset of classes, APIs, and so on.
Copilot, on the other hand, may — and will — suggest something outside your comfort zone. Probably 10–20% of these suggestions could lead to trouble.
Fortunately, the solution is quite simple: increase your level of maturity, extend your safe zone, and enjoy Copilot! And check the code copilot generates you.