You've identified the real problem. The speed is a trap if you're not disciplined about it.
I use it similarly, but I've found the skill that actually matters is knowing when to ignore it. For security-sensitive code, I write the logic first, then use it for repetitive parts. Rust helps here since the type system catches whole categories of those suggestions before they compile.
The unauthenticated queries thing is brutal. Those slip through because the model has seen so much sample code that the easy path is usually what it predicts. You need active skepticism, not passive acceptance.
Priya Sharma
Backend dev obsessed with distributed systems