When I was learning to code, the line my tutor kept repeating was, “Half of programming is knowing how to use Google.” That can be pretty much boiled down to half of programming is knowing how to look things up, whether that’s in a book, online, or with a language model. You can’t know everything there is to know about programming, so you have to be good at looking things up when you don’t have the answer to a problem, and you have to be able to do it effectively with whatever tool
For the last several weeks I’ve been using ChatGPT in lieu of Google for looking up code examples when I’m stuck on a problem at work, or when working on side-projects. It’s been hugely beneficial to my productivity and workflow, but it’s not perfect.
Going in you need to have enough knowledge to be able to call it on its BS. I’ve found ChatGPT will get things wrong, give you code that maybe doesn’t quite do what you’re looking for, or sometimes try to get you to use non-existent or deprecated packages or language features.
Especially when I’m going in trying to learn something new, whether its a web technology I’m not experienced in, or trying to learn Swift from scratch, I’ve found it helpful to go in at least knowing what I’m looking for. That means reading documentation, and trying a few things out on my own. If I’m stuck, or if the documentation has poor or non-existent sample code (looking at you Apple), I’ll use ChatGPT to generate some generic starter code I can use as a jumping off point.