La data engineering non fa salti. L’ingegneria dei dati come insieme di conoscenze

Breve storia dell’ingegneria dei dati. Linguaggi di programmazione e terreni minati

La gerarchia ad albero per valutare le capacità personali o quelle del team nel percorso verso la data engineering. Tutto inizia con una specializzazione in tecnologia e tutto si ramifica a partire da lì, con i rami che sono i sistemi, la programmazione, l’architettura, e le numerose relazioni tra loro

Quello che conosciamo non è che una goccia, mentre quello che non conosciamo è un oceano”. La citazione è del fondatore della fisica classica Isaac Newton. Parlando di data engineering, l’ingegneria dei dati, si potrebbe dire la stessa cosa. Secondo l’approccio di alcune aziende, si tratterebbe di una disciplina facile. In pratica, una goccia sarebbe sufficiente per conoscere il tutto. Ma la mia esperienza sul campo e nell’insegnamento mi dice il contrario. Un data engineer, un ingegnere dei dati, deve apprendere molte tecnologie diverse e possedere una conoscenza approfondita dei Big data.

TI PIACE QUESTO ARTICOLO?

Iscriviti alla nostra newsletter per essere sempre aggiornato.

Per capirne di più, si possono immaginare le diverse skill come un albero tecnologico. L’esempio più lampante è il videogioco di strategia Civilization 6. Si parte con le tecnologie più basilari del mondo, come la ceramica o l’allevamento di animali. E quando si inizia a fare ricerche in queste tecnologie, se ne sbloccano altre. Ognuna di queste tecnologie richiede un certo numero di turni di gioco per la ricerca e il numero di turni si basa sulla scienza prodotta dalla propria civiltà. Si può anche provare a saltare la ricerca sulle tecnologie. Invece di acquisire tutte le conoscenze di base, il giocatore può provare a saltare avanti. Saltare le tecnologie causa tutti i tipi di problemi nel gioco, proprio come si vedrà nel nostro esempio di vita reale.

Leggi anche:  Velocità e qualità del software. Tutta la verità sulle pull request, quando hanno senso e quando no

Proviamo a immaginare la data engineering allo stesso modo dell’albero tecnologico del videogioco. Tutto inizia con una specializzazione in tecnologia e tutto si ramifica a partire da lì, con i rami che sono i sistemi, la programmazione, l’architettura e le numerose relazioni tra loro. Alla fine delle varie ricerche e dei vari passaggi necessari all’apprendimento, si diventa un data engineer. Idealmente, tutto o la stragrande maggioranza dell’albero del data engineer è verde. Sfruttando tutte le competenze acquisite, si può iniziare a creare sistemi. Questi sistemi produrranno progetti di dati. Propongo l’albero tecnologico come un modo per valutare le proprie capacità o quelle del proprio team nel percorso verso la data engineering.

Persone o team incentrati su DBA/Data Warehouse/SQL

Immaginando che il team o la singola persona provenga da un background incentrato su DBA, Data Warehouse o SQL, si potrà guardare il diagramma per vedere quali skill (tecnologie) mancano al team. Si può notare che i DBA avranno eccellenti skill SQL, ma manca il resto dell’albero tecnologico. Mancano le competenze di ingegneria del software. Potrebbe esserci una certa comprensione delle skill di architettura più semplici come i formati dei dati, ma mancano le altre skill avanzate. Utilizzando l’albero tecnologico, si può vedere che l’acquisizione delle competenze sarà ampia e richiederà tempo perché mancano le competenze avanzate. Le aziende e le singole persone che tentano di saltare avanti nell’albero tecnologico senza riempirlo avranno tutti i tipi di problemi. La mancanza di competenze di ingegneria del software costringe tutto il codice e le tecnologie a essere scritti con SQL. La mancanza di architettura porta a usi errati o impropri delle tecnologie.

Leggi anche:  Chatbot intelligenti in Java, come liberare il pieno potenziale dell’AI generativa

I software engineer

Immaginando che il team o l’individuo provenga da un background di ingegneria del software, osservando il diagramma, si può vedere che hanno coperto molto più dell’albero tecnologico, ma non l’intero albero. Gli ingegneri del software avranno eccellenti skill di ingegneria del software e SQL. Le parti mancanti comuni dell’albero sono i concetti di multi-threading e coordinamento che portano ai big data. Dal lato dell’architettura, mancheranno la conoscenza dell’ecosistema della tecnologia dei big data e gli algoritmi distribuiti. Le aziende e gli individui che cercheranno di saltare avanti nell’albero tecnologico senza riempirlo avranno comunque problemi. La mancanza di competenze multi-threading che sono alla base dei big data causa incomprensioni nelle soluzioni. L’assenza di conoscenza dell’ecosistema porta a usi errati o impropri delle tecnologie. Ho scoperto che questi team si bloccano cercando di esaminare in modo esauriente ogni potenziale tecnologia e non comprendendola veramente.

I data scientist

Un altro malinteso comune riguarda i data scientist e i data engineer. Spesso i manager non capiscono le differenze tra data scientist e data engineer. I data scientist avranno alcune skill di ingegneria del software e SQL. Tuttavia, queste skill sono dal principiante al livello intermedio. Mancheranno la conoscenza dell’ecosistema della tecnologia dei big data e i probabili algoritmi distribuiti sul lato dell’architettura. Le aziende e gli individui che tentano di utilizzare i data scientist come data engineer avranno problemi. La mancanza di competenze multithreading che sono alla base dei Big data causa incomprensioni nelle soluzioni. L’assenza di conoscenza dell’ecosistema porta a usi errati o impropri delle tecnologie. Ho scoperto che questi team scelgono le tecnologie sulla base della popolarità anziché dei casi d’uso.

Gli alberi della tecnologia in concreto

Quando il management sta cercando di creare un nuovo team di data engineering o di correggerne uno già esistente, deve assicurarsi che i data engineer dispongano dell’intero albero tecnologico. Quando un team ha prestazioni insufficienti, spesso manca parte o tutto l’albero tecnologico. Suggerisco di leggere Data Teamsper capire come avviare o sistemare il team. Le singole persone devono fare una valutazione onesta di sé stessi e della propria posizione nell’albero tecnologico. Il mio ultimo lavoro “Ultimate guide to switching careers to big data” può aiutare a capire i passi da compiere. Le implicazioni degli alberi tecnologici riguardano sia il management sia le singole persone: in entrambi i casi, la completezza del loro albero tecnologico determinerà il successo o il fallimento dei loro progetti o obiettivi.

Leggi anche:  Qlik, dai dati alle decisioni. L’AI a supporto delle aziende data-driven

Jesse Anderson

Data engineer, creative engineer e managing director del Big Data Institute. Si occupa di formazione nell’ambito dei Big Data, settore nel quale è un esperto riconosciuto a livello internazionale. Ha preparato migliaia di persone provenienti sia da startup sia da aziende Fortune 100. Pubblica con O’Reilly e Pragmatic Programmers ed è stato citato da numerosi media quali Wall Street Journal, CNN, BBC, NPR, Engadget e Wired.

Jesse Anderson presenterà per Technology Transfer il seminario “Sistemi Big Data real-time con Spark Streaming e Kafka” che si terrà online in live streaming il 20-21 giugno 2022.