Le Soft Skills necessarie per avere successo come Data Scientist.

Soft Skills per successo come Data Scientist.

Le 5 migliori soft skills che possono far avanzare la tua carriera come Data Scientist

Foto di Jason Goodman su Unsplash

Panoramica del tuo percorso

  1. Introduzione
  2. Abilità 1 — Comunicazione
  3. Abilità 2 — Collaborazione
  4. Abilità 3 — Curiosità
  5. Abilità 4 — Gestione del Progetto
  6. Abilità 5 — Mentoring
  7. Conclusione

Introduzione

Quando si lavora alla propria carriera come Data Scientist, è facile concentrarsi sulle hard skills. Potresti voler imparare un nuovo algoritmo di Machine Learning come un SVM con un kernel non-lineare, una nuova tecnologia software come MLflow, o una nuova tendenza di AI come ChatGPT.

Queste competenze sono comode da imparare perché è facile misurare il successo in esse. Prendiamo MLflow come esempio. Potresti prima imparare cosa MLflow può fornire al tuo ciclo di vita di Machine Learning. Imparerai su artefatti di modello, struttura del progetto di Machine Learning e registrazione del modello. Concludi un corso, trascorri alcune ore a leggere la guida per l’utente e persino lo implementi in un progetto reale. Fantastico! Dopo aver fatto questo, puoi affermare con sicurezza di conoscere un po’ di MLflow e puoi aggiungerlo come competenza nel tuo CV.

E per quanto riguarda una soft skill come, ad esempio, la gestione del tempo? Come procederesti nello stesso modo? Fermati e pensa a questo. Ci sono certamente libri sulla gestione del tempo che potresti leggere, ma non è affatto concreto come leggere la documentazione su MLflow. Potresti implementare la gestione del tempo nelle tue routine quotidiane, ma non è dimostrabile come l’implementazione di MLflow in un progetto di Machine Learning. Potresti elencare la gestione del tempo nel tuo CV, ma cosa significa? 😧

È un fatto della vita che le soft skills sono più difficili da misurare, semplicemente per la loro natura meno tangibile. Molti traggono la conclusione che le soft skills siano meno preziose delle hard skills. Ma questo è un errore critico! Solo perché qualcosa è difficile da misurare non significa che non valga la pena lavorarci su!

Sono sicuro che tutti abbiamo incontrato un collega che ha la gestione del tempo a tal punto che la sua produttività era quasi il doppio degli altri. Questo è un boost che è quasi impossibile da ottenere con le hard skills. Non ho mai visto nessuno imparare MLflow e poi avere una produttività doppia rispetto ad altri data scientist. Quindi anche se le soft skills sono difficili da misurare, possono fornire valore ben oltre molte hard skills 🔥

Questo è particolarmente vero per la Data Science. Lo stereotipo positivo di un Data Scientist è qualcuno con grandi capacità di risoluzione dei problemi. Lo stereotipo negativo è che egli o ella sia un po’ carente nelle soft skills comuni necessarie per avere successo negli ambienti aziendali. Spendendo del tempo per lavorare sulle soft skills, puoi ottenere un enorme vantaggio e usarlo per forgiare il tuo percorso di carriera.

In questo post del blog, imparerai le 5 migliori soft skills di cui un Data Scientist ha bisogno per avere successo. Questo si basa ovviamente sulla mia opinione. Tuttavia, tale opinione è stata modellata osservando molti altri Data Scientist e vedendo cosa li ha fatti distinguere dal resto.

Abilità 1 — Comunicazione

