בפרק החמישי של פיתוח בהפרעה, ישי בארי CTO ב LinearB מדבר עם אתי דהאן נוקד, VP R&D בחברת Wilco על כל מה שקשור ב skilling up של מפתחים.ות, איך זה שונה מטריינינג ואונבורדינג רגיל, ומי אחראי.ת להצלחה - המנהל.ת או המפתח.ת?

In the fifth episode of Dev Interrupted - the Hebrew edition, Yishai Beeri, CTO at LinearB,  chats with Eti Dahan Noked, VP R&D at Wilco about skilling up your engineers...how this differs from regular training and onboarding, and who's responsible for the success - managers or the engineers themselves?

Episode Transcript תמליל הפרק

Hebrew, then English בעברית ואז אנגלית:

(מוסיקת פתיח)

ישי: ברוכים הבאים לפיתוח בהפרעה, הגרסה העברית ל"dev interrupted", הפודקאסט המצליח של LinearB...למנהלי ומנהלות פיתוח. פה נדבר על כל מה שמפריע למנהלי פיתוח. אני ישי בארי, CTO ב LinearB...אנחנו שמחים להביא אליכם את הפודקאסט בעברית, נארח אצלנו מובילים ומובילות בתעשייה כדי לדבר על כל מה שמעניין מנהלי פיתוח, מי שעובד איתם ומי שרוצה יום אחד לנהל ארגון פיתוח. 

בפרק הזה אנחנו שמחים לארח את אתי דהאן נוקד, מנהלת פיתוח בווילקו. היי אתי, מה המצב?

אתי: היי, מה נשמע?

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

אתי: מגניב. אז אני אתחיל כזה קצת אחורה, הסיפור המצחיק שלי זה שלמדתי מתמטיקה והיה שם קורס C++, שנאתי אותו, שנאתי כל רגע בקורס, ממש אני זוכרת שאמרתי לחבר אני לזה לא חוזרת יותר. אני אקפוץ קצת קדימה, התגייסתי לצבא, הייתי לא ב-8200 אבל כן במחשבים וככה 8 שנים הבאות התעסקתי ב-C++ וגיליתי שמה שאתה לומד ככה באוניברסיטה או בקורס זה לא החיים האמיתיים וזה לא המקצוע וממש התאהבתי במקצוע. אחרי הצבא הייתי בכל מיני חברות, קפצתי קצת אלביט, HP, הייתי ב-we work, כל אחד מהם כזה הייתי בין תפקיד פיתוח, טק-ליד, תפקיד ניהולי, ככה שיחקתי בין התפקידים. לפני ווילקו הייתי ב-צ'קמרקס, הגעתי להקים קבוצת פיתוח שנקראת קוד בשינג (code bashing), בקוד בשינג עשינו מוצר שמלמד מפתחים איך לכתוב קוד שהוא סקיורד (secured), גם עם המוצרים האחרים של צ'קמרקס, זה אינטגרציה כזאתי, וללמד מפתחים לכתוב קוד שהוא בטוח ואי אפשר לפרוץ אותו. והיום אני בווילקו, אני מנהלת את הפיתוח שם. בווילקו, אם אני צריכה ככה במשפט אחד, זה אנחנו עושים סימולטור טיסה למפתחים ומפתחות, וקצת יותר אנחנו באנו תחת ה"מישן" (mission) שאנחנו רוצים לאפשר לכל המפתחים והמפתחות, לא משנה מה הרקע שלהם, לגדול ולצבור ניסיון ולממש את הפוטנציאל המקצועי שלהם ואנחנו עושים את זה...

ישי: בעזרת מוצר בעצם, בעזרת פלטפורמה.

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

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

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

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

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

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

אתי: אז אני אוהבת להתחיל במה לא. הדבר הראשון שאני ממליצה למנהלים לא לעשות, זה לא להכין תכנית מגירה, כן? אני לא יכולה לחשוב על תבנית ואז לשלוף אותה עם כל עובדת או עובד שלי ולהגיד הנה, זה מה שאתה צריך לעשות, 1, 2, 3, 4, 5, בוא נלך לשם. אנחנו צריכים לזכור שהתכנית היא של העובד או העובדת ומי שעומד מולנו וכל אחד מהם שונה ויש דברים שהוא חזק בהם, דברים שהוא פחות חזק בהם, ואנחנו צריכים ממש להתאים את התכנית למי שעומד מולנו. והדבר השני שאני תמיד ממליצה לעשות זה לא לדחוף לכיוונים שהעובד לא רוצה להגיע אליהם, כי כדי שתכנית פיתוח תצליח, העובד צריך להיות ממש אנגייג'ד (engaged) ולרצות, אז אם אני חושבת שכל מפתח פרונט אנד (frontend) צריך לדעת גם בק אנד (backend), אבל מי שעומד מולי לא רוצה לדעת, אז זה לא יעזור כמה אני אדחוף לשם.

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

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

(מוסיקת מעבר)

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

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

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

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

ישי: מטרה של התפתחות.

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

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

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

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

אתי: נכון. עכשיו אם אני אומרת שהתכנית היא אישית, אז אתה לא יכול להסתכל על הארגון כארגון, צריך להסתכל על עובד כעובד, כאילו כן יש ארגונים שרואים את הלבלינג (leveling), ואז אתה יודע באיזה לבל אתה נמצא ומה אתה צריך להשיג בלבל הבא.

ישי: כשהלבלס מוגדרים ארגונית.

אתי: כן.

ישי: זאת אומרת שאתה בלבל 2 ואפשר לספור כמה אנשים עלו ללבל 3. 

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

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

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

