Nonostante i miti popolari, si può diventare uno sviluppatore di software senza una laurea.
Se stai rientrando nella forza lavoro o bloccato in una carriera che non ti piace (amministrazione, operazioni, banche, ecc.), diventando uno sviluppatore di software è totalmente a portata di mano—fino a quando si è disposti a mettere nel duro lavoro.
Secondo US News, gli sviluppatori di software hanno uno stipendio medio di $107.510 all’anno, e un tasso di disoccupazione di 1.,4%, che lo rende una delle carriere tecnologiche più redditizie. Inoltre, la professione offre un equilibrio vita-lavoro superiore alla media.
Ancora di più, il Bureau of Labor Statistics proietta che tra il 2018-28 ci sarà un tasso di crescita del 21%. Nel frattempo, la crescita media per tutte le occupazioni è del 5%. Questo si traduce in 284.100 posti di lavoro.
E indovina un po’? Nonostante le prospettive positive e l’abbondanza di opportunità, solo il 3% dei laureati studia informatica e scienze dell’informazione. Come puoi vedere nell’immagine qui sotto, nel 2020 ce n’erano 1.,4 milioni di lavori di calcolo contro i 400.000 studenti CS.
Ottieni l’immagine: le abilità di programmazione possono portare più sicurezza finanziaria e flessibilità nel tuo giorno per giorno. Ma come si ottiene queste competenze, senza sedersi attraverso quattro anni di classi CS? E ancora più importante, come si fa a terra una di queste carriere in-demand e ben pagati?
Ecco la buona notizia: è totalmente possibile!, Questa guida in 11 passaggi solleverà il velo e ti mostrerà come diventare un ingegnere del software senza una laurea in CS. Quindi continuate a leggere!
Divulgazione: sono un affiliato orgoglioso per alcune delle risorse menzionate in questo articolo. Se si acquista un prodotto attraverso i miei link in questa pagina, posso ottenere una piccola commissione per fare riferimento voi. Grazie!
Che cos’è un ingegnere del software?
Per definizione, un ingegnere del software è qualcuno che scrive il codice dietro i prodotti software (videogiochi, sistemi operativi, app, funzionalità, robot, ecc.).,
C’è una differenza tra un ingegnere del software e uno sviluppatore di software? Non proprio. I termini sono praticamente usati in modo intercambiabile, e le aziende tendono a vederli come la stessa cosa. Quando sei a caccia di un lavoro di ingegneria del software, assicurati di cercare e guardare i post sia per “ingegnere del software” che per “sviluppatore di software” per ottenere il maggior numero di risultati.,
Come Diventare un Ingegnere del Software Senza una Laurea
Prima di iniziare, capire che i passaggi seguenti sono specifici per coloro che cercano un lavoro a tempo pieno (ho abbreviato in FTJ) come un ingegnere del software.,
saranno meno utile per la persona che è:
- Dilettando con il codice per la prima volta
- Incerto se la codifica è di destra per loro
- che intendono perseguire web design, UX, UI, o qualsiasi altro disegno di campo relativi
- Volendo per freelance a tempo pieno
- Sperando di iniziare il loro proprio commercio
Ma quelli sono tutti grandi cose per essere indirizzata verso, e il resto del blog è pieno di contenuti su questi argomenti troppo!
Ora, tuffiamoci in 11 passi di come diventare un ingegnere del software.,
Passo #1: Sii cristallino sul tuo obiettivo finale nell’ingegneria del software
La transizione in una nuova carriera non è facile. Ma quando si ha una destinazione finale in mente, aiuta enormemente quando si colpisce dossi della strada. Un obiettivo cristallino assomiglia a questo:
- “Voglio lavorare come sviluppatore di software in una società tecnologica affermata.”
- ” Voglio lavorare in una nuova startup, come ingegnere del software, nel settore che adoro.”
- ” Voglio costruire le cose su una squadra e essere pagato bene per questo.,”
Non importa le specifiche del vostro sogno, se si vuole fare attraverso tutti i 11 passi, è necessario essere impegnati per l’obiettivo finale di diventare un ingegnere del software a tempo pieno. Questo è ciò che vi porterà avanti quando il gioco si fa duro.
Passo #2: Scegliere un buon software engineering lingua da imparare
Quando si inizia, molte persone si blocca decidere quale linguaggio di programmazione (e framework) dovrebbero imparare. Ruby sulle rotaie? Pitone e Django? MEAN stack? Così tante opzioni, così poco tempo.,
Ecco la cosa: una volta che conosci bene un particolare linguaggio / stack, non è difficile passare a uno nuovo. Ciò significa che quando stai diventando un ingegnere del software, ciò su cui vuoi concentrarti è capire i fondamenti della programmazione. In sostanza, imparare a imparare.
Una volta che hai una solida base, puoi facilmente passare a nuovi linguaggi, framework e tecnologie., Come co-fondatore di Flatiron Scuola Avi Flombaum dice, ” L’aspetto più importante di esso è che si sta imparando a pensare come uno sviluppatore.”
Inizia a codificare ora
Smetti di aspettare e inizia ad imparare! Prendi i miei 10 consigli su come insegnare a te stesso come codificare.
Detto questo, dovresti concentrarti su una lingua / framework per iniziare.
Con così tante lingue là fuori, può essere difficile sapere quale scegliere. Vi consiglio di prendere un po ‘ di tempo per conoscere le diverse lingue. Questa guida per scegliere un linguaggio di programmazione è un ottimo punto di partenza.,
Per molti, Ruby è un ottimo modo per andare.
Ruby è leggibile ed efficiente, rendendo molto più facile mettersi a proprio agio rispetto ad altre lingue. È anche open-source, quindi avrai accesso a molti strumenti e una comunità di altri sviluppatori, il tutto gratuitamente. E forse, cosa più importante, è flessibile: il linguaggio è utilizzato da molte aziende (Airbnb, GitHub, Hulu, Kickstarter, ecc.) e ti dà una solida base per espanderti in altre lingue in seguito.,
Passo #3: Pratica lo sviluppo del software…e pratica ancora un po ‘
Mentre lo stack che impari non importa molto, ciò che importa è imparare facendo. Questo significa dedicare un po ‘ di tempo reale per perfezionare il vostro nuovo mestiere. È necessario mettere da parte una notevole quantità di tempo ogni giorno, ogni settimana, per l’apprendimento.
Non puoi diventare uno sviluppatore di software dopo 10 ore di pratica. Non e ‘ possibile.
Alcune persone dicono che ci vogliono 10.000 ore per diventare un esperto., Ora, non hai bisogno di 10.000 ore di pratica per ottenere il tuo primo lavoro di sviluppatore di software. Ma hai bisogno di dedicare un po ‘ di tempo serio.
Per fare un esempio, l’Informatica Essentials for Software Development curriculum su edX richiede circa 4 mesi (7-9 ore a settimana) per farlo attraverso.
Passo #4: Utilizzare strumenti che gli sviluppatori di software reali utilizzano
Mentre le risorse gratuite come Codecademy sono grandi, non sei in un ambiente del mondo reale quando li si utilizza., Invece, si sta digitando direttamente nel browser web e ottenere un punteggio basato su un quiz o qualche altro tipo di attività interattiva.
Questo è certamente utile come un modo per abituarsi a codificare e solidificare i concetti nella tua mente. Tuttavia, nel mondo reale, non lavorerai in questo modo. Quindi, quello che vuoi fare fin dall’inizio è costruire come costruiscono i veri ingegneri. Si desidera utilizzare gli strumenti che usano. Lungo la strada, questo renderà molto più facile la transizione in un ruolo a tempo pieno e unirsi a una squadra.,
Ma è difficile costruire il modo in cui i veri sviluppatori costruiscono e usano gli strumenti che i veri sviluppatori usano, quando inizi per la prima volta. (Se sei qualcosa di simile a me, è difficile anche sapere da dove cominciare.)
La buona notizia è che ci sono programmi là fuori che ti insegnano come usare questi strumenti—come il controllo di versione con Git, un corso online attraverso Coursera.,
il Suo curriculum tocca gli strumenti e i processi reali ingegneri utilizzano ogni giorno, come:
- Git/GitHub
- interfaccia Della riga di comando
- Bitbucket
Questo vi permetterà di regolare molto più veloce una volta che siete in un lavoro vero e proprio, piuttosto che avere ancora un’altra ripida curva di apprendimento per padroneggiare.
Un altro corso Git da controllare è l’ultimo corso Git Mastery per codice con Mosh, che viene insegnato da un ingegnere del software con oltre 20 anni di esperienza nel settore.,
Passo #5: Leggi il codice scritto da altri ingegneri del software
Un altro aspetto importante di diventare un ingegnere del software è imparare a leggere il codice di altre persone. Puoi farlo sfogliando i repository GitHub e guardando attraverso la documentazione.
A volte, la documentazione può essere sbagliata but ma il codice sorgente non mente mai. Imparando a leggere quel codice, sarete in grado di capire cosa sta succedendo e come funziona un programma., (Questa abilità è importante anche quando si tratta di debug, perché sarete in grado di identificare quale parte del codice non dovrebbe essere lì.)
Questa è spesso un’abilità trascurata, ma può davvero giovarti vedere come gli sviluppatori esperti fanno le cose. Non solo fare una rapida scrematura del codice, neanche. Approfondire in profondità, imparare i pro ei contro, mappare la funzionalità, e, infine, ricreare se è possibile. In questo modo, sarete in grado di decodificare un programma esistente, aiutandovi a capire che molto meglio come creare uno dei vostri propri.,
Passo #6: Trovare una comunità di ingegneria del software di supporto
Trovare una comunità per imparare con può fare o rompere il vostro successo come ingegnere del software—soprattutto quando si è appena agli inizi. Quando sei circondato da una comunità di persone che la pensano allo stesso modo, hai un sistema di supporto automatico: un gruppo di individui che puoi chiamare quando ti trovi in difficoltà o perdi motivazione. (Entrambi i quali possono accadere al meglio di noi!,)
Esistono gruppi di persone, ma possono essere difficili da coordinare e non sono accessibili in ogni area. Ma chiunque può entrare in una comunità online, e sono altrettanto utile.
Mentre si impara con Launch School, una scuola online per ingegneri del software, ad esempio, si ottiene l’accesso a un forum della comunità, dove gli studenti della scuola di lancio condividono consigli di studio, creano gruppi di studio, si aiutano a vicenda con problemi e tutto il resto che ci si aspetta da una scuola dedicata., Avrai anche accesso alla loro chatroom Slack, dove studenti e personale si ritrovano per tutto il giorno. Per non parlare di una serie mensile di webinar in stile meetup chiamata ” Tech Talks.”
Anche Zero to Mastery è simile-con oltre 150.000 studenti, alunni, TAS, mentori e istruttori registrati al loro server Discord, hanno molte opportunità di fare rete e trovare il supporto di cui hai bisogno mentre studi!,
Passo #7: Costruire progetti di codifica effettivi
Non basta leggere tutorial e guardare video—mettere le vostre abilità in uso. Risolvi i problemi lungo la strada, proprio come fanno gli sviluppatori di software di tutti i giorni. Quando si esegue questa operazione, non solo ulteriormente il vostro apprendimento, si mostra anche potenziali datori di lavoro che si può incidere. (Perché l’obiettivo finale è quello di ottenere un lavoro, giusto!?)
Puoi costruire progetti da solo o con un gruppo.,
Ad esempio, entro la fine di Hello Coding di Mammoth Interactive: chiunque può imparare a codificare (170 ore), avrai un sacco di progetti da sfoggiare. Potrai costruire diverse applicazioni durante il corso. E non sono solo noiosi progetti di “riempire gli spazi vuoti”: includono un clone di Flappy Bird game, un gioco di ping pong 3D, un’app meteo per iOS e un’app di calcolatrice finanziaria per il web.,
Con Techdegree del Team Treehouse, potrai costruire 9-12 progetti del mondo reale che ti danno la possibilità di praticare ciò che hai imparato, tra cui uno strumento di statistiche di basket, numero indovinando gioco, negozio app inventario, e altro ancora. Questi progetti saranno esaminati e classificati da professionisti del settore o studenti Treehouse per essere sicuri di rimanere in pista.
E se JavaScript è la tua borsa, Zero to Mastery ha 20 progetti che puoi costruire e aggiungere al tuo portfolio., Questi progetti sono un ottimo modo per aumentare le tue abilità, portandoti da un principiante a uno sviluppatore sicuro – e poter avere progetti finiti da aggiungere al tuo portafoglio è un ulteriore bonus.
Passo #8: Coltiva la tua rete tecnologica professionale
Mentre impari a codificare, costruire progetti, ecc., Lei dovrebbe essere lentamente ma certamente coltivando la Sua rete professionale., Perché quando si tratta di trovare un ottimo lavoro, ci vuole più di una semplice domanda di lavoro online (che, in questi giorni, può essere solo una perdita di tempo).
Invece, si vuole costruire una rete forte. Per cominciare, contare sulle connessioni esistenti. Secondo Jobvite, il 40% delle nuove assunzioni arriva tramite il referral dei dipendenti, rendendolo il modo più comune.
Al di là di attingere alla rete di primo grado, è anche possibile ottenere intro per le connessioni di secondo grado (amici di amici)., L’obiettivo è quello di organizzare incontri informali di caffè con persone collegate alle aziende per cui vorresti lavorare, che costruiscono connessioni e talvolta portano a vere e proprie interviste.,
Un paio di altri modi per fare nuove connessioni senza avere un amico in comune:
- Vai al meetup
- Mantenere un blog (che vi darà l’esposizione)
- Volontariato
- Parlare in occasione di eventi
Ottenere coinvolti, e di contribuire alla tecnologia/software engineering comunità, e quasi inevitabilmente, con la possibilità di venire da te.,
Il modo più veloce per atterrare un lavoro Tech è un corso che ti insegna strategie di networking, tra cui il motivo per cui si dovrebbe frequentare gruppi meetup e il modo migliore per commercializzare se stessi come un techie.
Un’altra buona opzione? Entra nella terra di Tech il lavoro perfetto con LinkedIn masterclass. Si va oltre come costruire un esercito di sostenitori + metterli a lavorare per voi, ottenere un rinvio che si ottiene un colloquio garantito e sfruttare informazioni privilegiate per asso tua intervista + negoziazione.,
Passo #9: Padroneggia i tuoi elementi essenziali pre-intervista
Dopo aver iniziato a costruire connessioni con colleghi e influencer sul campo, sarà il momento di prepararsi per applicare ai lavori stessi. (Tuttavia, se si effettua una connessione solida-si può arrivare a saltare questo passaggio del tutto!)
Ma prima di inviare le applicazioni o chiedere i rinvii diretti, è necessario padroneggiare tre cose: curriculum, lettere di copertura, e la vostra presenza online.
Anche in un mondo di modernizzazione, i curriculum sono necessari., I responsabili delle assunzioni li guardano ancora per ottenere un’istantanea delle tue abilità ed esperienze. Allo stesso modo, lettere di copertura sono necessari quando si applica per i lavori on-line; sono la vostra occasione per ottenere l’attenzione di qualcuno e fare impressione.
Queste sono le basi in tutti i settori. Ma al di là di curriculum e lettere di copertura, c’è anche la vostra presenza online da considerare.
Questo è incredibilmente importante per chiunque nel settore tecnologico, ed è qualcosa che dovresti costruire e mantenere nel tempo., La tua impronta digitale è importante perché è ciò che i reclutatori e i responsabili delle assunzioni vedranno quando Google il tuo nome prima di invitarti per un colloquio.
la Tua presenza online, come sviluppatore software, si compone di un paio di cose:
- profilo di LinkedIn
- Disponibile
- sito Personale (o di un portafoglio sito)
- Blog (che può essere aggiunta al tuo sito personale)
i Datori di lavoro di controllare questi e formano impressioni di voi in base a quello che vedono. Quindi assicurati che quelle impressioni siano buone!,
Passo #10: Ace il tuo colloquio di lavoro ingegnere del software
Infine, c’è l’intervista stessa. La maggior parte delle aziende iniziano con un colloquio di screening, di solito fatto on-line, a casa. Dopo di che arriva un colloquio telefonico. Se riesci a superare quei due, farai l’intervista sul posto.
Oltre allo standard “maggiore forza / debolezza ecc. ecc.,”domande, dovrai essere pronto per domande tecniche e comportamentali. Potrebbe essere richiesto di creare un progetto o di lavorare attraverso una sfida di codice o descrivere come hai gestito situazioni difficili in passato.
Una risorsa utile da consultare è il libro Cracking the Coding Interview. Un altro è Imparare a codice con Me molto proprio approfondita guida intervista tecnica.
Fortunatamente, non devi prepararti da solo. Ad esempio, Interview Cake ha un intero corso su acing the tech interview, incluse oltre 50 ore di domande di pratica., Imparerete i trucchi per risolvere rapidamente i problemi che non hai mai visto prima (e ottenere offers 30.000+ più alto stipendio offre).
Leggi la mia recensione di Torta intervista.
AlgoExpert è un’altra piattaforma online che ti aiuta a preparare le interviste di codifica, con oltre 85 domande raccolte a mano (in 7 lingue diverse) e oltre 55 ore di spiegazioni video.
Un’altra buona opzione di preparazione dell’intervista?, Byte per byte, con la pratica di codifica domande di intervista, consigli intervista comportamentale, e tutto il resto è necessario ace vostra intervista di codifica.
Passo #11: Accetta l’offerta di lavoro e diventa ufficialmente un ingegnere del software!
Congrats-hai incrinato come diventare un ingegnere del software e hanno una carriera emozionante davanti a voi!
Dopo aver superato una serie di interviste e aver dimostrato le tue nuove abilità, è solo questione di tempo prima di ricevere un’offerta. E sì, potrebbe essere entry-level in un primo momento, ma si deve iniziare da qualche parte!, Assicurati di controllare i nostri 5 consigli di negoziazione stipendio per gli ingegneri del software.
Mentre continui a imparare e crescere come sviluppatore, continuerai a scalare la scala della carriera in posizioni più grandi e migliori.
È difficile diventare un ingegnere del software?
Risposta breve: sì. Non è facile, e posso garantire che a volte ti sentirai frustrato. Ma è assolutamente fattibile. E probabilmente si può anche ottenere tutto da soli, attraverso l’auto-insegnamento e networking., Molte persone sono passate con successo allo sviluppo di software in questo modo.
Tre ospiti del Podcast Learn to Code With Me hanno storie che dimostrano questa cosa!
- Clément Mihailescu è passato da newbie coder a Google software engineer in soli 6 mesi.
- Christina Gorton è stata una mamma a casa per cinque anni prima di interessarsi alla tecnologia. È riuscita a salire di livello le sue abilità e ad ottenere un lavoro come sviluppatore junior remoto in soli nove mesi.,
- Josh Kemp è passato da fabbro e maniscalco a sviluppatore junior in poco più di 9 mesi (827 ore di studio totali).
Il fatto è che, per la maggior parte delle persone, imparare da soli rende tutto più difficile, sia che si tratti di padroneggiare le abilità o di cercare lavoro.
Ecco perché ha senso avere aiuto.
Launch School, ad esempio, consente di velocizzare la tua carriera come ingegnere del software., Ciò che differenzia davvero il programma di Launch School è che ti insegna a padroneggiare i concetti importanti dello sviluppo del software che rimangono solidi e coerenti anche mentre la tecnologia è in rapida evoluzione, quindi costruirai abitudini per tutta la vita che ti aiutano ad avere successo.
In definitiva, il loro obiettivo non è solo quello di aiutarti a trovare un lavoro, ma di aiutarti a lanciare una carriera. I laureati della Launch School sono stati assunti presso aziende leader del settore tra cui Intel, Peloton, HP e LinkedIn, oltre a startup in rapida crescita.
E i numeri non mentono., Negli ultimi 3 anni, il 100% dei laureati del programma ha accettato offerte di lavoro entro 180 giorni dalla laurea. In 2018, i laureati Capstone guadagnavano in media within 122,316 entro 12 settimane.
A parte i numeri, uno dei modi migliori per avere un’idea di un programma è quello di sentire da coloro che lo hanno fatto prima. La maggior parte degli ex studenti della scuola di lancio riportano grandi esperienze con il programma., Ecco cosa hanno detto alcuni di loro:
- “Launch School non ha fatto a meno di trasformare radicalmente la mia vita e dare il via alla mia carriera.”- Tannr
- ” Non posso raccomandare abbastanza Scuola di lancio. Onestamente non sarei nella carriera che sono oggi, o appassionato come lo sono oggi, senza tutto il duro lavoro e la dedizione che hanno messo nella progettazione del programma e nel suo continuo miglioramento.”- Steve
- ” Launch School mi ha dato tutti gli strumenti di base di cui avevo bisogno per iniziare a costruire applicazioni software utili e significative., Se siete sul serio imparare a programmare e può mettere il tempo in un periodo di tempo prolungato, questo programma è per voi!”- Charlie
Se hai un sogno di diventare uno sviluppatore di software e vuoi il percorso più diretto per raggiungere questo obiettivo, vale sicuramente la pena di controllare Launch School.
Inizia a codificare ora
Smetti di aspettare e inizia ad imparare! Prendi i miei 10 consigli su come insegnare a te stesso come codificare.
Alla ricerca di qualcosa di un po ‘ meno intenso rispetto al curriculum di 8-16+ mesi di Launch School?,
Nel passaggio #2, hai scelto il tuo linguaggio di programmazione. Ora, dare il via alle cose scegliendo un corso che insegna quella lingua.
- Pluralsight ha corsi che coprono Python, Java, c# e altro ancora.
- Squadra Treehouse ha corsi in Java, Ruby on Rails, PHP, Python, e altro ancora.
- Udacity ha corsi in JavaScript, Java, Kotlin, Python e altro ancora.
Quindi, qui lo avete — 11 passi per diventare un ingegnere del software. Tutto quello che dovete fare ora è mettere nel lavoro!
Nota: ci sono link di affiliazione in questo post.