La prima è la più standard di tutte. Dovresti imparare a comunicare bene. Questo include molte cose:

  • Dovresti essere in grado di comunicare chiaramente le tue scoperte di una fase di analisi dei dati esplorativi (EDA). E per l’amor di Dio, adattalo al pubblico. Un CEO non vuole sentire parlare della scelta della distribuzione che hai fatto per adattare i dati o di quale immagine Docker hai usato per eseguire l’esperimento. Il CEO potrebbe essere entusiasta della Data Science, ma ha centinaia di altre cose da considerare. Dai una panoramica generale dell’EDA e concentrati sugli obiettivi aziendali per il CEO.
  • Quando dai discorsi, assicurati di dire qualcosa che abbia valore per il pubblico. Questo sembra ovvio, ma apparentemente non lo è. Non divagare su architetture complesse o sull’ottimizzazione intricata degli iperparametri solo per far sembrare te stesso intelligente. Questo è solo un meccanismo di difesa. Piuttosto, assicurati che ciò che dici lasci l’ascoltatore con qualcosa di valore. Facendo questo, avrai improvvisamente persone che vengono da te desiderose di discutere di ciò di cui hai parlato.
  • Quando parli con gli altri, assicurati di ascoltare ciò che dicono. Questo non è lo stesso che annuire e aspettare il tuo turno per parlare. Ascoltare realmente significa mettersi nei panni del relatore e cercare attentamente di capire la loro prospettiva. Supponiamo che un product owner ti spieghi di volere un ritmo più veloce e meno esplorativo. Piuttosto che aspettare di spiegare perché sono sbagliati, prenditi un minuto per ascoltare veramente. Il product owner potrebbe essere valutato sulla base dei progressi e potrebbe non capire i vantaggi dell’analisi esplorativa. E l’analisi esplorativa potrebbe essere durata un po’ più a lungo del necessario se sei onesto. Cerca di ascoltare e poi lavorare con il product owner per trovare una buona soluzione per entrambi.

Inoltre, dovresti lavorare sulla tua scrittura. No, davvero. Non è terribile, ma potrebbe essere più breve. Hai la tendenza a scrivere frasi complicate, fare spiegazioni non necessarie e trascinarti su dettagli che non contano tanto quanto pensi. Non preoccuparti, anch’io lo faccio 😳

La brevità può segnalare sicurezza. Confronta le seguenti due risposte a una richiesta di funzionalità da consegnare venerdì prossimo:

  • Credo che sarà possibile entro venerdì prossimo. Inizierò guardando il problema, comprendendo lo spazio delle soluzioni e poi lavorando su di esso in modo iterativo. Chiederò consigli se necessario e altrimenti progredirò verso l’obiettivo di terminare la funzionalità entro venerdì prossimo come richiesto. Sono sicuro che tutto andrà bene e che consegnerò un risultato soddisfacente entro venerdì prossimo.
  • Lavorerò per consegnarlo entro venerdì prossimo. Chiederò consigli se ci saranno ostacoli.

Nella prima dichiarazione non c’è molta più informazione, tranne per un discorso vago sulle iterazioni del tuo lavoro e promesse di risultati soddisfacenti. Immagina di essere un project manager o un tech lead che deve leggere cose del genere giorno dopo giorno. Toglilo! Dici ciò che vuoi dire in modo professionale e poi passa alla soluzione dei problemi a portata di mano.

Abilità 2 — Collaborazione

Molto poco lavoro di data science di impatto è svolto da un singolo data scientist. Certo, ci sono alcune eccezioni. Ma la maggior parte del data science di impatto è fatto da team di professionisti dei dati con il supporto di altre professioni come sviluppatori front-end/back-end, ingegneri di piattaforma, tester, esperti di dominio, project manager e la lista continua.

Ciò significa che la collaborazione non è solo utile ma completamente essenziale per il successo del data science. Ecco alcuni modi per lavorare sulle tue abilità di collaborazione:

  • Quando dipendi da altri ruoli, comprendi l’interfaccia tra il tuo lavoro e il loro. Supponiamo che stai collaborando con un data engineer che scrive Spark in Databricks o in Synapse Analytics. L’output del loro lavoro sono tabelle che sono pulite e nel formato corretto per il data science. Ma qual è il formato corretto? Questo dipende completamente dalle funzionalità che si desidera utilizzare e dagli algoritmi che si prevede di utilizzare. Non vuoi finire in una situazione in cui un data engineer pulisce meticolosamente una colonna in una tabella che abbandoni immediatamente perché non prevedi di utilizzarla. Questo è un sintomo di una cattiva collaborazione.
  • Quando gli altri ruoli dipendono da te, pianifica in anticipo come garantire una buona collaborazione. Supponiamo che tu stia pianificando di sviluppare un modello di ML che ingloba dati in tempo reale e predice un valore. La previsione verrà quindi inviata sia all’utente in un’app front-end che anche a una dashboard di Power BI per il monitoraggio interno. Quindi sia gli sviluppatori front-end che gli analisti dei dati dovrebbero essere tenuti informati sul formato futuro dei dati. Potresti persino fornire loro dati mock per la struttura esatta dei dati. In questo modo, assicuri che le persone che dipendono da te non debbano aspettare che tu finisca per fare il loro lavoro. Quando le persone collaborano bene, è come il processamento parallelo. Quando non lo sono, diventa a thread singolo e tutto rallenta.
  • Quando si collabora con altri data scientist, delegare chiaramente la proprietà. Dal momento che i data scientist provengono da una varietà di background, le loro competenze sono piuttosto diverse. Potresti avere un data scientist che è molto bravo a ottenere quei punti percentuali in più di accuratezza per un modello. Un altro data scientist potrebbe essere molto bravo a impostare modelli in produzione e monitorare la deriva dei dati. Persone diverse possono prendere in carico aspetti diversi in base alla loro esperienza. Ogni data scientist può comunque contribuire a ogni aspetto, però.