ישי: אוקיי, ואז יש לי את השאלה של איך אני מודד מישהו לתוך הלבלס האלה, המנהל מחליט אם אני לבל 3 בהובלה או לבל 4? או שיש מבחן?

אתי: כן, אז זה מכניס את הסיבוכיות של מדידה של ביצועים של עובדים באיזה לבל נכנסת בכלל, כי אולי היית ממש טוב בריאיון.

ישי: תיכף נדבר על ההיירינג (hiring) מול זה.

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

ישי: להכין את הקייס.

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

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

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

ישי: בתוך המערכות הפורמליות.

אתי: כן, בתוך המערכות הפורמליות.

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

אתי: כן, שזה בסוף אישי.

(מוסיקת מעבר)

ישי: אז דיברנו על כל מיני זוויות של סקילינג אפ, ואותי מעניין לדבר על ההבדל או על איפה יש הבדל ודמיון בין ללמוד איזשהו סקיל טכני, כמו לכתוב C++, או לעבוד עם ריאקט, לבין ככה עובדים אצלנו בחברה, ככה עושים אצלנו קוד ריביוס או ככה מרימים PR בצוות שלנו, משהו שהוא קצת יותר פרטי או פרסונלייזד לארגון שבו אני עובד ואולי גם קשור לאנשים שסביבי. כלומר אני לא לומד את זה בוואקום אלא יש אינטראקציה, ככה מבינים הערה על פול ריקווסט (pull request) שאולי אם אני לא למדתי נראית לי ארסית או קמצנית בפרטים או טרחנית, לא יודע מה. אז יש פה הרבה דברים שהם קצת סופט אבל הם נוגעים לצוות. איך עושים סקילינג אפ לדבר הזה?

אתי: אז בעצם אני כזה מזקקת את השאלה, זה איך אנחנו לומדים תרבות ארגונית או תהליכי עבודה?

ישי: כן, תרבות פיתוח אפילו.

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

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

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

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

אתי: כן.

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

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

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

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

ישי: חלק מהאנשים לא יודעים הכל, יש אנשים שיודעים הכל...כל מה ששווה לדעת.

אתי: כן, אני לא חושבת שיש מישהו שממש יודע...

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

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

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

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

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

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

ישי: על פרודקשן.

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

ישי: יורים עליך.

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

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

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

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

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

ישי: שמאפשרים לכם לדמות בעצם.

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

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

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

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

אתי: בקווסט הראשון אתה מרים את הסביבה הלוקאלית של החברה המדומה שהצטרפת אליה.

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

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

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

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

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

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

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

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

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

(מוסיקת מעבר)

ישי: אוקיי, אז אני רוצה לשאול על האונרשיפ של הנושא הזה ברמת ארגון או ברמת קבוצה, ברור שבסוף כל מנהל או מנהלת מול העובדים צריכים להיות אונרס (owners) של הסקילינג אפ הפרטי, אבל אם אנחנו מדברים על להתחיל תכנית או לארגון שעד עכשיו לא התייחס לזה בצורה מרוכזת או מסודרת או רוצה להתחיל, ממה שאת ראית, איפה לרוב נמצא האונרשיפ? מי מקבל להיות אחראי על הסקילינג אפ בחברה, ואולי אם את ראית מספיק, איפה זה מצליח או איזה סטאפ מאפשר לארגון להצליח, בניגוד לסטאפים שבהם האונרשיפ הוא לא נכון ולא מאפשר להצליח. ואני חושב ספציפית על סקילינג אפ בעולם הפיתוח. מי האונר VP R&D? HR?

אתי: אז זהו, אז ראיתי כל מיני סטרקצ'רז (structures) כזה, לפעמים זה ה-HR, לפעמים זה היה איזשהו מחלקת L&D, שיש מישהו ספציפי שם שעובד עם ה-VP R&D או הדיירקטור בכל קבוצה כדי לעזור. אני חושבת שהאונר חייב להיות, או ה-VP R&D או דיירקטור פיתוח, עד למנהל קבוצה, כדי שזה יצליח. כי זה בסוף האנשים שעובדים כזה יום יום ומבינים את האיפה אפשר, איך אפשר לבנות את התכנית הזאת, זה כזה מלמעלה. אנחנו צריכים גם, כדי ליצור כזה דבר אנחנו צריכים להכשיר את המנהלים, כאילו במה חשוב להסתכל, איזה הזדמנויות אפשר לראות, כאילו לא לכולם זה מאוד מאוד ברור, אז אני חושבת שחלק מה-, כדי להכניס את זה לארגון בפעם הראשונה, אנחנו צריכים לעשות איזושהי הכשרה לעובדים, להבין איך להסתכל, איך אנחנו יודעים לזהות דברים שהעובד חזק בהם או פחות חזק בהם, לפי מה אנחנו נבנה את התכנית הזאתי.

ישי: אז בארגונים גדולים את רואה מחלקת L&D או משהו דומה עוזרת...ובארגונים קטנים יותר פשוט הוא נופל באופן ישיר על ה-VP או על הדיירקטור שמנהל את הפיתוח והוא עושה את זה אורגנית.

אתי: כן, כאילו ה-L&D לפחות ב Checkmarx היה L&D שעבד איתי ממש צמוד וכל הזמן גם עזר כאילו בכלים, נניח שהוא מצא, אם יש כאילו איזה כלי חדש הוא היה רוצה שאני אסתכל או בהכוונה, יש להם כן את הראייה הזאת של איך ליצור את הלמידה ואיך אנחנו כן אולי מודדים את הדברים האלה, אבל בסוף זה אחריות שלי כמנהלת לוודא שגם המנהלים שלי זה בטופ פריוריטי (top priority) שלהם.

