Traduzione di un frammento di un articolo di Alexander Petkov, fondatore della Junior Developer Help Community. “Prototipi, oggetti, algoritmi... e tutti questi piccoli passaggi tra un passo e l'altro e non hai idea di come implementarli... Brr, pensa come un programmatore.” I nuovi sviluppatori spesso sentono molta pressione durante il loro primo lavoro. Pertanto, se offri loro un semplice esercizio per completare la frase “L'ultima volta che ho scritto codice...” Tra le due opzioni di risposta:
Proviamo a scavare più a fondo per capire perché questo accade. Negli ultimi anni ho incontrato molti aspiranti sviluppatori che:
Se osservi attentamente queste citazioni, noterai qualcosa di importante: la lotta interna di queste persone non deriva dal fatto che sono inattive o non si impegnano abbastanza. Non è perché abbiano un cattivo programma di allenamento o manchino di disciplina. In effetti, mancano di esperienza pratica. Sembrerebbe una difficoltà superabile. Tuttavia, molti di loro erano pronti ad arrendersi e ad abbandonare la programmazione.
Ahimè, questo accade raramente. Anche coloro che affermano di amare scrivere codice trascorrono una parte significativa del loro tempo svolgendo un lavoro noioso e monotono che non sempre va liscio. Nell'ufficio dei programmatori, il linguaggio osceno si sente non meno spesso che in un centro di assistenza automobilistica. Onestamente! Non c'è niente di sbagliato nel fatto che a volte odi semplicemente programmare. Naturalmente, la domanda "Forse questo non fa affatto per me?" Molto spesso sorge nella mente di un programmatore alle prime armi quando sente pressione su se stesso, riceve carichi di lavoro pesanti e tutto va completamente storto come vorremmo. Questo è normale, credimi. E sì, la programmazione fa per te, non ci sono dubbi. Se stai leggendo questo, significa che ci tieni. E se ti interessa, allora tutto funzionerà sicuramente.
Diamo un'occhiata a questo esempio. Se stai sperimentando i CSS, dovresti capire che è progettato per applicare stili agli elementi HTML. Puoi creare un pulsante con bordi, colore, ombra o animazione. Non puoi dire cosa accadrà quando fai clic su un pulsante (per questo hai bisogno di JavaScript). Pertanto, se hai bisogno di “ravvivare” l'immagine quando premi un pulsante:
- Tutto è andato come un orologio . Mi sono seduto, ho lanciato il mio editor e mi sono tuffato nel meraviglioso mondo degli zero e degli uno. Tre ore sono volate in un lampo!
- Era davvero noioso . Riuscivo a malapena a sedermi e programmare. Si verificavano costantemente errori, qualcosa era andato storto. Sì, non ho ancora capito tutto. Quei 30 minuti sembravano tre ore!
- Recentemente ho iniziato a programmare e mi sento completamente perso.
- Bloccato nella fase introduttiva e ti senti a disagio ogni volta che devi programmare da solo, senza alcuna supervisione esterna.
- Erano ovviamente talentuosi, ma hanno fallito le interviste o non hanno ricevuto affatto inviti.
Qual è il punto di svolta?
Ho dovuto dedicare molto tempo allo studio delle esigenze e dei bisogni dei nuovi programmatori, perché questo riassume in poche parole quello che faccio. Per comprendere meglio tutto, avevo bisogno di parlare con i colleghi della mia azienda, condurre ricerche su gruppi Facebook, forum, siti di domande e risposte, studiare enormi thread su Reddit e persino sondare diverse piccole comunità. E questo è quello che abbiamo scoperto: “mi sembrava di aver semplicemente copiato quello che c’era nel video e basta”; “Stavo cercando su Google esempi esistenti che erano già stati scritti da qualcuno. Allo stesso tempo, mi sentivo come un bambino di 3 anni che risolve un puzzle di matematica. È così fastidioso"; “Semplicemente non sono in grado di pensare come un programmatore”; Ecco il mio preferito: “Ecco cosa ho imparato imparando a programmare: il 99% delle volte ti senti completamente confuso e inefficace. Ma non appena riesci a far funzionare qualcosa come dovrebbe – ecco, quella sensazione – è accaduta MAGIA!”Due miti sui problemi dei programmatori alle prime armi
Ho scoperto che alla base di molti dei problemi che i nuovi programmatori devono affrontare ci sono due miti popolari sull'essere uno sviluppatore di software. Vorrei sfatare questi miti adesso in modo che i giovani programmatori possano evitare inutili sovraccarichi.Mito n.1. Devi amare la programmazione, se non la ami, non fa per te.
Quante volte sento qualcosa del genere da giovani sviluppatori! E sì, sono fortemente in disaccordo con questa affermazione. Non devi amare la programmazione per diventare uno sviluppatore. In effetti, circa il 50% degli sviluppatori professionisti a volte lo odia letteralmente. Lo dico basandomi su osservazioni personali. Certo, è fantastico se il problema può essere risolto facilmente e semplicemente, elegantemente, per così dire. È fantastico avere un codice eccezionale, pulito e testato in grado di risolvere i problemi delle persone. Ma ahimè, questi risultati non sono ciò che occuperà il 100% del tuo tempo... nemmeno lontanamente. La vita quotidiana di un programmatore è solitamente piena di pensieri del tipo: “Quanto è stato fantastico poter applicare il modello di iniezione delle dipendenze, disaccoppiare con grazia le classi, aumentando così la supportabilità del mio codice. Sono grande!"Mito n.2. Ci sono così tante cose che non so che non le imparerò mai!
Questo è un altro pensiero comune (forse ancora più popolare del primo mito). Molte persone si lamentano di questo. E capisco assolutamente chiaramente cosa c'è dietro questo. Il nostro campo di attività è così ampio che più approfondisci, più chiaramente ti rendi conto di quanto ancora non sai. Anche a pensarci mi sento male. Questo è molto deprimente! La buona notizia è che non è necessario sapere tutto. Basta sapere come scoprire ciò che non sai. Per ora, assicurati di avere i principi di base di ciò con cui stai lavorando.- È necessario disporre di un'immagine e di elementi pulsante (HTML);
- È quindi possibile personalizzare l'animazione per una classe specifica (CSS);
- E puoi aggiungere una classe all'immagine quando si fa clic sul pulsante (JavaScript).
GO TO FULL VERSION