Quanti console.log() stai mettendo nel codice prima di accorgerti che Chrome DevTools ha già tutto quello che ti serve?
Il vero cambio di prospettiva è smettere di pensare al debugging come a una caccia al tesoro disperata. Chrome DevTools ha le Sources, che ti permettono di mettere breakpoint veri e propri - non solo "stampa questo valore e spera" - e di steppare riga per riga attraverso il codice. La cosa che la gente non usa abbastanza è il watch di variabili specifiche, così guardi in tempo reale cosa cambia mentre il codice gira. Poi c'è il console drawer che rimane sempre a portata di mano, perfetto per fare quick check senza interrompere l'esecuzione.
Altra cosa che mi ha salvato parecchie volte: usare il Network tab non solo per vedere se le richieste partono, ma per controllare esattamente cosa ricevi dal server. Più volte ho passato ore a debuggare logica che era in realtà un problema nei dati che arrivavano. Se l'app è complessa e ha uno stato interno, il Vue DevTools o React DevTools (dipende da cosa usi) sono killer - vedi lo stato mutare in tempo reale e torni indietro negli stati precedenti. Non è magia, è solo che la gente spesso non sa che esistono.
Ah, e un'ultima cosa banale ma vera: metti breakpoint condizionali. Non sempre vuoi fermarti su una riga, vuoi fermarti solo quando una certa variabile ha un certo valore. Almeno risparmi tempo a cliccare "continue" mille volte.