Infine, ci sono cose più generiche che non hanno nulla a che fare con il data science. Tutti coloro che lavorano nella stessa squadra meritano di essere trattati con rispetto. Questo è indipendente dal loro background tecnico, dal livello di competenza, dal genere o da qualsiasi altro fattore che sia irrilevante per la cortesia comune.

Le persone a volte commettono errori. È importante riconoscere gli errori assicurandosi che gli errori siano una parte naturale dell’apprendimento. Dovresti ottimizzare per creare una cultura in una squadra in cui gli errori possono essere ammessi senza paura di ritorsioni o ridicolo. Se non riesci a creare una tale cultura, gli errori non smetteranno di accadere. Semplicemente accadranno sotto il radar e riemergeranno in seguito quando correggerli sarà molto più difficile.

Abilità 3 — Curiosità

Foto di nine koepfer su Unsplash

Ho sempre pensato che i data scientist siano persone naturalmente curiose. Amano imparare un nuovo algoritmo di ML o tenersi aggiornati sulle nuove evoluzioni nel loro campo. Ma è molto variabile se questa curiosità si estende alle tecnologie, ai metodi e agli approcci in discipline vicine.

Alcuni data scientist sono entusiasti di imparare di più sullo sviluppo del software, sui principi di design, sulla gestione dei progetti, sull’analisi dei dati, sull’ingegneria dei dati, sull’impatto commerciale e così via. Altri vogliono rimanere nella loro bolla e lavorare solo sulla scienza dei dati. Sebbene ciò sia perfettamente accettabile, non dovresti sorprenderti se sei valutato più basso dei colleghi che hanno la curiosità di esplorare le aree vicine.

È ingiusto? Non proprio 🤷

Il data scientist che conosce lo sviluppo del software è semplicemente più utile di quello che non lo conosce. Le competenze nello sviluppo del software garantiscono che ci siano più progetti possibili sui quali i data scientist possono lavorare. L’interfaccia con ruoli come sviluppatori front-end/back-end e ingegneri dei dati diventa anche improvvisamente molto più facile da gestire.

Gli altri vedono solo il tuo output attraverso la loro lente. Supponiamo che un tester sia incaricato di eseguire test di integrazione per diversi componenti che hai scritto. Se i tuoi componenti sono ben documentati, composti modularmente, utilizzano buoni standard di codifica e hanno test di unità, il lavoro del tester è molto più facile. D’altra parte, se hai semplicemente un sacco di codice libero in uno script R massiccio, trovare gli errori diventa molto difficile per il tester. Naturalmente, il tester penserà che la persona che dedica sforzi all’aspetto del software sia più competente. Questo è indipendente da ciò che fa il modello di ML all’interno dello script.

L’impatto commerciale è un altro classico. Uno dei feedback negativi più comuni che ricevono i data scientist è che sono troppo distanti dagli obiettivi commerciali. Un data scientist che capisce il business e propone casi d’uso di data science che generano ROI sarà naturalmente più prezioso per l’azienda.