ישי: אז בסוף ה-KPI או ה-OKR של לוודא שאנחנו סקילינג אפ הוא אצל מי שמנהל את הפיתוח. 

אתי: בעיני כן.

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

אתי: זה מגניב, האמת שאני לא ה-...

ישי: אני לא צריכה סקילינג...

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

ישי: ממש הגדרת לך את המשימות גדילה שאתה רוצה לעשות ואז הלכת וביצעת, זאת אומרת זה לא רק אד הוק.

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

ישי: ואת מנהלת את השיחה על המטרות האלה של הגדילה עם המנהל, מנהלת שלך? זאת אומרת זה חלק מהשיח שלכם?

אתי: כן. זה עובד אול דה ווי. (All the Way)

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

אתי: אני אחלק לשניים. 

ישי: קיבלת שניים...

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

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

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

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

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

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

אתי: כן, אני חושבת שרובינו רוצים להתפתח בצורה כזו או אחרת, זה לא חייב להיות באותו מסלול כאילו, כי אנחנו לא אותם אנשים, אבל...

ישי: כן, את אומרת את תמצאי את הדרך למצוא את הרצון הזה של איך להתפתח ולהפוך את זה למציאות. אתי דהן נוקד, VPR R&D בווליקוט, תודה רבה שהיית איתנו. היכנסו ל devinterrupted.com  להירשם, תוכלו למצוא שם גם את כל הפרקים שלנו באנגלית. אני מזכיר לכם שאנחנו ב LinearB בצמיחה מהירה, מגייסים למגוון של תפקידים בכל התחומים. בואו ל linearb.io/careers, למצוא את האתגר הבא שלכם. אני ישי בארי, נשתמע בפרק הבא.

** לינקים לקהילות שהוזכרו בפרק - כאן.**


 

Yishai:         Welcome to “Dev Interrupted", LinearB's podcast which discusses everything that hinders the daily work of engineering managers. I'm Yishai Beeri, CTO at LinearB. We are happy to bring you the podcast in Hebrew where we host leaders in the industry to talk about everything that interests engineering managers, those who work with them, and those who want to one day manage an engineering organization.

In this episode, we are happy to host Eti Dahan Noked, engineering manager at Wilco. Hi Eti, how are you?

Eti:              Hey, what's up?

Yishai:         I'm glad you're here. So we always start by getting to know our guests a little, and I would love it if you could tell me about your path, career, and how you got to this point.

Eti:              Cool. So I'll start from a little while back. My story, it’s funny, is that I studied math and there was a C++ course that I hated. I hated every moment of the course. I remember telling a friend I'm not going back to that class anymore. Fast forward a little and I enlist in the army. I was in the 8200 intelligence corps, but I was in computers. And so, for the next 8 years I dabbled in C++ and found out that what you study at university or in a course is not how it is in real life and not the way the profession works, but I really fell in love with the work.

After the army, I worked in a variety of companies. I was at Elbit, HP, We Work. In each position I was in an engineering, tech-lead, or management role, which is how I got experience in each. Before Wilco I was at Checkmarx where I established an engineering group called Code Bashing. In the Code Bashing group we made a product that teaches developers how to write code that is secure, which also integrates with other Checkmarks products, and teaches developers to write code that is secure and can’t be hacked.

And today I'm at Wilco where I manage the engineering team. At Wilco, if I had to sum it up in one sentence, it's a flight simulator for developers. And more than that, we made it our mission to enable all developers, no matter their background, to grow and gain experience and realize their professional potential. And we do it.

Yishai: Basically with the help of a product, of a platform.

Eti: With the help of a product, yes, we develop a platform. We create a kind of environment, a virtual company, that allows you to practice the things you know or things you want to learn, and we believe that the way to grow and practice is through experience. You can do it at work, but it's a bit slower or prone to errors or even unequal.[לה1]  And at Wilco, we create the platform that will allow you to learn and develop at your own pace, enabling literally everyone, no matter what your experience or background.

Yishai: So actually, at Checkmarx you worked in this world of upskilling, or a product designed to teach developers how to do something, in this case how to develop something, and then it was natural for you to move to Wilco, a company that deals from start to finish with upskilling.

Eti: Yes, the domain is very similar, and it's also great fun, because we make a product for which we are also the target audience, and a product that you can also use.

Yishai: Yes, that’s always fun. So really the focus of today's conversation is on this world of upskilling and how engineers learn and develop, whether it's at the beginning of their career or later on. Tell me why this is important, why should it be defined and why start companies around upskilling.

Eti: So I'll treat it like two sides of a coin. First of all, from the organization’s side. So, we build an organization and we recruit the team today. Then we look a few years ahead, and if we train our team and help them develop like this, then they are actually more capable and able to deal with problems that will arise next year, two years from now, which can be more complex, technically or product-related. Or maybe in another area which we might suddenly need to change direction into. So it's like that from the company's side.

And also from the employee's side, as a engineering manager, it is important to me that the employees know that I see them, that I know where they want to go, we care about their promotion options, we help find the opportunities for them to develop and learn, we are in a profession that is constantly growing, we have to grow with it.

Yishai: And if I am a manager in an organization and want to think about this world of upskilling for these developers, let's maybe start by asking - what should not be done, what should be avoided?

Eti: So I like to start with what not to do. The first thing I recommend managers not to do is prepare a contingency plan. You can't create a template that matches each of my employees needs and say “Here, this is what you need to do - 1, 2, 3, 4, 5 - let's go there.” We have to remember that the plan is for the employee, the person standing in front of us, and each of them is different with their own strengths and weaknesses, and we have to really adapt the plan to the person standing in front of us. And the second thing I always recommend to do is not to push the employee in a direction they don’t want to go, because in order for a engineering program to be successful, the employee has to be really engaged and willing. So if I think that every frontend developer should also know backend, but the person standing in front of me doesn't want to learn that, it won't help how much I push them there.

