| How about what I did last night "In typescript, Write me an express POST endpoint that takes in a JSON payload, assigns it a unique id of some sort, and uploads it to an s3 bucket" "To continue on with the last request, in typescript, write me an express GET route that takes in an id of the JSON file that the POST request above uploaded, downloads it from s3 and sends it to the user." For problems with well defined constraints, ChatGPT4 is amazing. Of course I had to rewrite all the error handling logic, and fill in some details, but it saved me a lot of time looking up APIs. The flip side is, it originally tried writing against AWS SDK2, and I had to ask it to use SDK3. If I hadn't known about SDK3, I would've had less than optimal code. Similar thing when I asked it to add ajv validation to an endpoint, I hadn't done that in a couple of years and I knew it'd take me awhile to remember exactly how, while ChatGPT pushed it out in a few seconds, but with non-optimal code (didn't use middleware). Because I already knew what it should do, I was able to ask for a correction. I have a genuine fear for Junior developers using ChatGPT and never going through the struggles to learn the tools and technologies that makes a good Senior engineer. |
I have been around long enough to have heard the same about
- writing code on the terminal as oposed to on paper (their coding will become just trail and error)
- using debuggers (repeat until it works, they will never understand why it failed to begin with)
- using IDE's (real programmers don't need crutches)
- using languages with extensive standard libraries (how can they ever understand their code if they didn't write their own dictionary)
- using domain frameworks (TF is for people incapable of grokking NN's)
- ...
It's most often not the tool that is producing bad programmers, it's bad programmers holding it wrong ;)