Come lavorare come sviluppatore di software

Autore: Peter Berry
Data Della Creazione: 19 Lang L: none (month-012) 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Si trova lavoro come web developer? Lavorare come programmatore in Italia
Video: Si trova lavoro come web developer? Lavorare come programmatore in Italia

Contenuto


Non c'è mai stato un momento migliore per diventare uno sviluppatore di software. La richiesta di sviluppatori di software è in costante aumento, così come la varietà di lavoro che hanno il compito di completare. Poi c'è la paga.

Secondo USNews.com, lo sviluppatore software medio ha guadagnato $ 101.790 nel 2017. Secondo Gorroo.io, lo sviluppatore medio di C # guadagna $ 102k all'anno.

In breve, la programmazione è una delle competenze più richieste al mondo in questo momento. Se stai cercando di lavorare online o di prepararti per il prossimo passo della tua carriera, ci sono poche mosse più intelligenti rispetto all'apprendimento del codice.

Lo sviluppatore C # medio guadagna $ 102k all'anno.

Ma da dove cominciare? Se sei qualcuno che non si è dilettato nel codice in passato, allora potresti ritrovarti completamente a corto di come iniziare. In questo post, esploreremo tutto ciò che devi sapere: cosa fa uno sviluppatore di software, quali qualifiche potresti aver bisogno e come trovare lavoro.


Cosa fa uno sviluppatore di software?

Uno sviluppatore di software è qualcuno che sviluppa software. Ciò significa che scriveranno codice, useranno strumenti e spesso porteranno un progetto dal suo inizio al suo completamento. In alternativa, potrebbero essere assunti per identificare bug nel codice esistente o per aggiornarlo / aggiungere nuove funzionalità.

In entrambi i casi, il tuo lavoro consisterà principalmente nella risoluzione di problemi utilizzando una varietà di linguaggi di programmazione, API e strumenti. Potresti lavorare su progetti direttamente per i clienti, tramite un'agenzia o come parte di un'organizzazione più grande.

Tipi di sviluppatori software

Il motivo per cui "sviluppatore di software" è un termine così ampio, è che ci sono così tanti diversi tipi di software su cui ti potrebbe essere chiesto di lavorare, e così tanti strumenti diversi che potresti usare per portarlo a compimento.


Uno sviluppatore di software potrebbe anche lavorare come sviluppatore web o "sviluppatore full stack" per creare un sito Web o aggiungere funzionalità interattive. Possono sviluppare app mobili o lavorare su strumenti di settore interni.

Un'altra distinzione da considerare: sviluppatore software vs ingegnere software, qual è la differenza?

Sebbene entrambi questi termini possano essere usati in modo intercambiabile, la differenza sta nel tipo di lavoro da completare e nell'approccio adottato. Gli ingegneri del software guardano il codice da un punto di vista ingegneristico: considerano il ciclo di vita, osservano errori e bug e in genere lavorano su grandi progetti tra team più grandi.

Gli sviluppatori di software, invece, hanno maggiori probabilità di essere il principale direttore creativo di un progetto. Sviluppano software dall'inizio alla fine per un cliente o un'organizzazione, di solito al fine di svolgere un ruolo specifico.

Quindi, se lavori per Facebook come parte del suo team di ingegneri, sei un ingegnere del software. Se crei app per client, sei uno sviluppatore di software. Ma potresti essere chiamato entrambi in entrambe le situazioni.

Di quali competenze e qualifiche ha bisogno uno sviluppatore di software?

Per essere uno sviluppatore di software, devi imparare a programmare.

La domanda successiva è: "qual è il miglior linguaggio di programmazione da imparare" o "quali linguaggi di programmazione vogliono i datori di lavoro?"

Mentre è certamente vero che alcuni linguaggi di programmazione sono più richiesti dai clienti e dai datori di lavoro (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby), la verità è che questo dipende interamente dal tipo di lavoro che vuoi fare . Ecco alcuni esempi.

Sviluppatore full stack

Python, JavaScript, PHP e Ruby sono tutti linguaggi usati per lo sviluppo web. Se stai lavorando su un portale online o stai aggiornando app Web come Twitter, alcune di queste saranno probabilmente utili. In questo ruolo potrebbe anche essere vantaggioso comprendere i database (SQL) e conoscere un server.

Uno "sviluppatore full stack" è uno sviluppatore web che ha raggiunto la sua forma finale: qualcuno in grado di gestire ogni aspetto del web design e della manutenzione, dal front-end (HTML, CSS, JavaScript), al back-end (PHP, Python, Ruby), alla manutenzione del server. Questo tipo di professionista è molto richiesto.