Yishai: So basically you are saying - one, make it something that is personalized, that takes into account the person who is now going to receive the upskilling, and two, that it matches the goals, the desires of that employee, and if it comes with a desire to develop in a certain directions, then it will work.

If I don't have an upskilling process today, or at least nothing organized, what is my first step? How do I even think about it? Is this something I do for everyone? Only for new hires? Where do I begin?

Eti: So, first of all, I think it's really important for everyone, regardless of whether the employee is a junior or more senior, everyone needs their own plan for future development. And I've really been at a lot of companies and seen them grow, and in the end it really, really depends on the manager and the employee in front of them. I think that these conversations of understanding where he wants to go, what he wants to do, where she can improve and understand who is standing in front of you is the beginning, the basis.

And when we actually have this plan ready, we need to practice continuous feedback, repeat it all the time and understand our current position. The responsibility for this plan is shared by both the employee and the manager. As an employee, I need to reflect on what I want, where I want to go, where I’m lacking, and where I would like to see myself. And my manager should also explain what knowledge gaps I have and what types of tasks I can take on. As soon as someone comes to me and says “I want to manage a team” or “I want to manage a large project,” then I can adjust the my thought process and adapt the tasks to the individuals.

Yishai:  So we are talking about upskilling, and I want to understand if you think of that in terms of a programming language or some technical skill or working with React or with a certain library. Or does it also include approaching skills like team management, like handling an uncooperative teammate, or all kinds of things that are not found in some textbook?

Eti:  So I think that, first of all, a personal study program is very important for both sides, the technical sides of a new language, if we want another new framework or even go that way to other areas like a bit of DevOps or a bit of frontend, depending on where we came from. And also, the other side, as developers we have many things we need to know or skills we need to acquire that are not necessarily just writing code. We need to talk to people. We need to know how we plan. We need to know how to code review for friends and work on communication.

And, again, I intentionally note the communication because it is an important part of our day to day. And when an employee is in front of you, we need to look at where they need to improve. There are many things like this that we really work on, and the more you practice them in the communication work or detailing tasks or things like that, which you work on every day and you really improve. And we can this also through more focused work, like a specific task that is more the focus, or people management, which is a big task, if someone wants to develop and become a team leader.

Yishai: Something interesting comes up here, that in order to choose or adapt an upskilling program to someone, I actually also create a process of feedback, that is, I have to understand where the gaps are, where something is lacking, where there is potential to develop. And we don't always think about these things together. I mean, okay, I have a training or skills program and I have another place where I do performance evaluations, or have employee feedback with how they are performing. You are actually suggesting directing them and trying to get them to consider upskilling as part of the feedback process and vice versa.

Eti: Yes, I think that there are organizations that do a performance review, let's say, once every six months. And I think that as managers, if we wait half a year to give feedback, we are making a mistake, because half a year ago we could have improved things by giving more specific and continuous feedback, and then the employee can develop. So even when I build plans with my employees, we don't talk about it one on one, or at least not directly. I'm not saying we should constantly be talking about the goals, but I would like to sometimes impress upon them the complexity of a certain task they've been working on for 3 weeks, which aligns with some goal they set for themselves 3 months ago.

Yishai: A development goal.

Eti: A development goal. We create the plan together, and sometimes I look back at the plan to think about the tasks I have to assign to the team, and I say that this task can wait or can be give experience for that employee because they want to take on a task, break down a very, very large task. So they can take, let’s say, a smaller task and break it down into smaller milestones, work on it, and then it will prepare them for a larger task that they can manage that involves several other people.

Yishai: What is a bit difficult for me here, and maybe you can help me understand, is that you are describing a reality where the manager actually has this conversation with each employee and has a shared responsibility to define the goals and find the opportunities for skilling up through the tasks. And, in fact, during this feedback loop can say “Okay, here's a task that will help with development as well.”

Where does it go from a manager to employee interaction to something that is organizational? To an organizational desire to skill up? Where does it get to the point that every manager has to create this dialogue with every employee? How do we move to the level of an organizational plan?

Eti:  So, first of all, the organization from the top down needs to lower its desire for employees to learn, or for them to invest their time in learning. There are all kinds of tools like LinkedIn Learning or other courses, which companies offer a license for, and it’s actually like “We are giving you the infrastructure, so come use it to learn.”

Moreover, we need to incentivize the growth of the developers, and align them with the goals of our managers, as part of the way managers are measured. It improves the employee’s desire to be like this, and their engagement within the company. And again, we help them grow, so as an organization we need to make it part of our goals and objectives, and make sure everyone is exposed to them. But we also need to do create a more formal process, and this process usually sits, in many of the organizations I've seen, as part of the review. You first start by looking at the past, and then look at the goals going forward, but this daily breakdown must be with the manager or whoever you work with.

Yishai: So basically the organizational part is one motivation. Let's say the motivation to work is there, managers are measured on their ability to help their employees grow and so on. And two, find opportunities for that or make it part of a formal review process or some other process that’s already in place. And maybe three, the organization purchases generic tools that anyone can choose to use. But in these three cases there isn't any real organizational plan, I mean, maybe there is at some level a desire for upskilling, but there is no connection between the upskilling that employee X will receive and what employee Y will. They are not all running on the same plan, meaning things are still very broken and fragmented.

Eti: Right. Now, if I say that this is a personal plan, then you can't look at the organization as the organization. You have to look at an employee as an employee. There are organizations that have their various learning levels, and you can see what level you are at and what you need to achieve to reach the next level.

