Perché i programmatori sembrano sempre così felici? La risposta a questa domanda è semplice e disarmante: perché fanno il lavoro che amano e hanno un sacco di soldi.
Benvenuti nel mondo dei programmatori.
Lo stipendio del programmatore
Vorrei parlare degli stipendi dei programmatori. Com'è la situazione salariale, dove è meglio lavorare e dove invece no. Se non siete programmatori e cercate di capire da soli questo argomento, potreste ottenere una serie di dati molto contraddittori.
Il fatto è che il fattore principale che influisce sullo stipendio di un programmatore non è tanto la sua qualificazione, quanto il luogo di lavoro. A volte, con la stessa qualifica, la differenza tra un buon e un cattivo posto può raggiungere 2–10 volte(!)
In un preciso momento la vostra qualifica è costante. Non potete diventare due volte più esperti in un mese e guadagnare il doppio. Ma potete cambiare lavoro in un mese e guadagnare il doppio. Scopriamo quindi dove è meglio lavorare.
Ecco tre fattori che influenzano molto il livello salariale nelle aziende:
1) Lo sviluppo software è il core business dell'azienda?
2) L'azienda è orientata al mercato internazionale o a quello interno?
3) Il proprietario dell'azienda è una società occidentale o nazionale?
Notate che la città in cui vivete non gioca un ruolo decisivo. Cioè, se guadagnate 10 volte meno vivendo a Dresda rispetto a un vostro conoscente a New York, significa che hanno influenzato i fattori elencati sopra.
Cifre concrete
È difficile fornire cifre precise per il mondo intero. Descriviamo la situazione nell'Europa orientale, che in generale è valida per tutti i paesi dove l'outsourcing/outstaff IT è più o meno sviluppato.
Ecco quanto può guadagnare un Java Senior Developer con cinque anni di esperienza, a seconda del livello dell'azienda in cui lavora:
| Livello | Stipendio mensile | Descrizione |
|---|---|---|
| 1 | $200 – $500 | In fondo ci sono le aziende dove l'IT non è il core business, il cliente è il mercato interno e il proprietario è lo stato. Ad esempio, il reparto IT dell'agenzia delle entrate o di un'altra organizzazione statale. |
| 2 | $500 – $1500 | Sotto la media si trovano i reparti IT di varie strutture non statali: banche ecc. |
| 3 | $1,000 – $2,500 | Livello medio: aziende che si occupano di sviluppo software |
| 4 | $3,000 – $4,000 | Sopra la media: aziende che sviluppano software con clienti occidentali |
| 5 | $4,000 – $5,000 | In cima ci sono aziende che sviluppano software, con clienti occidentali e proprietari occidentali. Sono poche. Le posizioni aperte non sono frequenti e entrare non è facile. Ma esistono. |
Qual è la cosa più strana in questa situazione?
La metà di tutti i programmatori lavora in aziende di livello 1 e 2.
Volete sapere qual è il trucco?
Ci sono centinaia di posizioni aperte per programmatori nelle aziende di livello 3 e 4. Queste aziende sono pronte ad offrire salari più alti e, di solito, condizioni di lavoro molto migliori.
Una situazione reale: ci sono due Java Junior. Uno va a lavorare per $100 al mese (azienda di livello 1), l'altro per $1,000 al mese (livello 4). Perché accettare di guadagnare meno?
Cosa si può ottenere, se non si resta fermi
Se vi dedicherete costantemente allo sviluppo personale nell'ambito della programmazione, il vostro stipendio, a partire da oggi, cambierà approssimativamente così (+/- qualche centinaio di dollari a seconda della città in cui lavorate):
Piano
0–3 mesi (Allievo)
Sapete molto poco di programmazione. Forse l'avete studiata a scuola e/o all'università, ma in modo molto superficiale.
Il vostro compito è imparare a programmare e studiare Java.
Il vostro obiettivo è ottenere un lavoro come Java Junior in un'azienda di livello non inferiore al livello 3.
I primi tre mesi del piano non ricevete nulla, poiché state semplicemente studiando programmazione. In futuro, quando avrete famiglia e molti prestiti, cambiare specializzazione sarà molto più difficile. Per correggere l'errore potrebbe essere necessario mettere da parte soldi per un anno di vita normale. Non fate errori stupidi.
3–15 mesi (Java Junior Developer)
Lavorate già come programmatori e la vostra esperienza cresce giorno dopo giorno. Non perdete tempo. Avete ancora molto da fare prima di potervi prendere una pausa sugli allori.
Il vostro compito è studiare le tecnologie che vi serviranno come sviluppatore Middle. Quali tecnologie? Il mondo cambia. Posso consigliare qualcosa ora, ma la vita potrebbe cambiare tutto. Cercate su internet alcune offerte di lavoro e guardate cosa richiedono.
Il vostro obiettivo nel primo anno come Java Junior è crescere fino al livello Java Middle. Nessuno dice che sia facilissimo, ma è assolutamente possibile per una persona determinata. Questo porterà immediatamente un incremento dello stipendio fino a circa millecinquecento.
2º anno di lavoro come programmatore (Java Middle Developer, level 1)
Avete lavorato duramente l'anno scorso e ora siete Java Middle Developer. Con uno stipendio di millecinquecento si può vivere normalmente. Al lavoro vi assegnano compiti seri e la vostra esperienza cresce rapidamente. Diventerete Java Senior Developer in due-tre anni. Non ha senso accelerare troppo questo processo. Non otterrete una grande crescita salariale in poco tempo.
Il vostro compito è studiare i pattern di progettazione, leggere "Code Complete" di McConnell. Migliorate la qualità del vostro codice e le capacità di lavoro in team. Potete farvi la regola di leggere un libro IT a settimana. Così in un anno sarete più competenti di molti altri. Non rimandate: non avrete più tempo libero. Probabilmente avrete una famiglia o la vostra famiglia si allargherà, se già esiste.
Il vostro obiettivo è scegliere alcune tecnologie in cui specializzarvi come Senior. Non potete imparare tutto. Diventare un guru in un'area ristretta è una buona strategia.
3º anno di lavoro come programmatore (Java Middle Developer, level 2)
Siete già uno sviluppatore Middle esperto e state pensando di diventare Senior Developer. È piacevole e prestigioso. Il vostro stipendio supera i 2.000 dollari (dati per Kiev). Da questo momento la domanda per professionisti come voi supera l'offerta. Sempre potrete trovare lavoro in pochi giorni e difficilmente guadagnerete meno di adesso. A meno che non facciate qualche stupidaggine.
Il vostro compito è continuare a studiare le tecnologie scelte. Lavorate meglio. Non per il datore di lavoro, ma per voi stessi. Chiedete di partecipare a progetti con tecnologie promettenti (come Big Data, al momento della scrittura di questo articolo). Passerete comunque 8 ore al giorno in ufficio, quindi perché non ottenere un po' più di denaro e, cosa più importante, esperienza preziosa che vi servirà ancora.
Il vostro obiettivo è cambiare lavoro. Un buon team si trova ovunque. Vi confronterete con nuovi progetti e tecnologie. Non fatevi attaccare alla sedia troppo presto. Se lavorate ancora in un'azienda di livello 3, pensate di passare al livello 4. Il livello 5, pur essendo molto attraente, è ancora inarrivabile per la maggior parte.
4º anno di lavoro come programmatore (Java Senior Developer, level 1)
Siete diventati sviluppatori Senior. Congratulazioni. Forse siete arrivati lì immeritatamente e lo sentite. Comunque, congratulazioni. Non importa se ora siete all'altezza del ruolo; l'importante è diventarlo in futuro. Convenite che è meglio ottenere prima un buon lavoro e poi crescere in quella posizione, piuttosto che crescere fino a una buona posizione e aspettare ancora un anno.
Spero che non abbiate dimenticato il mio consiglio di leggere un libro a settimana — ora le vostre capacità faranno invidia a qualsiasi studente. Pensateci: avete uno stipendio considerevole, prossimo ai tremila dollari. Probabilmente siete ancora giovani. Il mondo è ai vostri piedi.
Il vostro compito è rivedere ancora una volta le tecnologie scelte. Forse dovrete cambiare specializzazione. Il mondo è cambiato, le tecnologie sono cambiate e anche le vostre conoscenze negli ultimi due anni sono aumentate. Ciò che sceglierete ora influenzerà i prossimi anni. È il momento di scegliere le vostre tecnologie preferite.
Il vostro obiettivo è scegliere una direzione in cui svilupparvi ulteriormente. Ce ne sono molte; non si possono elencare tutte, ma dovete decidere ora. Se oggi cambiate un po' il vostro presente, porterà a grandi cambiamenti nel vostro futuro.
5º anno di lavoro come programmatore (Java Senior Developer, level 2)
Avete definito il vostro futuro e state lavorando per realizzare il vostro sogno. Una direzione scelta correttamente, insieme alla volontà di andare avanti, darà risultati. Congratulazioni. Siamo felici che ci sia una persona in più soddisfatta.
C'è una saggezza: le persone spesso sopravvalutano quello che si può ottenere in un anno e sottovalutano quello che si può ottenere in cinque anni. Guardatevi cinque anni indietro. È proprio così.
Il vostro compito è non prendere decisioni stupide e non lasciarvi guidare dalla pigrizia.
Il vostro obiettivo è scegliere una direzione e continuare ad andare avanti. Pensavate che fosse la fine? Ricordate la vostra classe di diploma. Non è la fine, è solo l'inizio.
Specializzazione futura
Potrete svilupparvi come specialisti tecnici (ramo superiore), come manager (ramo inferiore) o come professionisti assunti/consulenti indipendenti (ramo centrale). Dipende dalle vostre preferenze.
La carriera del programmatore
La professione del programmatore è diversa dalle altre. Qui non è necessario intraprendere la carriera manageriale per guadagnare bene. Non è raro che un senior developer guadagni più del suo manager. Più esperienza accumulate, più il vostro rapporto con i capi si sposta da "capo-operaio" a qualcosa di simile a "star del cinema e il suo manager". I programmatori determinati e con stima di sé possono scegliere progetti e offerte. Godiamocene per loro.
Cosa serve per diventare un programmatore di alto livello e richiesto a livello mondiale? Dovete avere molta esperienza nelle tecnologie più nuove e richieste. Come raggiungerlo? La risposta è qui sotto.
Dopo che vi siete messi al lavoro come programmatori per la prima volta, con voi iniziano a succedere due cose che, stranamente, non sempre sono evidenti.
1. Iniziate ad accumulare rapidamente esperienza in progetti reali. Un anno di esperienza in progetti pratici può darvi più conoscenze e abilità nella vostra specialità di cinque anni di università. L'esperienza è così importante che negli annunci IT spesso si legge "si richiede programmatore Java con tre anni di esperienza".
2. Passate otto ore al giorno a studiare nuove tecnologie e vi pagano per questo. L'importanza di questo fattore è difficile da sopravvalutare. In alcuni casi le competenze acquisite sono così importanti che per ottenerle si può lavorare gratis o perfino pagare per partecipare. Se scegliete con saggezza i progetti a cui aderire, vi aspetta una carriera vertiginosa.
Allora, cosa scegliere?
Spesso, se non sapete quali tecnologie vi saranno utili, iniziate a scegliere per "mi piace/ non mi piace" o "è di moda/non è di moda". Dipende dalla fortuna. Meglio sapere in anticipo dove volete arrivare.
I percorsi di sviluppo del programmatore sono molti; per semplicità ne evidenzieremo alcuni e descriveremo la nostra visione della situazione. Non prendete questo schema come una posizione rigida, ma come una semplificazione per fare chiarezza.
Il programmatore bicentenario.
Se amate soprattutto programmare, il vostro percorso è: Senior Developer, poi Tech Lead Developer e architetto. Potete anche semplicemente fare il programmatore per 50 anni. Spesso gli stipendi dei senior e dei tech lead superano quelli dei loro manager. Non sbagliate strada.
Manager. Sei fortunato, non sei come gli altri.
Siete passati al lato oscuro. Sto scherzando. Se avete spiccate capacità organizzative, il vostro percorso è Team Lead e poi Project Manager. Questo vi darà la possibilità di diventare direttore e aiuterà se aprirete una vostra attività. Dopotutto lo volete, vero?
Rubare un trattore.
Se avete già famiglia e figli, forse desiderate una vita tranquilla e agiata in un paese con economia stabile. Pensate a trasferirvi/immigrare in Canada, USA, Svizzera o persino Australia. Avete ottime competenze e una professione richiesta. Non dovrete cominciare lavando i piatti. Magari inizierete come Senior Java Developer, e probabilmente con uno stipendio alto. Non è poi così male.
Vedere il mondo intero, tranne Parigi, e non morire.
Non avete ancora famiglia e volete viaggiare. Upwork è il vostro tutto. Trovate un cliente, concordate le tariffe — a partire da $20/ora, prendete il portatile e partite. Il vostro stipendio dovrebbe essere sufficiente per vivere bene in qualsiasi paese. Perché non iniziare a realizzare il vostro sogno subito?
GO TO FULL VERSION