In realta' e' piu' banale di quello che sembra: Apache Hadoop, Spark, NoSQL, Python, Scala, Kafka, Elasticseaerch sono tutti tool che uno che ha esperienza impara in qualche settimana.
Uno NON SA Hadoop: Hadoop e' come un sistema operativo. E' composto da N-mila moduli che solo un esperto di INSTALLAZIONI di Hadoop saprebbe configurare. MA un esperto di Installazione di Hadoop NON E' (e non deve essere) un Data SCIENTIST.
Uno USA Hadoop: ed il suo uso e' banale. Certo, bisogna conoscere i tool, ma per quelli ci sono i libri, e poi dipende da QUALI tool uno deve usare. Alcuni sono strettamente di infrastruttura, e quindi non e' di sua compotenza, altri servono per l'accesso ai dati, e per questi ci sono le interfacce web che simulano l'acceso ad un database SQL,
Spark e' il framework per macinare bigdata: E' QUESTO che uno deve conoscere. Ma anche questo e' un tool, complesso si, ma alla fin fine abbastanza controllabile.
NoSQL non vuol dire nulla! E' come dire, che ne so: sai guidare un veicolo? CHE tipo di veicolo? a 2 o a 4 ruote? a motore? A Pedali? Con le ruote o con i cingoli? ...
I database NoSQL sono databse che non seguono il modello RELAZIONALE dei dati. Ci sono n-mila prodotti, ma alla fin fine, come per la programmazione, ci sono un numero limitato di paradigmi: Documentale (MongoDB), a Grafo (Neo4J), a chiave/valore. Poi ce ne sono altri, piu' strani, ma diciamo che questi due copriranno il 75%/85% dei casi. Sono DATABASE< con gli stessi concetti dei database normali.. Ma NON SONO LORO il problema! Il problema e' se uno conosce la teoria dei grafi, e che cosa sono le funzioni ricorsive!
Scala e' l'ennesimo linguaggio di programmazione. TUTTO quello che si fa in Scala, si puo' fare un Java, alla faccia di quelli che pensano che la programmazione funzionale (Scala e' un linguaggio funzionale) sia il miracolo del nuovo millennio!
Python e' un'altro linguaggio di programmazionoe, come R (non citato, ma stai tranquillo che c'e' sempre qualcuno che lo richiede) che va bene per quelli che NON SANNO PROGRAMMARE e che e' meglio che tengano le mano lontane dallo sviluppo. E' utile per usare le librerie SERIE (quelle realizzate dai VERI PROGRAMMATORI) in piccoli programmini di test (NON CI SI FA SVILUPPO SERIO!)
Elastic search e' un banale fulltext engine, la stessa cosa che si ha nei normali database relazionali, ma con gli steoridi. Ci hanno aggiunto di tutto e di piu', ma SEMPRE un FULL TEXT ENGINE (in particolare basato su Lucene del progetto Apache) si tratta.
Kafka e' un affare per distribuire messaggi, usato per fare stream processing. Ma e' uno dei molti tool del genere (Storm, Spark mini batch) ...
Tool di questo genere ne nascono uno alla settimana: se si cerca SOLO persone con queste specifiche competenze
1) si fa fatica a trovarle, e corrispondentemente VANNO PAGATE
2) si ipotizza che uno con competenze sia un ignorantone solo perche' ha usato il tool A e non il B, che fa esattamente la stessa cosa
Ma, ripeto, questi sono tool!
La parte complicata e' tutta la teoria che sta' dietro e che serve per usare questi tool.
Per questa servono STUDI SPECIFICI, e non basterebbe nemmeno la Magistrale (il che esclude sistematicamente quelli della triennale). Oppure Master dedicati (ad esempio a Milano c'e' la Bicocca che fa corsi del genere, ma si trovano corsi in diverse universita' italiane)
Persone competenti non le trovi sotto i carciofi (sotto i cavoli trovi i bambini ), come i programmatori Web
Quindi, quando le trovi, non proporgli stipendi ridicoli