Yishai: When the levels are defined by the organization.

Eti:  Yes.

Yishai: That means that you can be on Level 2 and you can count how many people went up to Level 3.

Eti:  Yes, you can. As an organization, you define what each level should include and that can be the basis for the manager to look at his employees and help them. So you can look at the amount of employees who have really leveled up, and we assume that through this they really upskilled themselves, and that can enable some kind of infrastructure for the organization that is more uniform.

Yishai: And from your experience, is this something worth the effort and really useful? Or does it try to impose some kind of settings that ultimately cause each person to not really be at a level, but sort of half in half out? I'm trying to understand to what extent it’s possible to produce uniform things compared to how much everyone is an individual snowflake.

Eti:  So look, as a large organization you have to create some kind of uniformity and I think it's the lesser of two evils at the end of the day. A lot of the definitions are also broader, or there are levels to the definitions. You can define things in the technical sense, a leading sense, literally for every level and what needs to be done. Then you can try to break it down into some sort of framework, so that for an organization that has hundreds of employees, you do need to have a set baseline, and help managers not just do it very sporadically.

Yishai:  Okay. Then I have the question of, how do I measure someone into these levels? The manager decides if I am level 3 or level 4? Or is there a test?

Eti: Yes, so it introduces the complications of measuring the performance of employees, at which level they even enter, because they might have been really good at the interview.

Yishai: We will soon talk about the hiring part of it.

Eti: Yes, it's really adds a complication that I think is not necessarily related to upskilling. It also affects many things later on, like your salary and chances of promotion and all kinds of things that greatly complicate the whole equation. It also adds a lot of complications to when people are dealing with a promotion for a month out of the year that you can go from dealing with it every day at large companies just to collect the materials.

Yishai: To prepare the case.

Eti: Exactly, to prepare it. And everything becomes terribly bureaucratic. To my delight, at least in the organizations which I had been a manager, it was a little less formal, so the manager has more influence on how things look. I don't know if that's good or bad, because in the end, when you are a very large organization, you have no choice but to do something more formal.

Yishai: The question is whether we really want to tie the world of upskilling to formal levels, and ultimately to salary and promotion. Or do we say that upskilling is a slightly more technical profession that requires some kind of specialization and try to put it into a general framework of levels and performance measurements. This misses the mark.

Eti: I also think it's something that can happen simultaneously because we, as a startup, don't have all the leveling. It's really a topic we talk about a lot. What are my goals? Where do I want to go? Sometimes it's goals that are not measured. I can say I want to be a team leader, and that's a goal that you could say is maybe the next level or a change of profession. I can say I want to lecture at some kind of conference. That's also a skill that I need to maybe work on and try to get accepted. Maybe there are people in the organization who have already presented at conferences and can help me with how I submit talks, and that's not something that feels like a necessity to move from level X to level Y. So I think it's part of the skills that they are hiding for us within the…

Yishai: Within the formal systems.

Eti: Yes, within the formal systems.

Yishai: That gets back to the world of us as individual snowflakes and how everyone needs something a little different.

Eti: Yes, that is ultimately personal.

Yishai: So we’ve talked about all kinds of ideas around upskilling, and I'm interested in talking about the difference, or what differences and similarities there are between learning some technical skill, like coding in C++, or working with React, and this is how it works in our company, this is how we do code reviews, or this is how we create pull requests in our team, something that is a little more private or personalized to the organization, and maybe also related to the people around me. That is, I don't learn in a vacuum, but rather there is some interaction. Like, that's how we understand a comment about a pull request and maybe if I didn't learn that it would seems like the PR is bad or lacking details or troublesome. So there are many things here that are a bit soft but they concern the team. How do you upskill for this?

Eti: So actually I am going to simplify your question. How do we learn organizational culture or work processes?

Yishai: Yes, development culture even.

Eti: Development culture, yes. So if I don't really know how to quantify it into one skill, because you know, several skills are included in that, but I do think that the ability is to adjust, to learn, as in I've done things a certain way until now and here we do it in a different way, maybe it’s better, or not as good, and we can talk about it. But how I learn to fit in new work procedures and learn what's going on, I don't think it's necessarily part of the development program or the skills, it's really part of the onboarding process of a new employee.

Yishai: When you say it happens through the work and not necessarily as part of an upskilling program, or from some content that I come and study or progress in and finished, then I reached some kind of goal.

Eti: Yes, and mainly because I think it has more to do with your entry time. Even if it's within the company then it's with a new team, so this initial time when you learn the work processes, get to know the people, learn the codebase, some kind of thing that is like onboarding, and then they put it aside. Compared to the process of upskilling or personal development, which is continuous, we look at the current state and decide on goals, and in a few months we will check what we achieved, what we didn’t, and maybe we will talk about new things because suddenly we are exposed to other things that are happening in the organization and you would like to learn more about them, or maybe start some new project that you didn't know existed and that is very interesting to you. So you can also change the goals a bit, because in the end we are developing.

Yishai: That means that, in essence, my goals in this world of upskilling are a little more global than just how to work correctly in this group or that team, which is more onboarding.

Eti: Yes.

Yishai: An interesting diagnosis. It’s like onboarding happens while working, I learn from the feedback around me and maybe there is also some kind of statement that okay, now I am fully onboarded. But my skilling up is related to my career, to engineering, and the skills I will learn are probably transferable to the next place I work.

Eti: Yes, it may be that you worked in a certain form of development, like a certain development process, and now you work in a different process and you can add so much more value now that you know how to work both ways. But the main difference is that, in my opinion, onboarding ends, and at the end you are a full-fledged employee and no longer need it. Yes, you will always need another part of the code explained to you that you haven't seen or something new, but it is likely that you already understand the culture and work processes. It may be that now that you are onboarded you will help a little to improve or change the processes, but it is not necessarily this continuous process of me looking for how I develop or what direction I want, where I want to go.