Quindi come si lavora su questa ampia curiosità? C’è solo un tempo limitato che si può dedicare ad altre discipline, ma ho due suggerimenti generali:

  • Dedica del tempo a cercare di capire su cosa stanno realmente lavorando gli altri ruoli quando li incontri. È abbastanza veloce acquisire conoscenze sugli indicatori chiave di performance (KPI) e sugli obiettivi chiave di risultato (OKR) parlando con un analista aziendale, ma questa conoscenza può essere estremamente utile. Personalmente, so molto poco sulle reti informatiche poiché non ho una formazione informatica. Ma so perché si dovrebbe utilizzare una rete privata, la linea di massima (estremamente) di come impostare questo e quando potrebbe essere opportuno investire in questo. Ho acquisito questa conoscenza principalmente parlando con gli ingegneri di rete. Questa conoscenza, sebbene piuttosto superficiale, è preziosa per sapere quando contattare un ingegnere di rete in merito.
  • Quando si lavora su progetti, cogli l’opportunità di fare qualcosa leggermente fuori dalla propria zona di comfort. Qualcuno deve implementare il linting automatico in un flusso di integrazione continua? Ci proverò! Anche se non sai molto di CI/CD o di file YAML, probabilmente lo capirai. In caso contrario, puoi sempre chiedere aiuto. Saltando alle opportunità di imparare qualcosa di nuovo… si impara qualcosa di nuovo. Lo so, è abbastanza profondo 😉

Skill 4 — Gestione dei progetti

Ripensiamo ai progetti precedenti che hanno coinvolto uno sforzo di squadra. Pensiamo a quei progetti che non hanno rispettato le scadenze o che sono andati oltre il budget. Qual è il denominatore comune? È la messa a punto dei parametri troppo scarsa? La registrazione dei modelli troppo scarsa?

Probabilmente no, giusto? Una delle ragioni più comuni per il fallimento dei progetti è la cattiva gestione dei progetti. La gestione dei progetti ha la responsabilità di suddividere un progetto in fasi gestibili. Ogni fase dovrebbe quindi essere continuamente stimata per la quantità di lavoro rimasto.

C’è molto di più di questo di cui un deciso project manager è responsabile, che va dall’esecuzione degli sprint alle retrospettive. Ma non voglio concentrarmi sulla gestione dei progetti come ruolo . Voglio concentrarmi sulla gestione dei progetti come skill . Allo stesso modo che chiunque in un team può mostrare leadership come skill, chiunque in un team può anche mostrare la gestione dei progetti come skill. E ragazzi, questa è una skill utile per un data scientist.

Per concretizzare, concentriamoci sulla stima di una singola fase. Il fatto è che gran parte del lavoro nella scienza dei dati è molto difficile da stimare:

  • Quanto tempo richiederà la fase di pulizia dei dati? Dipende completamente dai dati con cui stai lavorando.
  • Quanto tempo richiederà la fase di analisi esplorativa dei dati? Dipende completamente da ciò che scopri lungo la strada.

Ci siamo capiti. Questo ha portato molti a pensare che stimare la durata delle fasi in un progetto di data science sia inutile.

Credo che questa sia la conclusione sbagliata. Quello che è più preciso è che stimare la durata di una fase di data science è difficile da fare con precisione prima di iniziare la fase. Ma la gestione del progetto si occupa di una stima continua. O almeno, questo è ciò che una buona gestione del progetto dovrebbe fare 😁

Immagina invece di stimare in anticipo un lavoro di pulizia dei dati che sei già una settimana nel compito di pulizia dei dati. Ora sai che ci sono tre fonti di dati archiviate in diversi database. Due dei database non hanno una documentazione adeguata, mentre l’ultimo non ha modelli di dati ma è abbastanza ben documentato. Alcuni dati mancano in tutte e tre le fonti di dati, ma non tanto quanto temevi. Cosa puoi dire al riguardo?

Certo, non hai zero informazioni. Sai che non finirai il lavoro di pulizia dei dati domani. D’altra parte, sei molto sicuro che tre mesi siano troppo lunghi per questo lavoro. Quindi hai una sorta di distribuzione che dà la probabilità di quando la fase sarà completata. Questa distribuzione ha una “media” (una stima della durata della fase) e una “deviazione standard” (la quantità di incertezza nella stima).

Il punto importante è che questa distribuzione concettuale cambia ogni giorno. Hai sempre più informazioni sul lavoro che deve essere svolto. Naturalmente, la “deviazione standard” si ridurrà nel tempo man mano che diventi sempre più sicuro di quando sarà completata la fase. È tuo compito quantificare queste informazioni agli stakeholder. E non usare il linguaggio della distribuzione che ho usato quando spiego questo agli stakeholder, questo può rimanere tra noi.

Avere un data scientist in grado di dire qualcosa del genere è molto prezioso:

“Penso che questa fase richiederà tra 3 e 6 settimane. Posso darti una stima aggiornata tra una settimana che sarà più precisa.”