Ecco un ottimo corso di Udemy se vuoi saperne di più: Bootcamp per sviluppatori Web Full Stack.

Sviluppatore mobile

Se sei interessato a sviluppare app Android, tuttavia, dovrai imparare Java o Kotlin (idealmente entrambi). Dovrai familiarizzare con Android Studio, Android SDK (Software Development Kit) e tutti i nuovi concetti che Google introduce costantemente (come app istantanee o bolle).

Leggi di più: Come trovare lavoro come sviluppatore Android

Se vuoi creare app iOS per vivere, dovresti imparare Swift e Objective C e familiarizzare con Xcode. Se vuoi creare app di Windows o utilizzare multipiattaforma, avrai bisogno di C # e di una comprensione di Visual Studio.

Sviluppatore di giochi

Per diventare uno sviluppatore di giochi, dovresti assolutamente imparare C # e idealmente C ++. Dovresti conoscere i grandi motori di gioco (Unity e Unreal) e potresti voler aggiungere un po 'di CAD al tuo skillset.

La guida definitiva a Unity per lo sviluppo di giochi a Udemy è un buon punto di partenza.

Questo sta solo graffiando la superficie. Altri sviluppatori di software lavoreranno su software con elettronica, gestione di big data e altro ancora.

Poi ci sono gli strumenti specifici che le aziende useranno per gestire il loro flusso di lavoro e collaborare a progetti più grandi. Quando ho visitato Facebook a Londra qualche mese fa, mi hanno presentato i numerosi strumenti che l'azienda utilizza per mantenere i progetti in pista. Includono Phabricator, Mercurial, Sapienz e molti altri.

Certamente, strumenti come Github (usato per il controllo della versione) sono probabilmente utili per ingegneri del software e sviluppatori che lavorano in una varietà di settori. Anche le app di gestione dei progetti come Asana o Basecamp sono molto utili per il lavoro remoto. Mostrare di avere esperienza in queste aree completerà ulteriormente il tuo CV e ti renderà ancora più occupabile.

Riassumendo: ciò che devi sapere dipenderà dal tipo di sviluppatore software che vuoi diventare.

Le migliori certificazioni per sviluppatori di software

Quindi, una volta che hai scelto il tipo di lavoro che vuoi fare e il tipo di codice che vuoi scrivere, il tuo prossimo lavoro è identificare il tipo di formazione che ti servirà. Hai bisogno di una laurea per diventare uno sviluppatore di software?

La risposta breve è no. La risposta più lunga è no, ma sicuramente aiuta.

Mentre è possibile ottenere un impiego senza una laurea, una laurea in informatica sarà comunque un requisito per una grande varietà di organizzazioni e datori di lavoro. Ti darà anche un'eccellente comprensione di base e un vantaggio competitivo rispetto ai candidati non laureati.

Leggi di più: A prova di futuro della tua carriera e stipendio come analista della sicurezza delle informazioni

Allo stesso modo, una laurea ti darà un vantaggio sugli altri candidati durante il processo di candidatura.

Ma i diplomi sono costosi e la maggior parte degli adulti non ha la possibilità di adattarli al loro stile di vita frenetico. In tal caso, la cosa migliore da fare è seguire corsi online e ottenere la certificazione che può dimostrare una comprensione di base.

Esistono molte certificazioni riconosciute dal settore che ti daranno un certo peso durante la candidatura.

Ad esempio, puoi ottenere la certificazione Unity direttamente dall'azienda, il che può rivelarsi prezioso per gli sviluppatori di giochi. Se desideri diventare uno sviluppatore Android, potresti richiedere di diventare uno sviluppatore Android associato che è un programma ufficiale gestito da Google. Oppure potresti scegliere di diventare uno sviluppatore di applicazioni certificate Android, che è abbastanza ben riconosciuto.

Certificazioni come queste offrono tranquillità ai clienti e alle aziende che intendono assumerti. Dimostrano che hai davvero le conoscenze che pretendi di avere, il che significa che possono portarti al passo con un minimo di addestramento aggiuntivo.

Google semplicemente il tipo di lavoro che ti interessa e trova le certificazioni più conosciute in quella zona. Se non sei sicuro, scegli una delle grandi lingue come C # o Java, oppure cerca un corso di informatica o full stack che coprirà un sacco di terreno.

Hai bisogno di certificazioni per essere uno sviluppatore di software?

L'opzione più economica sarebbe quella di diventare uno sviluppatore di software senza certificazione o qualifiche. Ma è possibile trovare lavoro come sviluppatore puramente autodidatta?

Vi posso garantire che lo è, poiché è esattamente quello che ho fatto. Ho imparato la programmazione BASIC su uno ZXSpectrum e da lì ho migliorato le mie conoscenze con QBASIC, B4A, quindi Java, C #, Python e altro.