Yishai: Within this world, and you talk about the fact that upskilling is something that never really ends, it is relevant to all of us. But I have to ask, how do you convince senior developers, developers with a lot of experience, that they need upskilling? They already know everything, they have seen everything, they have already written everything you do in Assembly. How do you come to someone who isn't thirsty to learn or perhaps isn't sure or doesn’t understands that he has a place to go, specifically on the side of the senior devs, how do you open this door? How do you create the desire and understanding that I can advance?

Eti: So, first of all, I think it's not the manager's exclusive responsibility, because it's very difficult to make someone want to do something they don't want to do, but yes, there are all kinds of things that sometimes… like a very senior developer, who wrote everything in Assembly, maybe doesn’t know how DevOps works or how our frontend is written. Now if he is interested in expanding his knowledge there a bit, and the answer may be no by the way, then I will try to find the opportunities and the tools for him to learn.

Aside from this, even if you know the code really well and are able to take this whole solution and turn it into something that works, maybe working in a team where you outline the architecture or where we're going, but don't write all the code yourself, and that is something foreign to you that you haven't tried. And it could be that on one hand you are very senior and you have some areas where you are more junior, because people don't know everything, which is what's beautiful, right?

 Yishai: Some people don't know everything, some people know everything...everything worth knowing.

Eti: Yeah, I don't think anyone really knows...

Yishai: So I'll add little bit more detail. A senior developer can come and say “Okay, I understand that I need to learn such things, I learn by doing, and by that I mean my way to skill up is to do. Give me tasks like this, or I'll take them, and I'll progress and learn as I go.”

But there is a difference between learning by doing by just leaving tasks in such a way that they will help me develop a bit in a certain area, and saying that there is content here that skilling up, which is sometimes structured, not only through organic tasks, is looking for this transition from a smart selection of organic tasks to something where they say now is the time for dedicated upskilling, and it is not necessarily mapped to a task that you will simply learn as you go.

Eti: So the truth is that I've seen this a lot with experienced developers, and I'm the same way, that the best way to learn is with your own hands. In the end it's about trying, and that's why we founded Wilco, right? We truly create the types of tasks that you can do hands-on and try. So there are ways. There are also side projects that people do to learn new technologies or try them out.

I think that the statement of learning through hands-on work is very valid in our world, because sometimes just reading the documentation is not enough. Now when I say I give you time to learn, if she wants to learn hands-on, and I don't have a task to give, you should find the tools that will allow her to learn that new thing. It doesn't have to be like where I gave you a course in Udemy and you have to do it because... that doesn't work for everyone, to watch a course and learn things.

Yishai: So you’re saying to learn through hands-on, but there is a way to create tasks and learning and doing projects with your hands that are not necessarily actual organic tasks of the team, and not necessarily saying “Go look for a project on your own.”

Eti: Yes, sometimes there is also a big problem that we don't know how to solve. It's like someone should do a POC to try to see if we can pass this technological barrier. And only after we know that we can, it becomes something more organized with a product attached to it and tasks that will go to everyone. Sometimes we need this little POC to test whether the technology we know can solve this problem, and it can be a great opportunity for someone who wants to learn the technology.

Yishai: Okay, the way I see it, it is an organic task, admittedly a type of research, but if I understand correctly, at Wilco you actually produce a system where you can do engineering tasks, which are not the organization's tasks. In the end they are thrown away, but they enable me to do things  hands-on and in the process learn the skill I need, meaning, not necessarily a course but a collection of simulated or semi-simulated tasks.

Eti: Yes, they are all simulations. The truth is that we have no theory on this at all. We are not trying to invent the wheel. It is likely that like in real life if I encountered a problem I would go to Google or Stack Overflow, so we also expect from our users that, if they don't know an answer, they will Google it and find the problem. We create a simulated environment for them where they receive some kind of task from their manager, and she asks you to fix some kind of problem because production is down. Now it's some kind of skill, let's say to go to production and fix a problem that we need to know as developers, even as experienced ones. But I wouldn't want someone to practice it in real life, right?

Yishai: On production.

Eti: On production. If the system is down, I want it to come back up as soon as possible, so we give them an environment that is safe, no need to stress as there are no customers waiting. We might send a Slack message from the manager saying, “What's going on?” to simulate some kind of situation...

Yishai: You’re out under fire.

Eti: Yeah, no one actually fires and nobody loses any money. And besides, it also allows engineering managers to give some opportunities to do things that don’t exist currently in the team’s work. If I have a backend developer who wants to learn frontend, I am not sure that I have frontend tasks within my team. It could be another team in the organization, or specific deployment, or dealing with performance issues. All kinds of skills that you can expand upon, but don't always have the opportunity in your day to day, so we also provide that in our quests at Wilco.

Yishai: So how, if I'm looking at an interesting example, when dealing with a problem in production, which is both to extract the information I need and in the end to fix it and maybe also deploy it, it's very different from one company to the next, even between projects or services in the same company. How do you simulate that on the one hand, but make the learning relevant to a particular company on the other? Can I make a setup that actually simulates our environment? Mine as a Wilco customer?

Eti: So this is what we suggest to companies, to adjust the quests, with the best practices that you have in your organization or... except for the frameworks and the languages, to choose things that are a little more specific. We are also right in the middle of developing our editor which allows the company to create its own quests. If she wants to adapt it exactly to the things you teach, and we also offer the service to customers. Maybe at some stage in the future we’ll connect it to their systems, like if you work with a specific system that we don't support in this version, we can add that integration for you and then you can simulate your system with your complexities in an environment that is more...

