Perché così tanti sviluppatori hanno smesso prima di ottenere un lavoro. Per favore, non farlo.

"Prototipi, oggetti, algoritmi ... quei piccoli passaggi tra passaggi che non sai come implementare.
Grrr ... pensando come un programmatore. "

Termina questa frase:

La mia ultima sessione di programmazione è stata ...

  1. Liscio come la seta. Mi sono seduto comodamente, ho acceso il mio editore e mi sono tuffato nel meraviglioso mondo di 0 e 1. Quelle 3 ore sono passate come 30 minuti!
  2. Così noioso. A malapena mi sono costretto a sedermi e scrivere codice. Niente ha funzionato molto bene, gli errori sono scoppiati continuamente e ancora non tutto ha senso per me. Questi 30 minuti sono sembrati 3 ore!

La mia ipotesi è la risposta n. 2.

E non perché è così comune e anche a me è successo (anche dopo 8 anni di programmazione).

La risposta n. 1 è strana. Chi parla anche così?

Ok ok. Parleremo di travolgente nella programmazione. So che siamo stati tutti lì - succede troppo spesso e lo odiamo.

Ma ho provato ad andare più a fondo.

Negli ultimi anni ho avuto a che fare con molti sviluppatori junior. Di cui alcuni che:

  1. Di recente è entrato in tecnologia e si è sentito perso
  2. Rimasero bloccati nella "fase del tutorial" e si arrabbiarono ogni volta che dovevano programmare senza supervisione
  3. In realtà erano talentuosi ma non sono riusciti nelle interviste o non hanno nemmeno ricevuto una chiamata

Dov'è il punto di rottura?

Poiché l'essenza del mio lavoro sta aiutando i nuovi sviluppatori a trovare un lavoro, mi sono preso il tempo di studiare i loro problemi e cercare davvero di entrare in empatia con i loro bisogni.

Ho parlato con i colleghi della mia azienda. Ho fatto ricerche su gruppi di Facebook, forum, siti Web di domande e risposte, enormi discussioni su Reddit e ho anche intervistato un paio di piccole comunità.

Ecco parte di quello che ho trovato:

"Mi sembrava di aver appena copiato ciò che era nei video e basta."
"Devo accontentarmi di cercare su Google esempi esistenti che qualcun altro ha già scritto. Mi sento come un bambino di 3 anni che cerca di risolvere i puzzle di calcolo. È così frustrante. "
"Non riesco proprio a pensare come un programmatore."

E il mio preferito:

"Questo è ciò che ho imparato sull'apprendimento del codice: ti senti confuso e completamente indegno come il 99% delle volte. Ma quella volta che fai funzionare qualcosa, è MAGICA. "

Noti qualcosa?

Le lotte di queste persone non derivano da una mancanza di sforzo. Né da una cattiva strategia di apprendimento o da una cattiva disciplina.

Semplicemente non hanno abbastanza esperienza.

Eppure, molte di quelle persone erano sul punto di rinunciare alla programmazione.

In cosa si riduce - Due miti

Ho scoperto che in fondo alla maggior parte delle lotte gli sviluppatori principianti affrontano due miti popolari sulle carriere nello sviluppo del software.

Voglio romperli in questo momento e spero di evitare la sopraffazione e la pressione aggiuntiva che causano agli studenti.

Mito n. 1: se non ami la programmazione, non fa per te.

È qualcosa che sento dire molto ai programmatori principianti.

E non sono assolutamente d'accordo.

No, non devi amare la programmazione per diventare un programmatore. In effetti, oltre il 50% degli sviluppatori professionisti a volte lo odiano (la mia osservazione personale).

Vedi, è bello quando risolvi un problema elegantemente. È bello quando il tuo codice è pulito, pulito, ben testato e risolve i problemi delle persone.

Ma non è il 100% delle volte, nemmeno da remoto. La maggior parte dei giorni lavorativi dei programmatori non li trascura pensando:

"Oh, come ho applicato il modello di progettazione dell'iniezione di dipendenza per disaccoppiare elegantemente le mie classi e rendere più semplice la manutenzione della mia base di codice in futuro." (Self-high-five)

No.

