מיהו מדען נתונים? תשובה מבוססת נתונים

מאת עמרי גולדשטיין, 4 באוקטובר 2021

הצטרפו לערוץ היוטיוב שלנו!

כל הסרטונים מארועי הקהילה

בפוסטים הקודמים שעסקו בסקר מדעני הנתונים ומקצועות ה-Machine Learning (ML) כתבתי בעיקר על השכר – פילוחים, תחזיות ותגליות. מי שלא קרא מוזמן לעיין בדו"ח השכר המלא  ולהתנסות במחשבון השכר ולקרוא את הפוסט שמסביר על מאחורי הקלעים של מחשבון השכר. הפעם הגיע הזמן לדבר על משהו שאינו כסף, לשם שינוי. השנה הוספנו לסקר שאלות רבות על אופי התפקידים השונים, מה שמאפשר לענות על אחת השאלות שאני נשאל הכי הרבה – מה עושה מדען נתונים (ולצורך העניין, מפתח\ת אלגוריתמים, אנליסט, וכו').

יותר מדי פעמים ראיתי כל מיני ציורים של דיאגרמות וואן שמתארות איך מדענית הנתונים היא גם מתכנתת וגם קצת סטטיסטיקאית וגם בלשית ואולי פילוסופית. לתחושתי, היכולת להבין איך נראה יום עבודה טיפוסי בעולם האמיתי רק נפגעת מהתיאורים האלו. תחת זאת, אנסה בפוסט הזה לענות על השאלה הזאת בהתבסס על נתוני הסקר.

הפוסט יהיה עמוס בגרפים וחיתוכים שונים לכן אתחיל באמ;לק – טבלה שמפרטת את הנתונים (כולל מעט פרשנות חופשית-איכותנית שלי) עבור חלק מהמקצועות במדגם:

מה האחריות בתפקיד?

אחת השאלות שהוספנו לסקר השנה היתה: What are the everyday responsibilities in your position?

אם נפלח את התשובות לפי תפקידים נוכל לקבל השוואות מעניינות. הגרף המלא מעט עמוס מדי, לכן לפני שאציג אותו אני רוצה להתמקד בכמה השוואות ספציפיות.

ראשית נסתכל בשני תפקידים שמעוררים לא מעט בלבול – Data scientist ו-Data analyst:

אפשר לראות שתחומי האחריות הנפוצים ביותר בקרב data analysts הם: יצירת ויזואליזציות (88%), אנליזות אד-הוק (86%), יצירת dashboards (84%) והגדרת KPIs עסקיים (76%). לעומת זאת, בקרב data scientists הרכיב העיקרי הוא אימון מודלים (86%), הנדסת פיצ'רים למודלים (71%), יצירת ויזואליזציות (56%) וכל מה שנוגע למימוש ופרישה של מודלים וכן תשתיות ML (מעט יותר מ-50% עבור שניהם). ניתן לראות שלא מעט מה-data scientist כן מתעסקים גם ביצירת dashboards ואנליזות, כך שיש חפיפה בין התפקידים ובהתאם גם מסלול מעבר בינהם (ואני מכיר לא מעט דוגמאות). יחד עם זאת הרכיב הדומיננטי ביותר בעבודת מדען או מדענית הנתונים הוא בבירור אימון מודלים.

נקודה מעניינת היא שכחצי מה-data scientists מתעסקים גם בעבודה המלוכלכת יותר של כתיבת הקוד לפרוקדשן או תשתית איסוף הנתונים. כלומר, יש שתי גישות מתחרות בנוגע לאחריות של מדען הנתונים – האם התפקיד מתחיל בקובץ CSV  או מאגר מידע ונגמר במודל מאומן, או שהוא ממשיך מחוץ לאיזור הנח הזה, אל הצינורות והברזלים. נראה שאין בנתונים העדפה ברורה לכיוון מסוים ואני בטוח שהנושא יכול לשמש לויכוחים ארוכים מאוד לחובבי הז'אנר.

ההבדלים בתפקיד ה-data scientist בין תאגידים לסטארטאפים הוא קטן לפי הסקר. הפער הגדול ביותר הוא בכך ש-60% ממדעני הנתונים בסאטרטאפים מתעסקים בבניית תשתיות, מול 45% בלבד בתאגידים גדולים. ממצא שמתאים לציפיות – בסטארט-אפ מדען הנתונים לוקח על עצמו תפקיד רחב יותר ומתעסק יותר גם בצד הטכני. אולם ההבדל הזה באמת קטן מאוד.

