Coding with ChatGPT: Honest review of my first month

Giorgio Gilberti
7 min readJan 13, 2023

Day 42 after ChatGPT.
Maybe you’ve heard of it… the world has changed and there’s no turning back.
While web buzzing, hype growing and panic spreading, in just over a month I’ve heard all sorts of things, so I took some time to get familiar with the thing, and understand the impact it would have on me.
Here is an honest report of how it’s going.

Image by DALL-E, given the input: “artificial intelligence, depicted as a robotic mantis, hypnotizing an office worker in order to later eat him. In sci-fi surrealist style”

Premise

I am working as a web developer, mainly backend. Honest job, but also made up of repetitive tasks that don’t always require excellent creativity.
For this reason, it was natural to ask myself how AI would affect my work, if I would be replaced, or which of my colleagues would have that fate…
I adopted ChatGPT as a daily coding assistant (and not only) by delegating more and more tasks, progressively more complex.

My job has changed

I can say without hesitation that my way of working has changed, and also the sentiment about it. For the better.
ChatGPT returns surprisingly useful output and relieves me of many small tasks.

The sum of all the time and energy micro-slots that I save thanks to the symbiosis created between man and machine make the days more productive and less tiring.

Here are some tasks that AI has concretely solved for me quickly and effectively:

  • write medium-complexity SQL queries after an explanation of the entities/tables involved and the expected output
  • refactoring of functions according to general instructions, such as the use or not of recursion, or the addition of extra parameters
  • write functions of medium complexity from scratch, for example to generate combinations or permutations starting from possible values
  • recommend libraries and packages useful to my cause
  • guide me in the use of unfamiliar languages ​​and frameworks
  • take me by hand to bring me to safety in the darkest moments of troubleshooting

Last point is my favorite.
If you do this job you know: between new frameworks to learn, third-party tools to install, configure and integrate, sometimes you just feel like you’re mud-fighting and the greatest joy of the day is the one felt by dear Michael in the now-famous meme here.

Source: reddit

Those are the situations where my assistant is most valuable. Especially for morale.

Generally speaking, ChatGPT can be game changing for a programmer every time he legitimately aims to reduce cognitive friction (and related frustration).
Like migrating to new languages:

“How to do X (which I already know how to do in language Y) in language Z?”

is a perfect question to ask ChatGPT.
Note, it is a problem that we could very well have solved even before but with more effort. Alienating, non-constructive effort, made up of trivial actions such as opening the browser, searching on Google, observing a piece of code written by a stranger, deciphering, copying, pasting, trying again.

Besides ChatGPT is also a godsend in all those situations where we are aware of how a problem is made, we already know we’re capable to solve it, but still it requires a certain amount of mental effort for the next minutes.
In this case a pro coder should understand in advance if that effort will be constructive, if it will make himself and the world a little better, or if -on the contrary- it is just further tedious fatigue that can be delegated with no regret. And delegating it has never been easier.

How much to trust?

I haven’t bothered to systematically measure my assistant’s performance.
I will say at a guess that ChatGPT gives me the answer I need about 9 times out of 10. Which is terrific, compared to the answers I get from human colleagues and related to response speed.
The machine is well-oiled and the relationship of trust between me and my assistant is getting stronger every day.
Of course, our bond is based on a silent pact, with certain clauses to be respected.
I don’t ask it too difficult questions that would make it uncomfortable.
I have to be clear and rigorous, I explain requirements to it as I would like PMs to explain them to me.
When it’s wrong, I politely point it out, providing an example of what I would have expected differently.
I am responsible for supervising the code that the assistant produces.

But I have to be totally honest. At the beginning I was much more skeptical and at the same time more scrupulous. As the days go by and AI solves problems for me, I realize I was worrying too much. The assistant understands the questions, understands the context, almost imagines it. Sometimes it’s hard to think that there is only software on the other end of the screen.

Among my responsibilities there’s also understanding when to consult it and when not. On average, for each of the hundreds of micro-problems that arise on a typical day, I have three options: ask Google, ask ChatGPT, fix it myself.
For the moment I’d say that ChatGPT takes a good 30%. But the share is constantly growing.

Image by DALL-E, given the input: “a cyborg superhero who is half office worker and half robotic mantis. In sci-fi surrealist style”

Am I getting lazier?

Definitely.
Programmers are lazy by nature, and giving them such a tool is like giving candy to a child; you just can’t keep him from bingeing on it. But AI, unlike candy, won’t bring me cavities and diabetes. Or maybe yes?
At the moment I feel like I’m in control of the tool, but I wonder how I would be today if I had had this tool at my disposal in the last few years, or in my formative years. Would I be a better or worse developer? What will the next generation of programmers be like, if any? Is my brain going limp?
The risk of losing my edge seems real. On the other hand, the energy saved thanks to AI can be reinvested to cultivate new skills, softer or harder. Better not slack off too much.

So, will it steal my job?

Not today.
AI will likely improve at a frightening rate, at the point that’s useless to predict and it’s worth focusing on the present.
Put it this way: my clients are not able to get the same output from ChatGPT as I do. How could they get the same output from ChatGPT as they get from me?
Even though AI has become prodigious at understanding text and subtext, there is still need for someone who can translate real-world needs into requirements stringent enough to be validatable.
Maybe I’ll be replaced in the long run, but I won’t be among the first to fall.

Source: giphy, all right to HBO

Are we all turning into prompt engineers?

Somehow.
That is, will we spend our days issuing commands in colloquial language to an AI model, rather than dispatching instruction via various APIs?
This doesn’t really change who we are and what we do: it’s another way of saying that we will be relieved of some of the typical tasks of old programmers. Logical and analytical skills remain the core of a developer’s skill set. Code monkey is the only species already doomed to extinction.
Moreover, there will always be problems which are better suited to be modeled in programming languages ​​than in natural language. Just because it can be done doesn’t mean it’s the best solution every time. Each language is a medium.

Image by DALL-E, given the input: “A giant robotic mantis exterminating an army of monkeys in medieval war equipment. In sci-fi surrealist style”

Will ChatGPT steal Google’s job?

This one more likely. Unless Google buys it or creates a better version.
My use of the search engine has already dropped dramatically.
It’s still good for obtaining atomic notions, i.e. when I am sure that after a two-three words query I will find the result I am looking for immediately. The only decisive metric in choosing the tool is the number of gross seconds it will take me to extract the information I need, and in some cases ChatGPT is slower.
But the easiest thing to imagine, regardless of who gets the monopoly, is that search engines and what we know today as ChatGPT will become one. A universal answer engine that adopts different strategies depending on the detected search intent.

Conclusions

I was among the most skeptical before seeing it at work, but these few weeks have changed my way of imagining the future.
The tool itself is not without risk and must be used critically. But the impact it has on my work so far is extremely positive.
I tried to tell it by emphasizing the small problems it solves for me every day, without getting lost in science fiction speculations.
After all, the biggest and most pervasive changes are those that manifest themselves in the thousands details of daily life, small habits and comforts from which it is already impossible to go back.

--

--

Giorgio Gilberti

Web developer & tech lead. Critical thinker by vocation, coder by profession.