Apprendimento
Cosa trovo più difficile nell'imparare a programmare
Non è nessuna tecnologia in particolare. È la pagina bianca subito dopo che il tutorial finisce, e tutto ciò che compare nel momento in cui inizi a prendere decisioni tue invece di seguire quelle di qualcun altro.
La parte più difficile non è nessuna tecnologia in particolare. È il momento subito dopo che finisco di guardare qualcosa e provo a costruirlo io stesso, con un'idea mia invece di quella del video.
Il problema della pagina bianca
Riesco a seguire un tutorial senza problemi. Qualcun altro ha già deciso cosa costruire e in che ordine, quindi devo solo stargli dietro. Nel momento in cui provo a fare la stessa cosa con un'idea mia, la mente si svuota. Non so da dove iniziare, dubito di una sintassi che stavo usando con sicurezza cinque minuti prima, e la sicurezza che avevo mentre seguivo scompare del tutto.
Poi la superficie si spacca
Anche dopo aver superato quel momento di pagina bianca e aver davvero iniziato a costruire qualcosa, di solito è lì che mi rendo conto che il tutorial mi ha mostrato solo lo strato superiore. Sotto c'è un database da progettare per bene, una decisione di system design da prendere, pattern da scegliere o evitare, observability per sapere davvero se la cosa si è rotta, e test per sapere se l'ho rotta io stesso. Poi c'è lo stack in sé: EF Core o Dapper, quale architettura si adatta davvero a questo problema specifico, se il DDD ha senso qui o è eccessivo, frontend e backend che hanno entrambi bisogno di attenzione, infra e deployment, Grafana se voglio vedere qualcosa di tutto ciò girare per davvero. E adesso c'è anche l'AI nel mix, capire dove aiuta davvero in un workflow TDD e dove è solo d'intralcio.
Perché quella è la parte davvero difficile
Ognuna di queste cose è imparabile da sola. La parte difficile è che compaiono tutte insieme, nel secondo in cui smetti di seguire i passi di qualcun altro e inizi a prendere decisioni tue. Un tutorial nasconde tutto questo prendendo le decisioni al posto tuo in anticipo.
Cosa faccio a riguardo
Non ho risolto questo problema. Per lo più provo solo a costruire abbastanza in piccolo da imbattermi solo in due o tre di quelle cose alla volta invece che in tutte, e accetto che la prima versione di qualsiasi cosa costruisca da solo sarà più grezza di qualsiasi cosa stessi appena guardando.