Come sono passato dal principiante allo sviluppatore di software e come puoi farlo anche tu

Accampati in una caffetteria.

Due anni fa, ero proprio dove sei oggi.

Volevo diventare un programmatore professionista. Ma non avevo idea di come farlo accadere.

Non avevo una laurea, nessuna precedente esperienza di programmazione e ho fatto schifo in matematica.

E c'era il fastidioso dubbio: qualcuno come me può diventare uno sviluppatore?

Bene, l'ho fatto accadere. Ho il lavoro dei miei sogni. Sono uno sviluppatore di software.

Mi viene spesso chiesto come ho fatto.

Ecco le tre azioni fondamentali che ho intrapreso che mi hanno aiutato a passare da un principiante assoluto a uno sviluppatore di software.

1. Crea la tua tabella di marcia

L'errore più grande che gli aspiranti sviluppatori fanno è che non hanno alcun piano.

Nessuna tabella di marcia.

Quando non hai un piano, ti senti perso. Segui tutorial di codifica, magari costruisci un progetto o due. Poi passano i mesi. Pensi che diventerò mai uno sviluppatore? É tutto così confuso. Non hai idea di quale percorso prendere.

La soluzione? Crea una tabella di marcia - proprio ora. Crea un piano per capire esattamente come diventerai uno sviluppatore.

Il tuo primo passo: decidi se farai un bootcamp di programmazione o seguirai corsi online.

Per me, ho deciso di non frequentare un bootcamp. Ho creato il mio curriculum e ho insegnato a me stesso ... tutto.

Dato che sono stato educato a casa da piccolo, mi sentivo a mio agio nell'apprendimento da solo, quindi ho deciso di insegnarmi a programmare usando vari corsi online che vanno da freeCodeCamp a Udacity.

Questo approccio costa molto meno di un bootcamp ma aveva un aspetto negativo: non avevo mentori di programmazione o curriculum di programmazione da seguire. Imparare dalle risorse online significa che non paghi nulla o molto poco, ma come ho scoperto, non hai molto supporto. E lotterai da solo come ho fatto io.

Le persone sono attratte dall'imparare a programmare dalle risorse online come ho fatto io, ma non è sempre il modo migliore. Il basso costo è un grande vantaggio, ma assicurati di essere in grado di imparare bene da solo e di poterti rendere responsabile, senza molto tutoraggio o supporto.

I Bootcamp sono costosi ma spesso offrono molto più supporto e responsabilità.

Decidi attentamente quale percorso è meglio per te.

Se impari a programmare senza un bootcamp, ti suggerisco di scegliere un programma online conveniente che abbia almeno un tutoraggio e un curriculum da seguire. In questo modo, avrai meno difficoltà e otterrai il feedback di cui hai bisogno. Le tecnologie di nanodegree e Treehouse di Udacity offrono alcune attività di mentoring e revisioni del codice.

Se decidi di imparare a programmare gratuitamente, il curriculum di freeCodeCamp è fantastico e se vieni coinvolto nella loro comunità, eccellerai.

Dopo aver scelto il percorso, completa la tabella di marcia rispondendo a queste domande:

  • Voglio diventare uno sviluppatore full-stack, frontend o backend? Decidi cosa ti concentrerai sull'apprendimento. Scopri quale lingua e librerie dovrai imparare.
  • Quante ore alla settimana studierò e quando? Scolpisci i tempi della settimana in cui ti eserciterai nella programmazione e non perderai mai quei tempi di studio.
  • In che data inizierò a fare domanda per un lavoro? Imposta una scadenza per quando ti candiderai.
  • Cosa mi arrenderò? È fantastico immaginarti di lavorare come sviluppatore, ma la strada per arrivarci significa mattine, fine settimana e tarde notti di duro lavoro.

Sii realistico: guarda cosa trascorri del tempo ogni settimana e rinuncia a una cosa. Per me, non ero disposto a rinunciare al tempo con la mia famiglia, ma ho deciso di rinunciare a uscire con gli amici. La maggior parte dei sabati, invece di passare il tempo con gli amici come facevo di solito, rimanevo a casa e programmavo.

Quando costruisci la tua tabella di marcia, tieni a mente: contrariamente a gran parte dell'hype di marketing che hai visto, non esiste un corso di programmazione magica, nessun programma magico, nessun bootcamp magico che ti "renderà" uno sviluppatore. Molte persone mi chiedono quale corso online ho usato per imparare a programmare come se ci fosse un "biglietto d'oro" che ti trasformerà in uno sviluppatore.

Non c'è.

Solo tu puoi farti uno sviluppatore.

La tua grinta e determinazione ti porteranno lì. Ma ho anche usato un metodo rivoluzionario per imparare a programmare per diventare uno sviluppatore.