Anche coloro che parlano come se ne amassero ogni secondo trascorrono un tempo significativo in lavori noiosi, monotoni o frustranti. Puoi sentire imprecazioni in un ufficio di programmazione almeno quanto in un servizio di auto. Onestamente!

Va benissimo se a volte odi la programmazione.

Sì, "forse non fa per me?" È una domanda comune quando sei sopraffatto e frustrato. È semplicemente normale. Tuttavia, la programmazione è per te. Se stai leggendo questo, significa che ti importa. Se ti interessa, ce la farai.

Come appare il mito n. 2 nei pomeriggi indaffarati.

Mito n. 2: c'è così tanto che non lo so. Non imparerò mai tutto questo!

Questo è un altro pensiero molto comune (forse più importante del Mito # 1). Ho sentito molti dei miei lettori lamentarsene. E posso assolutamente vedere il ragionamento alla base.

Siamo in un campo così vasto che più a fondo scavi, più ti rendi conto di non sapere.

Anche solo pensare a questo mi ha fatto stare male. Amico, è così facile lasciarsi sopraffare.

La parte buona: non devi sapere tutto. Devi sapere quanto basta per essere consapevole di come scoprire ciò che non sai.

Per ora, assicurati di essere a conoscenza delle basi di alto livello di qualunque cosa tu stia lavorando.

Facciamo un backup con un esempio.

Se stai sperimentando CSS, dovresti sapere che è per applicare gli stili agli elementi HTML. Puoi fare in modo che un pulsante abbia bordo, colore, ombra o animazione. Non puoi dire cosa dovrebbe accadere quando fai clic sul pulsante (è necessario JavaScript per questo).

Quindi, se è necessario animare un'immagine quando si fa clic su un pulsante:

  1. Innanzitutto, è necessario disporre dell'immagine e degli elementi del pulsante (HTML)
  2. Quindi puoi impostare l'animazione per una classe specifica (CSS)
  3. E puoi aggiungere la classe all'immagine quando si fa clic sul pulsante (JavaScript)

Immagina di averlo letto in un tutorial una volta. Una settimana dopo, è necessario aggiungere un'ombra a un'immagine quando viene inviato un modulo. Sai cosa cercare. Hai una comprensione generale di HTML, CSS e JavaScript e di quale parte sono responsabili in questa funzionalità.

Il resto è cercare su Google le parole giuste. In questo caso, "css aggiungi ombra" e "invia modulo di callback javascript".

Vedi cosa abbiamo fatto lì?

Imparare a programmare nel modo "giusto"

Come vedi e probabilmente sai per esperienza personale, l'apprendimento della programmazione richiede tempo, a volte anni. Nonostante ciò che dicono alcuni corsi "impara a programmare in 2 settimane"!

All'inizio è importante sviluppare le giuste abitudini per apprendere in modo efficiente. La maggior parte dei primi giorni spendi in tutorial, linee guida, documentazione o spesso tutti e tre contemporaneamente. Questo è quello che facciamo tutti.

Alcuni traggono il massimo dalle loro ore di apprendimento. Nel frattempo, altri pensano di fare progressi, ma in realtà copiano e incollano solo i comandi e seguono le istruzioni.

C'è l'abitudine di massimizzare le ore di apprendimento e si chiama "Imparare lentamente".

È un modo leggermente diverso di affrontare i tutorial che:

  1. Rende la programmazione più divertente (poiché la noia è un problema comune)
  2. Ti rende meno dipendente dai tutorial
  3. Usa la gamification

Puoi provarlo con questo esercizio di 4 minuti alla fine dell'articolo. Fammi sapere come va!

Questo post è stato originariamente pubblicato su MyFirstITJob.

Qual'è il prossimo?

Non arrendersi e apprendere in modo efficiente è fantastico, ma a volte non è abbastanza per procurarti un lavoro di programmazione.

Successivamente, mi concentrerò su ciò che i datori di lavoro cercano in uno sviluppatore junior e su come distinguersi dalla massa per qualsiasi posizione lavorativa.

Ti è piaciuta la lettura? Medium non offre un programma partner nel mio paese ― quindi chiedo invece alle persone di comprarmi il caffè.