Considera anche un'altra cosa, cioè, perché si programma?
Programmare non è (quasi) mai un'attività fine a se stessa, ma un mezzo per raggiungere uno scopo.
Un bravo programmatore passa la maggior parte del tempo a raccogliere i business requirements, e tutte le altre constraints che ci sono, poi a mettere insieme il tutto (spesso molte cose sono in contrasto l'una con l'altra), e solo infine a scrivere il codice.
Chiaramente, saper scrivere il codice è importante, ma non è la parte più importante, o necessaria, del progetto: quindi va benissimo se ti aiuti con tool esterni, siano essi Google, ChatGPT, o StackOverflow.
A lavoro, noi passiamo la maggior parte del tempo a scrivere PRD (Product Requirements Document) o a commentare quelli dei colleghi. Solo dopo che le discussioni sono concluse, e il PRD viene approvato dai diversi stakeholders, passiamo all'implementazione: in questo modo siamo sicuri che il codice che andiamo a scrivere sia importante, risolva un problema, e sia abbastanza future proof. Visto che varie persone commentano i PRD, varie opinioni sono prese in considerazione.
Il codice quindi è solo il tramite, e le CL (ChangeList) che implementano la modifica richiedono sempre una review da un team member, ma normalmente le review sono veloci e le CL approdano in fretta, perché si è già tutti d'accordo su cosa deve fare il codice.