Il modo in cui sono stato in grado di farlo è stato lasciando che il mio CV parlasse per me. Ho sviluppato un'app Android di successo che ha avuto oltre 100.000 download a pagamento, ha lavorato con alcuni nomi abbastanza grandi sul retro di questo, e poi ho scritto un libro tecnico sullo sviluppo del gioco per Apress Media (Springer).

Tali risultati forniscono esattamente lo stesso tipo di garanzia per i clienti di un certificato e mi consentono di addebitare molto più di quanto avrei potuto altrimenti.

Consiglio vivamente di sviluppare app e siti Web nel tempo libero per servire da esempio per il tuo lavoro, fare un lavoro economico per gli amici per creare un portfolio, essere coinvolto in progetti open source su GitHub o partecipare a hackathon.

La maggior parte dei siti freelance come UpWork offre anche brevi test che è possibile completare per dimostrare la propria conoscenza di base.

Anche senza quel tipo di esperienza, se accetti di ricevere il pagamento alla ricevuta, non addebitare troppo e fornire esempi del tuo lavoro, dovresti essere in grado di ottenere subito alcuni lavori.

Per quanto riguarda la ricerca di lavoro con grandi datori di lavoro, alcuni professionisti suggeriscono che la certificazione potrebbe non essere di alcun aiuto.

Questo perché, una volta che conosci un linguaggio di programmazione, è relativamente semplice capire gli altri. Mentre la sintassi, gli strumenti e alcune regole potrebbero essere differenti; la prima lingua che impari è di gran lunga la più difficile. Esiste un equivalente di "if" in quasi tutte le lingue che imparerai.

una volta che conosci un linguaggio di programmazione, è relativamente semplice capire gli altri.

Quando si lavora all'interno di un'organizzazione, sarà sempre necessaria la formazione. Pochissimi datori di lavoro si aspettano che tu sappia tutto immediatamente e, in tutta onestà, c'è un'enorme quantità di errori che si verificano nella carriera di qualsiasi ingegnere del software. Aspettatevi di sentirvi completamente fuori dalle vostre profondità e pieni di "sindrome dell'impostore" quando iniziate. Ma non preoccuparti, è così che tutti si sentono!

Come insegnare a te stesso il codice

Insegnare te stesso al codice è un processo impegnativo e concetti avanzati come la programmazione orientata agli oggetti possono essere difficili da decifrare. Fortunatamente, c'è una grande quantità di materiale gratuito disponibile online; abbiamo già messo in evidenza un paio di fantastici corsi di Udemy e ce ne sono molti altri. Ad esempio, abbiamo un corso per sviluppatori Android gestito da Gary Sims.

Ecco alcuni strumenti eccellenti per l'apprendimento del codice in questo momento:

  • Un ottimo corso che insegnerà Python per la scienza dei dati.
  • Bundle di codifica C #
  • Bundle di formazione per sviluppatori web in nove parti

E ci sono molti ottimi corsi su siti come SkillShare.

Guarda anche: Come avviare lo sviluppo di app Android per principianti completi in 5 passaggi

Lavora attraverso questi in modo logico ed esercitati con i tuoi progetti. All'inizio è difficile, ma se ti concentri sugli aspetti che ti piacciono, ci arriverai.

Trovare lavoro retribuito come sviluppatore di software

L'ultimo pezzo del puzzle è trovare lavoro retribuito, come appaltatore, impiegato a tempo pieno da casa o libero professionista.

Trovare lavoro freelance è principalmente una questione di utilizzo di siti di elenchi di lavoro, siti freelance come PeoplePerHour o UpWork.

Esistono anche siti freelance rivolti specificamente a sviluppatori e ingegneri del software. Questi includono Rent-a-code e persino Stack Overflow.

Esistono altri modi per guadagnare denaro con esperienza come sviluppatore di software. Potresti diventare uno scrittore (come ho fatto alla fine) e scrivere tutorial per blog o libri per editori tecnici. Puoi insegnare attraverso corsi online; perché non creare il tuo corso Skillshare?

Pixel 4 i contenuti ono offerti da MNML Cae, i produttori della cutodia per telefono più ottile al mondo. Riparmia il 25% ulla cutodia Pixel 4 o Pixel 4 XL utilizzando il codice conto AAPixel4....

Aggiornamento, 8 luglio 2019 (1:50 ET): XDA-Developer i riferimenti coperti a una teleobiettivo poteriore nell'ultima verione dell'app Google Camera la cora ettimana. Ma embra che l'app po...

Pubblicazioni Popolari