השוואה מעניינת נוספת היא בין מדעני נתונים, מפתחי\ות אלגוריתמים וחוקרים\ות במגזר הפרטי (הקבוצה עם השכר הגבוה ביותר, כזכור). גם כאן לא תמיד ברור הגבול. למשל, אם נסתכל על משרות דרושים, לא פעם נגלה דמיון בין הדרישות לשלושת התפקידים האלו (להוציא אולי השכלה, כשחוקרים בדרך כלל מתבקשים להיות בעלי דוקטורט). גרף תחומי האחריות מחדד את ההבדלים:

ראשית, ניתן לראות דמיון רב. ההבדלים הבולטים ביותר הם בפיתוח אלגוריתמים חדשים – 81% מהחוקרים והחוקרות ו-61% ממפתחי ומפתחות האלגוריתמים ענו שהם מתעסקים בפיתוח אלגוריתמים או מימוש של מאמרים שלא ניתן למצוא במוצרי מדף או ספריות קוד פתוח, לעומת רק 32% מה-data scientists. מאידך, data scientists  מתעסקים יותר ביצירת dashboards, ויזואליציות ואנליזות. במילים אחרות, על ציר מסוים data scientists הם באמצע הדרך בין האנליסטים לחוקרים ומפתחי האלגוריתמים. ההבדל העיקרי בין מפתחי האלגוריתמים לחוקרים הוא בתשתיות, אם כי הוא לא גדול. 46% ממפתחי האלגוריתמים עוסקים בפיתוח תשתיות ML לעומת 26% מהחוקרים. 39% מתעסקים בפרישת מודלים בפרודקשן לעומת 28% מהחוקרים. 15% ממפתחי האלגוריתמים עוסקים בפיתוח תשתיות באופן כללי לעומת רק 7% מהחוקרים. מאידך, מעט יותר מ-60% הן מהחוקרים והן ממפתחי האלגוריתמים עוסקים באימון מודלים לומדים. בדומה ל- data scientists, אימון מודלים הוא אחד הרכיבים העיקריים, אם לא הרכיב העיקרי, גם עבור מפתחי אלגוריתמים וחוקרים. זו הסיבה לדמיון הרב שבכל זאת ניתן למצוא בין התפקידים.

מעניין להשוות חוקרים במגזר הפרטי מול חוקרים באקדמיה:

באופן אולי מעט מפתיע, יש דמיון רב בין הגרפים. ההבדל העיקרי הוא שחוקרים במגזר הפרטי מתעסקים יותר, באופן לא מפתיע בכלל, בשאלות עסקיות ומימוש אלגוריתמים. יחד עם זאת בניית מודלים ופיתוח אלגוריתמים חדשים מהווים את רוב העבודה עבור שני התפקידים.

עוד תפקיד נפוץ בסקר הוא מהנדס למידת מכונה ולמידה עמוקה (Machine/Deep Learning Engineer), כאשר לא ברור אם מדובר במשהו קרוב יותר ל-Data Engineer או למפתח אלגוריתמים לומדים. הנתונים מראים שהאפשרות השנייה היא הנכונה:

בדומה ל-data scientist, העיסוק העיקרי של מהנדס ה-ML הוא אימון מודלים. ההבדל העיקרי בין ה- data scientist למהנדס ML הוא שהאחרון עוסק קצת יותר בתשתיות, ופחות בויזואליזציות, אנליזות והנדסת פיצ'רים. מצד שני, לא פחות מ-46% מאלו שהגדירו עצמם כמהנדס ML עוסקים בפיתוח אלגוריתמים חדשים. לפחות על פי תחומי האחריות בעבודה, ניתן להגיד שמהנדס ה-ML הוא גרסה מעט טכנית יותר של data scientist או מפתח אלגוריתמים. לעומת זאת, העבודה של מהנדס הנתונים מתמקדת יותר ביצירת תשתיות ו-ETLs.

הגרף האינטראקטיבי המלא מובא כאן על מנת שתוכלו לשחק איתו בעצמכם (חשוב: לחצו על התמונה כדי לעבור לגרסה האינטראקטיבית, והשתמשו בלחיצות ולחיצות כפולות על התפקידים בצד ימין כדי לשחק עם הנתונים):

רציתי לעשות ניתוח דומה עבור שפות תכנות, אבל האמת היא שהתוצאות משעממות מכדי להציג על גרף. עבור כל התפקידים, בין 80% ל-100% מהמשיבים ציינו את פייתון כאחת משפות התכנות שהם עובדים איתן. אף שפה אחרת לא התקרבה למספר הזה בשום צורה. בכל זאת אציין ש-35% ממפתחי האלגוריתמים וכ-25% ממפתחי התוכנה ציינו גם את C++. בנוסף, 25% מהחוקרים באקדמיה ו-20% ממפתחי האלגוריתמים ציינו את MATLAB. מבין מהנדסי הנתונים 20% ציינו את Scala.

30% ממהנדסי הנתונים ו-22% ממפתחי התוכנה ציינו את Java, וכן 24% ממפתח התוכנה ציינו את Java Script. אף שפה נוספת לא צוינה על ידי יותר מ-20% מהמשיבים.