Skill 5 – Mentoring

Mentorare data scientist più giovani spesso è visto come un male necessario. È un lavoro onesto, certo, ma qualcosa a cui non si dà molta importanza. Se il data scientist più giovane potesse imparare magicamente i concetti da solo, sarebbe preferibile, giusto?

Come probabilmente puoi intuire, non sono d’accordo. Mentorare i data scientist più giovani è estremamente utile sia per te che per loro. Ecco tre motivi:

  • Si impara molto spiegando i concetti: Questo è piuttosto semplice. Spiegando concetti e idee ai data scientist più giovani, impari meglio i concetti. Spesso ho scoperto che spiegare qualcosa a un data scientist più giovane mi ha aiutato ad articolare qualcosa in modo più chiaro. Spesso è solo quando qualcuno ti chiede che ti rendi conto di non capire qualcosa così bene come pensavi. Questa è una grande opportunità per imparare di più sul tema. Inoltre, puoi evidenziare al data scientist più giovane che non è grave non sapere tutto. Anzi, questo è inevitabile.
  • Si acquisisce una minore esperienza di gestione: Presto, potresti passare a ruoli più senior come ad esempio un chief data scientist. Ruoli come questi spesso non hanno responsabilità di gestione formale per gli altri dipendenti. Tuttavia, c’è l’aspettativa che tu possa guidare e influenzare gli altri. Come qualsiasi altra competenza, questo richiede pratica. Nella pulizia dei dati e nell’ottimizzazione del modello, hai poche opportunità di fare pratica. Quindi, se non hai mai mentorato nessuno, non stupirti se fai fatica a guidare e influenzare gli altri. E se stai valutando la possibilità di entrare in un percorso di gestione, l’assenza di responsabilità di mentoring nel passato è un po’ un campanello d’allarme. Perché non hai mai mentorato nessuno? È perché non vuoi farlo o perché le altre persone non vogliono che tu lo faccia? Nessuna di queste possibilità sembra ottima.
  • Puoi costruire una connessione con i data scientist più giovani: Certo, c’è uno squilibrio di potere naturale tra un mentore e un data scientist più giovane. Tuttavia, spesso è il mentore che il data scientist più giovane sarà più vicino se il mentore fa un buon lavoro. Assumendosi la responsabilità e mentorando i data scientist più giovani, ti ritroverai rapidamente circondato da persone che hai mentorato. Queste persone spesso ti guardano con ammirazione e valorizzano i tuoi consigli. Non è una situazione così male.

Il mio consiglio è di diventare un mentore rapidamente nella tua carriera. I tre benefici sopra sono validi solo se prendi seriamente il lavoro di mentoring. Se fai un pessimo lavoro di mentoring, otterrai pochi dei benefici e potresti persino ottenere una reputazione di cattivo mentore 😬

Alcune aziende hanno aspettative molto basse per quanto riguarda il mentoring. Potrebbe essere richiesto di prendere un caffè con il junior data scientist una volta al mese. Io consiglierei di andare oltre il dovuto. Offri al junior data scientist la possibilità di rivolgersi a te con problemi e domande. Farsi avanti in questo modo per i junior data scientist è segno che puoi assumere responsabilità senza essere esplicitamente richiesto.

Conclusioni

Foto di Spencer Bergen su Unsplash

In questo post, abbiamo visto come le soft skills possano essere estremamente preziose per i data scientist per progredire nella loro carriera. Quando intervisto candidati senior in data science, guardo alle soft skills che hanno accumulato tanto quanto alle hard skills. Scrivimi un commento se pensi che ci siano altre soft skills essenziali che i data scientist dovrebbero avere.

Se sei interessato alla data science, alla programmazione o a qualsiasi altra cosa, sentiti libero di seguirmi su LinkedIn e salutami ✋

Ti piace il mio stile di scrittura? Dai un’occhiata ad alcuni dei miei altri post per altro contenuto Python:

  • Modernizza il tuo codice Python peccaminoso con bellissimi suggerimenti di tipo
  • Visualizzare i valori mancanti in Python è sorprendentemente facile
  • Introduzione al rilevamento delle anomalie / degli outlier in Python con PyOD 🔥
  • 5 funzioni NumPy fantastiche che possono salvarti in un attimo di bisogno
  • 5 consigli esperti per far decollare le tue competenze di dizionario in Python 🚀