Perchè gli ingegneri del software guadagnano tanto?

La legge della domanda e dell'offerta vale anche per il lavoro degli ingegneri

L’articolo How Long Will Programmers Be So Well-Paid? potrebbe essere riassunto in tre parole: rende saper programmare.
La settimana scorsa Glassdoor ha pubblicato il suo consueto “software engineering salary report”, illustrando quanto guadagnano i programmatori delle varie società presenti nella Valley e a NYC.

Da Google a Facebook gli impiegati guadagnano un salario base annuo di 125 mila dollari, a cui vanno aggiunti i benefits, i contributi pensione e le stock options.
Tutti sanno il perché: basta chiedere a chiunque nella Valley e vi risponderanno che i buoni ingegneri sono difficili da trovare. Cosi, la domanda è arrivata alle stelle, l’offerta è rimasta stagnante e i prezzi ovviamente sono saliti. Economy 101.

Perchè quelli bravi sono pochi?

Ma perchè ci sono pochi buoni ingegneri a detta delle major? Stiamo parlando di un lavoro che, in teoria, potrebbe essere fatto da chiunque e soprattutto dovunque con un computer semi-decente e una buona connessione ad Internet. Si pensi agli strumenti di sviluppo, mai come in questa era di smartphone Android da 100 euro, e di piattaforme open-source, sono stati facilmente accessibili.

Tutti sanno che gli esperti di software guadagnano tanto, il perchè è semplice, il software sostanzialmente sta mangiando il mondo, e forse anche distruggendo posti di lavoro con più facilità di quanta non gli serva per crearne di nuovi.

Tutti vi starete chiedendo: ma perchè pagare 125 mila dollari per un programmatore quando con la stessa cifra in una nazione in via di sviluppo si può pagare un intero team di programmatori?
Durante il primo boom dot-com già si prevedeva che i programmatori americani ed europei sarebbero stati velocemente lasciati senza lavoro dai cugini indiani e brasiliani.
Ad oggi, però, non c’è nessun segno di un fenomeno simile. Perchè no? E se mai dovesse accadere, quando?

Passione e denaro vanno di pari passo

A questo punto una premessa è necessaria, mi riferisco ai programmatori eccellenti, in sostanza quelli di serie A.
Innanzitutto bisogna avere una buona istruzione di base, il che significa nascere in una famiglia abbastanza agiata, avere una certa esposizione alla tecnologia e soprattutto avere la possibilità di scegliere tra più opzioni. Sulla base di questa prima constatazione, già 2/3 della popolazione mondiale viene esclusa dal calcolo. Inoltre, è necessario avere sia interesse per lo sviluppo, sia talento per il coding.
Il talento, soprattutto, è merce rara, basti pensare che tra il 30% e il 60% di tutti gli studenti di informatica al primo anno non supera il primo corso di programmazione.

Ma se è vero che oggi anche le più importanti università al mondo offrono online, e for free, i propri corsi, sarebbe come imparare il francese attraverso un libro e poi in Francia e rendersi conto di non riuscire a parlare la lingua: fidatevi, questa è esperienza personale!
Si possono imparare i rudimenti dai libri, ma per essere abili e riuscire a padroneggiare una materia con maestria, occorrono anni di pratica.

Dopo aver conseguito buone competenze di programmazione, non bisogna fermarsi, sono necessarie migliaia di ore per diventare davvero bravi. Ciò non significa fare la stessa cosa migliaia di volte, significa gareggiare se stessi con nuovi tools, nuovi linguaggi e soprattutto nuovi obiettivi.

La legge della domanda e dell’offerta

Il vero motivo del perchè nel campo non ci sia molta più gente motivata dal semplice interesse è semplice.
Quando si è poveri o in crisi, come gran parte del mondo, il denaro, e quindi la sopravvivenza, è più importante della passione. Solo nel cosiddetto “Primo Mondo” inseguire le proprie passioni piuttosto che sfuggire alla fame è una cosa ammirevole.
Quindi, con l’avanzata delle nazioni in via di sviluppo e i grandi flussi migratori, la teoria di cui abbiamo parlato all’inizio dovrebbe ridimensionarsi: l’offerta aumenterà, cosi come la domanda diminuirà e di conseguenza anche il prezzo disposto a pagare per ottenere quel bene scenderà.

In sostanza, si può prevedere che tra circa un decennio, gli ingegneri del software e i programmatori di alto livello guadagneranno sempre meno.