Questo può essere un consiglio contraddittorio ma qualcosa che vorrei aver saputo all’inizio. Capisco i pro del cercare di imparare un po’ di tutto. Il vostro istinto naturale può essere quello di voler imparare tutto. Imparerete rapidamente che questo è impossibile e non funziona così.
Ogni programmatore ha una particolare competenza, abilità e può diventare molto granulare. Le aziende ti assumono in base a particolari abilità. Potreste finire per usare un software di cui non avete mai sentito parlare una volta assunti, questo va bene ed è uno scenario molto probabile, ma nel processo di assunzione si valuta che abbiate un particolare set di abilità.
Scegliete un PERCORSO o probabilmente soffrirete di conoscere solo tutto ad un livello base e non sapere nulla ad un livello profondo che è dove sono il vero apprendimento e le sfide.
Questo può significare prima passare attraverso un breve periodo di ricerca e scoperta. Fate in modo che il vostro obiettivo sia quello di arrivare ad un percorso scelto. La scelta principale coinvolta è quale tipo di programmazione vuoi fare (es. web design, front end, back end dev, applicazioni mobili, ecc.) Una volta deciso il percorso, fai una ricerca sugli strumenti standard del settore utilizzati, sui titoli di lavoro, sul tipo di competenze che ci si aspetta che tu abbia ecc. È anche utile decidere per quale tipo di azienda vuoi lavorare. Il tuo lavoro e le tue competenze possono variare molto per esempio tra startup tecnologiche, grandi banche aziendali e organizzazioni non profit.
BUILD PRODUCT. Questo dovrebbe essere il tuo più importante indicatore di progresso.
Questo è forse di nuovo controverso ma ha fatto la differenza per me. Una delle cose con cui ho lottato all’inizio era su cosa concentrarsi mese dopo mese in termini di progresso. È facile perdersi nei risultati dell’apprendimento, nei segni di spunta verdi e nelle notifiche di congratulazioni per il completamento dei corsi online. Questi sono grandi e necessari nel processo di apprendimento. Ma alla fine di tutto, a nessuno interessa veramente cosa hai imparato in un corso, quanti ne hai fatti, o quali certificati digitali hai per averci passato 120 ore.
Quello che gli interessa è quello che hai costruito. Non sto dicendo che i corsi online non hanno valore, possono essere uno strumento estremamente prezioso per imparare ciò che si deve sapere. Ma non fate troppo affidamento su di loro, imparate a configurare il vostro ambiente di sviluppo all’inizio (sì, con il terminale che inizialmente fa paura) e costruite qualcosa.
Quello che costruite da soli, mese dopo mese dovrebbe essere ciò su cui dovreste concentrarvi come pietre miliari del viaggio. Quando fai un colloquio, questo è ciò di cui passerai quasi tutto il tempo a parlare e a mostrare. La gente ama vedere quello che hai costruito.
Non aver paura di immergerti nel profondo.
Questo è stato forse il miglior consiglio che ho ricevuto all’inizio intervistando altri programmatori su questa carriera. Se volete determinare rapidamente se la programmazione è il giusto percorso di carriera per voi, questo è il MIGLIOR MODO PER Mettervi alla prova. Costruirà anche la tua persistenza più velocemente se vuoi veramente ottenere un lavoro entro un anno.
Una volta che hai deciso il tuo percorso scegli un progetto HARD. Forse è una bella app che hai in mente e che usi un framework avanzato per costruirla, nessun progetto è troppo folle. L’obiettivo qui non è il completamento del progetto (anche se sarebbe fantastico), ma vedere quanto lontano si arriva, come si reagisce alla pressione di essere in uno spazio completamente sconosciuto, quanto velocemente si può afferrare un nuovo concetto.
Durante il percorso è probabile che ci si imbatta in concetti nuovi ma importanti che si sarà costretti a superare (es. impostare un ambiente di sviluppo, installare i vostri strumenti, trovare e capire la documentazione, capire come comunicare con un’API, capire come fare una chiamata AJAX, capire come funziona internet, ecc)
I vantaggi di fare questo è che mette tutto l’apprendimento che farete in prospettiva. Dà un senso alle lezioni quando le stai imparando. Vi darà anche la CONFIDENZA di poterlo fare. Ne avrete bisogno per i mesi pesanti e faticosi che vi aspettano. Non abbiate paura di tuffarvi nel profondo, mai.
Siate aperti in termini di tipo di industria o mercato in cui entrate.
È importante avere in mente un percorso e un obiettivo per il tipo di lavoro che si desidera. Ma è anche importante rimanere aperti rispetto alle opportunità che si presentano.
Il mio obiettivo iniziale era quello di entrare in una startup tecnologica, dato che avevo molte connessioni ed esperienza con la scena delle startup a Toronto. Ma sono stato assunto da un’incredibile organizzazione non-profit nello spazio del cinema e delle arti con un grande team, un ambiente divertente, un marchio ben noto e molte opportunità di crescita e apprendimento. La vita è divertente e non sai mai quando un settore o un mercato completamente diverso può avere quello che stai cercando. Ricorda che tutti hanno bisogno di programmatori perché tutti sono in competizione per l’attenzione nello spazio digitale.
Sii aperto e mentre cerchi lavoro, non aver paura di uscire dai tuoi soliti confini. Fai domanda ad alcune organizzazioni casuali ma interessanti che solleticano la tua fantasia. Anche se non stanno esplicitamente assumendo per la tua posizione. Non sai mai chi puoi incontrare o chi può aver bisogno delle tue specifiche competenze. La passione e l’interesse per il tuo lavoro vanno molto lontano e possono aiutare a superare i buchi di esperienza. Il settore meno atteso potrebbe essere quello che ti offre la più grande opportunità.
Fare networking è GRANDE, ma ciò che è più grande è costruire il prodotto.
Questo segue i consigli precedenti e può sembrare ripetitivo, ma lo ripeto per importanza. Questo può anche essere contraddittorio e ancora di più se vieni da un background di business. Lo so, l’ho capito e l’ho vissuto. La tua rete è la tua chiave. Nel diventare un programmatore anche questo è importante, ma non quanto costruire il prodotto. C’è un forte bisogno nel mercato di sviluppatori per il futuro prossimo. Quando sarai pronto ci saranno molte opportunità e persone da incontrare. Ma fino ad allora non importa quante conferenze tecnologiche o eventi di social networking frequenti.
Non sto dicendo di non fare queste cose, sono preziose e importanti per non perdersi nella propria bolla, e per imparare di cosa sta parlando il settore. Ma preoccupatevi di più di costruire il prodotto. Questo vi aiuta anche quando partecipate agli eventi e incontrate gli altri, perché vi dà un obiettivo per le vostre conversazioni. Puoi ottenere un feedback reale e onesto, idee e forse ottimi consigli quando mostri e parli con le persone. Tira fuori il tuo portatile (se è il caso) e mostralo alla gente, ottieni un feedback, esercitati a spiegare il tuo pensiero e il motivo per cui hai costruito X in un certo modo.
Ricorda qui che il design conta e mostrando agli altri ciò che hai costruito, ti costringerà a preoccuparti di cose come UI, UX e visual design. So che questo può sembrare spaventoso, ma dovrete sentirvi a vostro agio a parlare dei vostri progetti quando si tratta di interviste.
Il vostro obiettivo per le interviste: Indirizzare la conversazione verso COSA HAI FATTO.
Per il massimo successo del colloquio, il vostro obiettivo dovrebbe essere quello di dirigere la conversazione verso i vostri prodotti costruiti. Questo non funzionerà sempre e molto probabilmente dovrete fare prove di codifica e tecniche in entrambi i casi, ma ho trovato che questo aiuta molto nel colloquio. Siate pronti a parlare del PERCHE’ avete preso certe decisioni.
Perché avete scelto questo framework/libreria/linguaggio? Perché l’hai costruito in quel modo? Perché hai messo questo pulsante qui (sì, come programmatore sei anche parte del processo di progettazione, sorpresa!)? Perché hai scelto questo metodo per ordinare questa lista? Chi è l’utente (sì, come programmatore sei anche parte del processo di UX, sorpresa!?)
Preparati a parlare dell’utente. Comprendete profondamente l’utente e come il vostro progetto risolve il suo dolore o desiderio. Ai manager che assumono piacerà molto vedere che vi interessa profondamente l’utente e che siete consapevoli di qualsiasi pregiudizio o ipotesi che avete personalmente e che può influenzare il prodotto.
Ricordate che la persona che assume non sta cercando di spaventarvi o di mettere in discussione le vostre decisioni personali. Vogliono che tu vinca. Ma ciò di cui sono più curiosi è come pensate, come reagite alle sfide e quanto vi interessa l’utente e il suo problema. Il modo migliore per dimostrare queste cose è attraverso i vostri progetti.
Continuate finché non ci arrivate.
È un viaggio difficile, pieno di stress, sentirsi persi, non sapere dove si è a volte. È importante non lasciare che le acque turbolente ti facciano desistere. Ricorda che ogni problema che affronti è in realtà un’opportunità mascherata. Qualcosa che forse ti porterà ad un piano più alto o più profondo di comprensione di un concetto. Non essere duro con te stesso per aver fallito. Diventa comodo con il fallire molte volte e abbraccialo come parte del viaggio.
Spero che questo consiglio raggiunga qualcuno là fuori che ne ha bisogno e che sta passando quello che ho passato io, e spero che sia d’aiuto. Puoi farcela, basta andare avanti! 🙌🙌🙌
Grazie per aver letto e seguimi su Medium o Twitter @aellenj