Yishai: So I can set up some kind of staging environment, but the developer who uses SSH to the production, does it with the same tools that really live with me in the production and Wilco sees and extracts from there what she needs to say you progressed in the quest or you did X or you succeeded, the data planted there is appropriate and yes further.

Eti: Yes, so some of the things we build at Wilco is really the infrastructure, like integrations with all kinds of external systems that we work with on a daily basis, like Github...we're right there with all the hooks to know if you've opened a PR and then we can also To approve it or not to approve it, depends, and we are constantly adding more and more collaborations or specific infrastructures of companies that...

Yishai: That allow you to actually simulate.

Eti: Yes, so that we can connect and get all the information on how you are progressing.

Yishai: Sounds like something that is very relevant to the world of SRE, not only developers, rather it is actually very private company information, that this is how we work and this is how production looks for us, but for an SRE, or someone in a similar position, who needs to maintain and make sure that a system is up, there is a lot to learn and simulations sound like a no-brainer to me to learn the role.

Eti: Yes, so literally every company we talk to takes Wilco for their specific use case. Their reaction is, wow, it's really good for onboarding to learn all these things, or you can take it in all kinds of directions. Basically, the goal is to have an environment to practice things you're supposed to know or want to learn on a daily basis, and we help with best practices as you go.

Let's say your first quest is to spin up the environment, because you are a new employee in the company. As soon as you are done and the code works, we say okay, come update the README so that the next person can pick it up in easily from there. This is a best practice that we believe everyone should know. What's nice is that we actually use it ourselves. There was this quest for me to do and my manager said that after I did the quest, which I did quickly, to let her know. I did it quickly and realized that the README wasn’t updated, so I went and just got it done.

Yishai: So, when I finish this first quest of spinning up the simulated environment successfully and updated the README, now I have to go spin up the company’s real environment, the real development environment. I didn't get if that was an outcome as part of the first quest, or is it?

Eti: In the first quest you spin up the local environment of the fake company you joined.

Yishai: I don't actually benefit from spinning up the real environment, okay. But then at least I have something to compare it to when I spin up the local environment of the real company where I suddenly see similarities or differences or…

Eti: So the goal is for you to get more of the things you need out of it. Like, if you move from company A to company B and you set up the environment for company A, it won't help you, maybe it will help somewhat, but there will be things that won't help you to spin up a the environment of company B. But the thought of the documentation or of helping someone who joins the team, that everything should be clearer, or for database seeding that it will be automatic, I won't have to do it manually or all kinds of best practices that you understand when you have the senior mindset in your head, you don't just solve them for yourself, you solve them for others too. So, these are the outcomes we want from every quest, and also lessons learned. We really emphasize these things.

Yishai: I understand. So, how do I now go back to the mindset of the manager, and even at the level of the organization, how do I know that I succeeded? That I have a system or an upskilling process that works well and people really progress? How does it feel, what are the signals I receive that I can say I succeeded, I can do it and it works well, I invested in the right places?

Eti:  So, it starts with the definition. If we sat down with the employee and defined goals, then you can come back to it later and see if you achieved them. I think our role as managers is sometimes to reflect successes or have an impact on the things that are not obvious. That if an employee invests in documentation or improves development processes or something like that, you show the employee that they also made an impact.

"I think our role as managers is sometimes to reflect successes or a significant impact that is not immediately obvious."

Now how do we know if we succeeded? If at the end, when we do a review, we see an improvement. That is a little difficult to quantify, unless we put KPIs at the very beginning, but you can’t really implement a quantitative measure for every success. But, for example, when you said “I want to take ownership of a big task, a complex technical task in which several people are involved,” if you got there after six months and led a task and you can talk about and explain it, we succeeded. We may have also set a goal that is a bit longer, that we don't achieve in six months and it continues. We work on it in small steps, and then we can reflect on the smaller successes.

Yishai: Okay, so at the level of me and my manager, you can really see if I've made progress with my goals, whether organically or through external upskilling programs, but I've made progress. But if I look at this at an organizational level, you are an engineering manager, how do you feel that the issue of upskilling works well in your company?

Eti: So I have to point out that this is something I learn through doing. It is also something that is possible through conversations with the manager or someone else in that level. The question of what you managed to achieve this year or in the last six months that you didn't know you could do before, or all kinds of questions like that, is a bit subjective, it's not very strict. It's about having a lot of conversations.

Yishai: And when upskilling works well, or in places where you were part of it or saw it work well, what other effects, besides the fact that I am more upskilled at the end of the process, what other effects do you see in employees, or in the company? What are the side benefits or perhaps surprising effects?

Eti: I don't know if it's surprising, but as an organization you can see things that improve like teamwork, the influence of the team on things that are cross-organizational. You can see that the velocity of a team increases, if you now know how to better handle problems or fix bugs which six months ago was more difficult. It's probably also demonstrated in tasks that now take less time for you. So, the effect that it has is more specific to the employee, but it also has an effect on the entire team.

Yishai: Okay, so I want to ask about the ownership of this topic at organization level or group level. Obviously at the end, every manager of employees should be owners of their personal upskilling, but if we are talking about starting a program, or an organization that until now has not treated it in an organized manner, from what you have seen, where is the ownership usually located? Who gets to be responsible for the upskilling in the company, and maybe if you have seen enough, where it is successful or what step allows the organization to succeed, as opposed to steps where ownership is incorrect and does not allow success? And I'm thinking specifically about upskilling in the developer world. Who is the owner, VP R&D? HR?