מה לגבי השכלה?

עד עכשיו הסתכלנו על השוואות ספציפיות בין שניים או שלושה תפקידים. בחלק הבא, אנסה לייצר מבט הוליסטי על כל התפקידים ביחד. לשם כך, אכניס פנימה גם את ההשכלה (תחום ורמה). ראשית, אם נייצג את כל המשיבים אך ורק באמצעות ההשכלה שלהם ותחומי האחריות בתפקידם, במיפוי לדו-מימד באמצעות PCA נקבל את המפה הבאה:

אנסה לתת פרשנות משלי לצירים. לדעתי, נראה שהציר האופקי מפריד בין מקצועות הדאטה – data scientist ו-data analyst  – מול התפקידים האחרים. לעומת זאת, הציר האנכי מפריד בין תפקידים בהם נעשה שימוש נרחב באלגוריתמים לומדים, לכאלו שלא (ובכלל כוללים פחות אלגוריתמיקה). כלומר,  הרבעון השמאלי העליון מכיל מהנדסי ומפתחי תוכנה, הרבעון הימני העליון מכיל אנליסטים, הרבעון הימני התחתון מכיל בעיקר data scientists ואילו הרבעון השמאלי התחתון מכיל מפתחי אלגוריתמים, מהנדסי ML וחוקרים.

באופן דומה, אם כל נקודה תייצג "קטגוריה" במקום משיב, נוכל להציג את הקטגוריות השונות בתצוגה דומה באמצעות MCA (בלחיצה על התמונה, תעברו לתצוגה אינטראקטיבית של הגרף):

כאן נוכל לראות למשל את המרחק הקטן בין תואר שלישי, לחוקרים, מדענים ומפתחי אלגוריתמים שעוסקים בפיתוח אלגוריתמים חדשים. לצד זאת, ניתן לראות קרבה יחסית בין בוגרי כלכלה ומדעי החברה לתפקיד ה-data analyst או לעיסוק ביצירת dashboards. המפה האינטראקטיבית תאפשר לכם להתקרב ולבחון אזורים ספציפיים.

מאיזה תחומים מגיעים לאילו תפקידים?

אם נסתכל מאילו תחומי לימודים מגיעים לאילו מקצועות נקבל את התמונה הבאה (בלחיצה על התמונה, תעברו לתצוגה אינטראקטיבית של הגרף):

אל תפקיד ה-data scientist מגיעים מגוון רחב יחסית של בוגרים ובוגרות; אמנם הרוב המוחלט מגיעים ממדעי המחשב או מדעים מדויקים אחרים, אך לצידם מגיעים לתפקיד מעל 60% מבוגרי הכלכלה, מדעי החברה ומדעי הטבע שאינם פיזיקה (במדגם שלנו ולא מכלל הבוגרים והבוגרות כמובן). לעומת זאת, 100% ממפתחי התוכנה בסקר למדו מדעי המחשב. החוקרים במגזר הפרטי מגיעים כולם ממדעי המחשב ומהמדעים המדויקים.

ננסה לקבל רזולוציה גבוהה יותר באמצעות התייחסות גם לרמת ההשכלה, כך שנפריד בין בוגרי תואר ראשון ושני שלמדו את אותו המקצוע. הגרף עמוס יותר אבל באמצעותו נוכל להבין טוב יותר את הפרופיל של כל תפקיד. בלחיצה על התמונה, תוכלו לעבור לגרף האינטראקטיבי.

סיכום

לסיכום, אפשר לחלק את התפקידים שהופיעו בסקר לתפקידים בעלי אופי מחקרי או אופי הנדסי יותר, וכן לתפקידי דאטה מול אלגוריתמיקה. בצד המחקרי-אלגוריתמי נמצאים מהנדס ML, חוקר ומפתח אלגוריתמים, ובצד ההנדסי-אלגוריתמי ניתן למצוא את מפתחי ומפתחות התוכנה. בצד הדאטה-אלגוריתמי ניתן למצוא את ה-data scientist, ואילו בצד הדאטה-הנדסי את האנליסטים. יחד עם זאת, אני חושב שההבדלים בין מפתח/ת אלגוריתמים, מהנדס/ת ML וחוקר/ת הם מינוריים ועשויים לתאר תפקיד זהה בחברות שונות. אני ממליץ למי שמתעניין בנוגע לתפקיד ספציפי לבדוק את גרף תחומי האחריות כדי ללמוד טוב יותר על העבודה בתפקיד זה.

הפוסט הבא יעסוק בניתוח פערי השכר המגדריים בתעשיית הדאטה.

 

הצטרפו לערוץ הטלגרם שלנו!

כל ההודעות שאתם לא רוצים לפספס

X