Cosa è stato?

2. Allena la tua attenzione.

Ci sono un milione di corsi di codifica gratuiti disponibili per tutti.

Se è così facile accedere a corsi di codifica gratuiti, perché è così difficile imparare a programmare? Perché è così difficile diventare uno sviluppatore?

Perché molti di noi non conoscono l'abilità vitale necessaria per apprendere e padroneggiare i linguaggi di programmazione. Questa abilità si chiama Deep Work resa popolare dallo scienziato informatico, Cal Newport.

TL; DR: per imparare cose difficili, devi concentrarti intensamente per lunghi periodi. Questo è un lavoro profondo.

Ma la maggior parte di noi sta attivamente uccidendo la nostra capacità di concentrazione e poche persone fanno un lavoro profondo.

Pensa all'ultima volta che sei rimasto in fila. Quanto tempo trascorre prima di sentirti costretto a prendere il telefono e controllare le notifiche? O che dire di questo stesso articolo - sei passato a una nuova scheda durante la lettura? Hai controllato il tuo account Twitter?

Oggi è la norma avere la capacità di attenzione di un pesce rosso. Ed è per questo che è così difficile imparare cose complesse come la programmazione. Una volta capito questo, mi sono reso conto che se mi fossi impegnato a fare un lavoro profondo, avrei potuto imparare le cose difficili che dovevo sapere per diventare uno sviluppatore.

Quando ti siedi per programmare, imposta un timer per 90 minuti. Per tutto quel tempo, concentrati sull'app che stai creando o sul problema di codifica che stai cercando di risolvere. Non controllare le tue notifiche. Non aprire una nuova scheda. Quando ti ritrovi a sognare ad occhi aperti, riporta rapidamente la tua attenzione alla programmazione.

Allena la tua concentrazione come se la tua carriera futura dipendesse da questo - perché lo fa.

Senza praticare un lavoro profondo, oggi non sarei uno sviluppatore.

3. Insegui la tua curiosità.

Quando la maggior parte delle persone decide di imparare a programmare, iniziano un curriculum di cose che dovrebbero "sapere".

Poi si annoiano. Proprio come a scuola, quando stai imparando cose nuove solo perché dovresti impararle, ma non sai perché devi impararle o perché ti preoccupi. Perdere interesse è facile.

Per imparare a programmare, trova una cosa sulla programmazione che ti affascina. Trova ciò che ti rende abbastanza curioso da conoscerlo di sabato sera, perché a volte dovrai farlo.

C'è una battuta di Alice nel paese delle meraviglie che è bloccata con me:

Non aveva mai visto prima un coniglio con una tasca del panciotto o un orologio per toglierlo e, bruciando per la curiosità, lo inseguì.

Mentre ho lavorato con più sviluppatori senior nella mia carriera, mi sono reso conto: i migliori programmatori non devono sforzarsi di imparare sempre di più. Stanno sempre imparando perché, come Alice, stanno bruciando di curiosità.

Alcuni provano a scrivere il codice in una lingua e la odiano, quindi scelgono un'altra lingua e la adorano. Assicurati di provare diversi linguaggi di programmazione e di conoscere diversi campi all'interno della programmazione per scoprire ciò che accende la tua curiosità.

Se hai provato a imparare a programmare più volte da diverse angolazioni e hai ancora la sensazione di forzarti, la codifica potrebbe non essere adatta a te. Contrariamente al materiale di marketing della maggior parte dei bootcamp, imparare a programmare in tre mesi e ottenere un'offerta di lavoro da $ 100.000 subito dopo, non è la realtà per la maggior parte. La codifica non è uno schema rapido per arricchirsi. Non imparare a programmare se ti annoi, perché ti perderai la ricerca della tua vera curiosità nella vita. Tuttavia, se sei interessato alla tecnologia ma non alla programmazione, ci sono molte altre incredibili e richieste competenze che puoi imparare: design, analisi dei dati e altro ancora.

Se hai una curiosità sulla programmazione, inseguilo. Più insegui la tua curiosità, più ne hai. E mentre insegui la tua curiosità, non preoccuparti da dove vieni. Non preoccuparti della tua mancanza di un diploma di laurea specialistica o di cosa c'è dietro di te.

Indipendentemente dalla tua età, dalla mancanza di una laurea o esperienza precedente, se ami programmare, praticare un lavoro profondo e rendere l'apprendimento una priorità nella tua vita, puoi diventare uno sviluppatore professionista.

Anche se sei un principiante assoluto.

Parti ora.

Se ti è piaciuta questa storia, tieni premuto il tasto ! Per rimanere in contatto con me, iscriviti alla mia newsletter in cui condivido suggerimenti su come imparare a programmare.