Dodici anni fa, quando ho scritto i primi articoli per "Cracking the Code:Breaking Down the Software Development Roles", ho preso la decisione consapevole e forse controversa di non includere l'amministratore di database o un architetto di database come parte dei ruoli. La decisione è stata presa perché c'erano poche organizzazioni che si occupavano della scala dei dati che richiedeva questo ruolo dedicato nel processo di sviluppo del software. L'architetto della soluzione potrebbe occuparsi della necessità dell'organizzazione di progettare la struttura dei dati come parte del proprio ruolo generale. Tuttavia, il mondo dei dati è diventato più grande da allora.
Big Data
Oggi ci troviamo di fronte a un volume maggiore, una maggiore velocità e una varietà dinamica delle origini dati che stiamo elaborando. Non stiamo parlando dei tipici database relazionali che sono stati popolari per decenni. L'espansione dei dati richiede un insieme di tecniche e competenze diverse dagli approcci storici ai dati che abbiamo utilizzato.
Il multithreading della nostra elaborazione dei dati è un miglioramento degli approcci single threading all'elaborazione dei dati che hanno reso popolare l'elaborazione dei dati negli anni '80; tuttavia, anche questi approcci, che si basano su un singolo computer con più thread di esecuzione, si guastano quando la quantità di elaborazione necessaria per estrarre il significato supera la capacità di una singola macchina.
L'ascesa dell'informatica basata sui servizi
Nel 1999, gli utenti a casa potevano donare i loro cicli di elaborazione di riserva sui loro computer alla causa della ricerca di intelligenza extraterrestre attraverso il progetto [email protected] gestito dalla UC Berkeley. Questo non è stato il primo utilizzo dell'informatica ampiamente distribuita o del grid computing, ma è il progetto che ha catturato l'immaginazione degli utenti di Internet ovunque. Improvvisamente, hanno avuto la possibilità di essere quelli che hanno trovato "ET". Nella costruzione, il progetto ha distribuito enormi quantità di dati per l'elaborazione a molti computer, che hanno eseguito calcoli sui dati per vedere se c'erano bit interessanti che probabilmente non erano solo rumore di fondo. [email protected] è stato solo uno dei progetti di calcolo distribuito che ha portato consapevolezza sul tipo di problemi in cui un solo computer non sarebbe stato sufficiente.
IBM, Microsoft e altri stanno ora offrendo servizi di elaborazione e apprendimento automatico per aiutare le organizzazioni a far fronte ai dati che stanno acquisendo e a dare loro un senso in modo da non dover mobilitare un esercito di volontari impegnati. Le piattaforme mirano a fornire la potenza di calcolo e il machine learning necessari per estrarre le informazioni nascoste nei volumi di dati. Invece delle organizzazioni che devono costruire e distribuire i propri data center con risorse informatiche dedicate, le risorse per trasformare i dati in informazioni e significato sono disponibili per l'affitto.
Non si tratta di dati, ma di approfondimenti
Anche se la quantità di dati che stiamo acquisendo è sbalorditiva, non sono i dati a essere interessanti. Ciò che è interessante è ciò che i dati possono dirti, se sei in grado di analizzarli. Le letture individuali sulle prestazioni di un motore non sono importanti, ma la capacità di prevedere quando il motore necessita di manutenzione o rischia di non funzionare:questo è importante.
I data scientist non si concentrano sull'archiviazione dei dati come lo erano gli architetti dei dati e gli amministratori di database. Si concentrano invece sulla conversione dei dati in informazioni e, in definitiva, sugli insight che l'azienda può utilizzare per prendere decisioni migliori. Ciò significa cercare nuovi approcci per analizzare i dati in modi che rivelino informazioni interessanti che l'azienda può utilizzare a proprio vantaggio.
In piedi su set e statistiche
Il tradizionale processo di sviluppo del software ha familiarità con un approccio procedurale alla risoluzione dei problemi. Sviluppatori, lead e architetti sono ben formati nei metodi e nei vantaggi della costruzione procedurale. Gli approcci procedurali sono come l'automazione di un lavoratore incredibilmente rispettoso ma non originale. Al computer vengono indicati i passaggi (procedura) da eseguire in quale ordine e in quali condizioni deve ripetere l'operazione o dividere tra più percorsi. Tuttavia, i data scientist lavorano non solo con approcci procedurali, ma anche con logiche basate su insiemi. Lo stile di pensiero è diverso, perché cerca lacune e intersezioni. Funziona in base alle relazioni di uguaglianza e disuguaglianza tra diversi insiemi di informazioni.
Anche se alcuni sviluppatori hanno riscontrato una logica basata sugli insiemi nel loro lavoro, i data scientist devono essere a proprio agio e fluenti nella loro capacità di manipolare insiemi di informazioni.
Inoltre, a differenza di altri ruoli nel ciclo di vita dello sviluppo del software, il data scientist ha bisogno di competenze specialistiche al di fuori del regno dello sviluppo del software. Poiché i data scientist cercano informazioni dettagliate sulle relazioni tra vari bit di dati, hanno bisogno di solide basi statistiche per essere in grado di cercare e generare valori statistici come la correlazione per rispondere alle domande che pongono e trovare relazioni inesatte tra diversi set di dati.
Dov'è l'intestazione della posizione, comunque?
La crescita dei dati ha raggiunto il punto di svolta. Che si tratti di analisi dei social network, cronologia dei clic o dati di acquisto, le organizzazioni vedono un reale valore commerciale nei dati che sono bloccati nei loro database e i data scientist sono la chiave per sbloccare il potenziale di tali dati.
Catturare quel valore significa assumere le persone che hanno le competenze per collegare gli algoritmi di elaborazione ai dati e sfruttare la potenza di calcolo per creare quei risultati.
Il buono, il brutto e il cattivo
La scienza dei dati sta esplodendo in questo momento con l'avvento dei dispositivi Internet of Things che registrano tutti i tipi di dati da tutti i tipi di luoghi. Ciò significa grandi opportunità e più di alcune sfide. Ecco solo alcune di queste sfide:
- Buono: C'è una grande opportunità per trovare nuovi modi per estrarre informazioni dai dati.
- Buono: Le risorse informatiche e di archiviazione possono essere acquistate in grandi quantità.
- Buono: I data scientist sono molto richiesti e probabilmente lo rimarranno per qualche tempo.
- Cattivo: Man mano che gli algoritmi e gli approcci si evolvono, ti sentirai sempre antiquato.
- Cattivo: Tutti i dati devono essere ripuliti e una notevole quantità di tempo verrà dedicata a questo lavoro.
- Brutto: Tentativi ed errori significheranno molti "fallimenti" e pochi trionfi.
In conclusione
Il ruolo di Data Scientist ha un'esigenza in rapida espansione e un diverso insieme di competenze. Se ti è piaciuto il tuo corso di statistica e ti piace trovare schemi che altre persone non possono vedere, questo potrebbe essere giusto per te.