ChatGPT as a code-reviewing pseudo-tutor
It's a scary time to be an aspiring computer scientist. When I switched to CS, the first thing I was told was that AI is going to replace junior developers, so have fun flipping those burgers! But, after a few years and discussions with some sane people, I believe that ChatGPT can not be a junior developer. And, even if a huge development is made and AI suddenly is capable of doing everything a junior developer can, it is still essential to learn and practice the hands on stuff. Prompt engineering isn't always going to cut it.
I've been around AI almost as long as I've studied CS. I've had the privellege (and I truly mean it) to be exposed to generative AI as a tool in my coursework. It's becoming an industry norm, and its essential to utilize it, else you risk falling behind in a field that travels at lightspeed.
However, I disagree with how my professor addressed it, and how my classmates utilized it. I don't blame either party, as permitting generative AI in coursework was a highly experimental step, but I feel the need to address it. ChatGPT does not write good code. It may pump something out that functions, maybe even first try. But in terms of readability? Forget about it.
While developing CamelCapital, generative AI was used to write the main framework for our trading algorithm. I made myself responsible for code cleanup. I had to rewrite nearly all of the code that was generated, making it more idiomatic and readable. It was helpful to have an outline for how it functioned, and once I understood the convoluted stuff that the AI-generated code was doing I was much more efficient than I would have been starting from scratch. However, it revealed one thing: ChatGPT is not that scary. Without my code-review, that code would not have been clean enough to submit, let alone be pushed to the codebase of an actual product.
That brings me to the title of this article: a code-reviewing pseudo-tutor.
"Code-reviewing"
In my personal work, ChatGPT has been exceedingly useful in helping me navigate confounding errors while using a language I'm not completely comfortable with. A quick copy and paste into a prompt and I'm getting answers that are usually helpful. This resources has allowed me to keep my nose out of cryptic documentation more than it needs to be. It has undoubtedly increased my efficiency.
I do not feel as though I am competing with ChatGPT for my future job. During these experiences I was able to work with the language model.
"Pseudo-tutor"
This summer, I challenged myself to learn C++ on my own. I had no prior academic experience wth the language, and I was off-campus so I didn't have access to any personal resources. In this situation, I used ChatGPT like I would've used office hours.
Honestly, I have to say ChatGPT is an excellent tutor. Forget browsing StackOverflow, the AI has already read all of those articles and can summarize them for me, complete with example code show casing the solution. This is really where I started to appreciate ChatGPT as a force for good, rather than something to be scared of.
Take everything I've mentioned with a grain of salt. I am just a third year student with no professional experience. I just have some strong opinions about AI and I'm sick of the stigma around CS as a career in 2024. I haven't seen any proof that AI will automate my job. I will continue to use it as my unpaid tutor, and I will learn to use it like I would any other tool.
-Stephen Barlett, 7/17/2024