Eti: So I've seen all kinds of structures for this. Sometimes it's HR, sometimes it was some kind of L&D department. There's a specific person there who works with the VP R&D or the director in each group to help. I think the owner needs to be either the VP R&D or an engineering director, up to a group manager, for it to be successful because in the end it’s the people who work like this every day and understand where it is possible, how this plan can be built, it comes from above. We also need to train the managers on what is important to look at, which opportunities can be seen, because it’s not very clear to everyone. So, I think that as part of the way to introduce this into the organization for the first time, we need to do some kind of employee training, to understand how to look at things, how to identify things that the employee is strong in or less strong in, according to what we will build this program.          

Yishai: So, in large organizations you see an L&D department or something similar. And in smaller organizations it simply falls directly on the VP or the director who manages the engineering and they do it organically?

Eti: Yes, the L&D, at least at Checkmarx it was L&D that worked really closely with me, and all the time also helped with tools he found. If there was some new tool he would like me to look at or something in that direction, they do have this vision of how to create the learning and how we measure these things, but in the end it is my responsibility as a manager to make sure that my managers have it as their top priority as well.

Yishai: So, at the end of the day, the KPI or OKR of making sure we are upskilling is owned by the one managing the development.

Eti: In my opinion, yes.

Yishai: So, as we get toward the end here, share with us how you do upskilling yourself. What do you invest in? How do you find time for it? How do you decide what's important?

Eti:  It’s cool, the truth is I'm not the...

Yishai: I don't need upskilling...

Eti:  No, I never had a side project that I worked on. It was always through my job. You know, sometimes you maintain things at work, and I learn through that. I like reading blog posts or listening to podcasts on topics that interest me. As I moved into management, I started hearing a lot of things, other people's opinions or other people's approaches, and then you formulate your management approach, and I find for myself the things I want to achieve. If it means being a guest here on the podcast, I presented a month ago at Leaders in Tech, which was also some kind of goal I wanted to reach, and then you learn.

Yishai: You literally defined the growth tasks you want to do and then you went and carried them out, I mean it's not just ad hoc.

Eti:  Yes, I found what I want to achieve this year, or where I want to go, like with the conference, where I want. I decided that I want to lecture at the conference because until now I have spoken a lot internally within the organization and I wanted to see what it's like from the outside, which is a skill that is a little different from telling an idea or talking to your employees that you work with on a daily basis. So I also define the goals for myself and work with my partners to see how I can help those who work with me.

Yishai: And you conduct the conversation about these growth goals with your manager? You mean it's part of your conversation?

Eti: Yes. It works all the way.

Yishai: Eti, so to finish, give us one thought or one tip for someone, someone who wants to start entering this world of upskilling, whether it's a manager who has employees in the world of engineering and wants to start thinking about it in a more orderly way, whether it's an employee who wants to produce some conversation with his managers about skilling up. One tip on how to start, how to enter this world.

Eti: I will divide it in two.

Yishai: You got two...

Eti: From the point of view of the manager, first of all I look at my goals, where I want to go in terms of the organization and what I lack. I try to direct my people to where they need to grow or what skills I would like to see in the organization. And from the employee's side, it's a moment to stop, and the question I like to ask most at the beginning of our work together, in an ideal world where you have no constraints - what task would you like to do? And it's an interesting exercise to think like this to yourself - if I could choose and they didn't tell me what I would like to do, and when I understand where my passion is, then see how I can grow there and where I want to go. And you can look around a bit, there are the people around us, and I see those in the team, what others are busy with and what interests me.

Yishai:  I also want to do this, I also want to be in a place like this. Excellent. So I have to thread in another question because I promised it was the last one but there will actually be two. We mentioned the topic of hiring, and I want to talk to you about how hiring corresponds with the world of upskilling. Mainly around the ability or desire to learn, I mean how much does it play a role in you deciding on hires or when you see organizations that have invested and learned how to do upskilling, how does this affect the hiring process for them?

Eti: So I think that with us specifically it had a great impact because some of the conversations I would have with candidates were about where do you want to go, what do you want to do, because it was important to me that I could create, even if not now, then create these opportunities in the future. Because if I have three managers in the organization and there is someone who really wants to manage, it is possible that in the near future I will not have this option, and this is something I like to put on the table, so that the candidate also knows this is the case. Besides, looking at the team like this and understanding what each one is strong at, what they are good at and what directions they are taking, allows you to also see what is missing. If you have strength in the backend team and you also need the frontend side, then maybe like in the search for employees I will look and look for someone who is stronger on this side.

Yishai: Are you looking at, say, the history of upskilling of employees you recruit? Did this candidate invest resources in this, invest thought, know how to articulate what is important to him or know how to articulate how to develop? Is this part of the criteria in your eyes?

Eti:  I don't think it's part of the criteria, it's part of the conversation. Most of the candidates I talked to knew where they wanted to go, and even if you don't know it's okay. It might be something we'll need if we start working together, to figure it out. We didn’t necessarily have this conversation.

Yishai: Yes, but you want to find some kind of openness to a yes, I understand that it is important, I want it, I have a desire for it, even if I don't know exactly where, but I want to develop.

Eti: Yes, I think most of us want to develop in one way or another, it doesn't have to be on the same track, because we are not the same people, but...

Yishai: Yes, you say you will find the way to find this desire of how to develop and make it a reality. Eti Dahan Noked, VPR R&D at Wilco, thank you very much for being with us. Go to devinterrupted.com to register. You can also find all our episodes in English there. I remind you that we at LinearB are growing rapidly, recruiting for a variety of positions in all areas. Go to linearb.io/careers to find your next challenge. I'm Yishai Beeri, we'll catch you in the next episode.

(Closing music)

 

 

Links to the nifty tools and resources mentioned in the episode: