103: סדרת R&D 01 – העקרונות שעומדים בבסיס תרבות ה-R&D שלנו

Startup For Startup

 

דריה:             היי כולם. רגע לפני שנתחיל את הפרק, אני רוצה להזכיר לכם שבה-17 במרץ יתקיים אירוע Startup for Startup Unplugged, שזה האירוע הרבעוני הגדול שלנו, והפעם כולו בנושא R&D. באירוע נצלול לפרקטיקות מעולם הפיתוח ונשתף בדרך שבה אנחנו עושים דברים כאן במאנדיי. אז אם אתם מגיעים מהעולם הזה או רוצים ללמוד עליו יותר, האירוע הזה הוא עבורכם. לפרטים נוספים והרשמה היכנסו ל-startupforstartup.com. האזנה נעימה. היי כולם, אני דריה ורטהיים ואתם הגעתם ל-Startup for Startup, הפודקאסט שבו אנחנו חולקים מהניסיון, מהידע והתובנות שיש לנו כאן במאנדיי.קום וגם מחברות אחרות. הוא מיועד לכל מי שסטארט-אפ מדבר אליו, לא משנה באיזה כיסא הוא יושב ברגעים אלו [מוזיקה].  ברוכים הבאים למיני-סדרה שלנו על R&D. סדרה שבמהלכה נשתף בעקרונות, בתרבות ובתהליכים של מחלקת ה-engineering במאנדיי.קום. הסדרה הזאת היא גם ספתח ל-spotlight שנשים על R&D. בחודש הקרוב, שהשיא שלו הוא באירוע ה-Unplugged Engineering שיתקיים ממש בעוד חודש, ב-17 במרץ. לפרטים נוספים אתם מוזמנים לבקר בקבוצת הפייסבוק שלנו או באתר. אז לצורך הפרק הראשון נמצאים איתי דניאל אריה, שהוא VP R&D ו-Product במאנדיי. היי דניאל.

דניאל:            אהלן.

דריה:             וטל הרמתי, שהוא ה-Tech Lead של מחלקת ה-R&D של מאנדיי. היי טל.

טל:                היי דריה, איזה כיף להיות פה.

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

דניאל:            ממש, מרגש ביותר.

טל:                חיכינו, חיכינו הרבה זמן. כמה זמן אתה כבר מדבר על זה?

דניאל:            נראה לי ששנה פלוס.

טל:                [צוחק].

דריה:             נראה לי שעוד לפני שאני הייתי במאנדיי.

דניאל:            יכול להיות.

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

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

דריה:             אז באמת מילה יותר לעומק על הקהל. מי אמור להקשיב לנו?

טל:                כן, אז… תראו, Startup for Startup, הפודקאסט המרכזי, הוא פונה לקהל מאוד רחב. מגיעים אליו אנשים טכנולוגיים, אנשי Product, סטארטאפיסטים, מעצבי… קהל רחב בטירוף, מגוון בטירוף, זה הקסם שבה אני חושבת. והמכנה המשותף המאוד רחב הזה מונע מאיתנו בפרקים מסוימים להיכנס מאוד לעומק לדברים שהם כן יותר עמוקים, יותר ספציפיים, יותר נוגעים לנו כ-engineering פר סה, והפודקאסט מיועד בדיוק לענות על הצורך הזה. אז הקהל שאנחנו מייעדים אליו את זה זה מפתחים, מנהלי פיתוח, זוטרים יותר, בכירים יותר, אנשים טכנולוגיים שעולם הפיתוח מעניין אותם. הטכנולוגיה עצמה, ה-process עצמו, התרבות שאתה מייצר סביב קבוצות פיתוח. ובגלל זה גם אלו הנושאים שבחרנו, הפילרים שבחרנו להתמקד בהם.

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

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

דריה:             אז בוא נצלול לנושא של היום. שבעצם אנחנו הולכים לדבר על ארבעה עקרונות שמלווים אותנו במחלקת ה-R&D במאנדיי. אז דניאל, רוצה להגיד שנייה מילה על למה בחרנו לדבר על זה היום?

דניאל:            אז אני אולי אשתף שמאוד מאתגר לחשוב איך להתחיל כזה דבר,

[00:04:00]     ואיך לעשות capturing לכל מה שאנחנו רוצים לדבר עליו, יש כל כך הרבה דברים, וכשהתחלנו זה משך אותנו למיליון כיוונים. ואז אמרנו אוקיי, בוא נוריד שנייה לחץ מהפרק הראשון. נקדיש אותו קודם-כל לזה ש, להגיד, לספר בעצם על עקרונות שמובילים אותנו, מתוך מחשבה שבאמת הדבר הזה הוא הקונטקסט הכי טוב לסדרה בהמשך, בסדר? הוא באמת המון על צורת המחשבה שלנו, על מה חשוב לנו. ומאוד מאוד ב-high level. מתוך מטרה שזה יהיה איזשהו קונטקסט חשוב להמשך הסדרה ויעזור לקבל את שאר דברים שנדבר עליהם, עם הדברים האלה בראש כבר.

דריה:             אז בוא נתחיל בעיקרון הראשון, שהוא Ownership and independence. אז מה זה עיקרון ownership בעצם?

דניאל:            אז אני אתחיל אולי מאיזה משהו ככה שהוא חוויה אישית שלי, שאני זוכר שהרבה פעמים בקריירה שלי בעצם עבדתי על משהו והרגשתי שאני מבין אותו ואני רוצה לרוץ עליו ואני רוצה לראות אותו הופך מרעיון למציאות – שזה הדבר הכי כיף דרך אגב שיש ב-engineering, שאתה באמת הופך רעיון למציאות= וזה הכול תלוי בך. ואז פתאום אתה מגיע לאיזו נקודה שאתה מחכה למישהו שיכתוב לך API, אתה מחכה למישהו שירים לך שרת, אתה למחכה למישהו – כל-מיני דברים בסגנון הזה. ואתה מחכה ל-input, כאילו, מהרבה אנשים. וזה יצר אצלי הרבה תסכול. כי כאילו יש את הקטע של המומנטום, וחדוות עשייה וכו’. אני חושב שכשאנחנו מדברים על ownership ו-independence ואני חושב שזה שני דברים שהולכים מאוד מאוד ביחד, זה כאילו גם הפן של האחריות בזה וגם הפן של הזכות של זה. מה הכוונה? שמצד אחד הזכות זה באמת לקחת דבר מקצה לקצה. אתה יכול להחליט איפה הוא מתחיל, איפה הוא נגמר, ואתה לא תלוי באף אחד. זה תלוי בך. והאחריות של זה זה להבין שזה באמת עליך. ואני חושב שלנו מאוד חשוב לייצר סביבה שבה יש לאנשים את ה-setup ואת כל הכלים ואת כל המערכת שתאפשר להם לעבוד בצורה כזאתי שהם לא תלויים באנשים אחרים. גם ברמה הטכנולוגית, גם ברמה של approvals ודברים בסגנון הזה. וזה, זה העיקר, בסדר? מבחינתנו. אנחנו מרגישים שזו הסביבה שנותנת לאנשים לפרוח ולממש את הפוטנציאל שלהם. וככה אנחנו אוהבים לעבוד בדברים שלנו.

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

דניאל:            כן. אני חושב ש-ownership הרבה פעמים, ownership ו-independence יש בזה צד גם, ה-flipside של זה המבלבל זה שאנשים חושבים שאתה עובד לבד. והם חושבים שלהיות owner אומר לא לשתף עם אף אחד ולהגיד לכולם רק כשזה done, וכאלה. ואני חושב שזה בדיוק, אנחנו לא תופסים את זה ככה. זאת אומרת, אנחנו כן חושבים ש-ownership אומר שבסופו של דבר אתה accountable. אתה accountable גם על לשתף את האנשים הנכונים, אתה accountable על לקבל פידבק בנקודות הנכונות, ואתה accountable הוליסטית על הדבר ובטח שאתה לא לבד. בסדר? ownership לא אומר לבד. אבל כן אני חושב שמה שהזכרת זה בדיוק אחד הדברים שהכי הכי מלבלבים בהקשר הזה של ownership, זה independence.

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

[00:08:00]     זה לא שכמו שדניאל אמר קודם, זה לא שיש לנו צוות Client שסיים את החלק שלו ועכשיו מחכה לצוות Server שיסיים לו את האנד-פוינטים, ואז אם הם שניהם ביחד סיימו הם מחכים לאיש Dev Op שירים להם שרת, שלושתם ביחד סיימו הם מחכים לאיש QA שיעשה להם ספקים, ואיכשהו עברה חצי שנה עד שעשינו increment במוצר – אז זה בדיוק מה שאנחנו מנסים לשחרר, אנחנו מנסים לא להחזיק אצל איזה מאסטרמיינד את כל מה שצריך לקרות, ואז שהוא ינסה לחבר את כל החלקים האלה של איזו מכונה מאוד מורכבת ביחד לכדי איזו יצירת אמנות. אלא להיות aligned על לאן אנחנו מנסים להגיע, על מה המטרות שלנו. וברגע שיש לנו את ה-alignment הזה ואת ה-setup הזה אז זה יוצר מצב שכל קבוצה, כל צוות, כל בן אדם, שמים אותו על כביש והם יכולים לרוץ כמה מהר שהם מסוגלים. הם תלויים בעצמם, הם מבינים למה הם עושים כל דבר, הם יכולים לקבל החלטות בעצמם, הם יכולים לקבל פידבק כל הזמן מהשטח. להיות חכמים יותר, ולהתקדם לשלבים הבאים.

דריה:             אז מה זה אומר? זה אומר שכל אחד יודע לעשות הכול?

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

דריה:             וכל אחד כאילו מומחה בהכול בעצם.

דניאל:            אז זהו, זה כאילו מומחה בהכול ובשום דבר לפעמים יוצא, וזה באמת ה-pitfall של הסיפור הזה. ובאיזשהו שלב כשהתחלנו כבר להתפתח והיינו צריכים תשתיות הרבה יותר מורכבות וכו’, אז הבנו שזו איזושהי אקסיומה שהגדרנו לעצמנו שהיא לא בהכרח נכונה. ועשינו לה challenge, וניסינו להבין מה בעצם רצינו לשמר. רצינו לשמר את זה שאנשים לא יהיה איזה קיר מאוד מאוד גדול שבן אדם חווה איזושהי בעיה ואז הוא אומר “אה, אבל זה בעיה של ה-Dev ops, זורק את זה מעבר לקיר וזה כבר לא מעניין אותו. ובאמת ה-

דריה:             למה? כי מה יכול לקרות אז?

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

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

דניאל:            כן, ובאמת שם נגיד, אז באמת, היום יש לנו צוות infrastructure מאוד מאוד משמעותי. צוות מדהים. והוא עושה תהליכים אדירים ומאוד מאוד עמוקים שדורשים specialty מאוד מאוד גבוה, שאנחנו לא יכולים לדמיין בכלל שבן אדם שלא מתעסק בזה כל היום יכול להגיע לרמת מומחיות כזאתי. אנחנו באמת אוהבים את האמנות של להיות מומחים בדבר הזה. מצד שני הצורה שבה מייצרים את הדברים היא צורה שמאפשרת לאנשים אחרים, לא אומרים להם “שמעו, זה עליי. אל תבינו מה קורה פה, זה black box, סמכו עלינו.” הם משקיעים המון, גם ב-education, וגם בלחשוב כל הזמן, זה קונספט שאנחנו קוראים לו core ו-Playground. זה בעצם אומר,

[00:12:00]     אם אני צריך להגיד את זה בשתי מילים, כל דבר שאנחנו עושים, אנחנו מחלקים אותו roughly לשתי רמות בראש. Core זה משהו שהוא באמת דורש מומחיות מאוד מאוד עמוקה, דורש הבנה שהיא מקצועית מאוד והיא הלב של הלב של מה שאני עושה. וב-core מי שצריך לגעת זה האנשים שמומחים באותו דבר. Playground מהצד השני זה המקום שאנחנו מצפים שאותם אנשים שהם מומחים, הם פותחים אותו לכל שאר האנשים בארגון, וכל בן אדם ב-R&D יכול בעצם לרוץ ב-playground הזה.

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

דניאל:            כן. נגיד לדוגמה יש לנו אוטומציות במוצר. בסדר? זאת אומרת, היכולת של לקוחות בעצם להגדיר משפטים שעושים if this than that. אז אנחנו מאוד מאוד חשוב לנו שכל בן אדם ב-R&D, אם הוא רוצה להוסיף עכשיו איזו אוטומציה חדשה, איזשהו משפט חדש, הוא יוכל לעשות את זה. אנחנו מגדירים שזה בעצם playground. מה זה אומר? זה אומר שצריך להיות לזה תיעוד מאוד מאוד ברור של איך עושים את זה. זה צריך להיות קוד שהוא encapsulated מאוד והוא לא יכול להשפיע, אוטומציה אחת לא יכולה, זה שהוספתי משפט לא יכול להשפיע על כל האוטומציות.

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

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

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

טל:                אז קודם-כל אני חושב שאין איזה, זה לא איזה אסימון שנפל לנו יום אחד, זה משהו מאוד הדרגתי, אתה פתאום מרגיש… קודם-כל אני יכול להגיד בעצמי, שאני פתאום הרגשתי שאני בא לעשות דברים מסוימים ובא להריץ פרויקטים מסוימים שאני פתאום מרגיש שאני לא on top על מה שאני צריך לעשות, ושאני פתאום כבר לא מכיר את ה-details בכל מקום בשביל לחבר את כל הנקודות בצורה הנכונה. סתם, אחת הדוגמאות נגיד שאני הכי זוכר זה הדוגמה של ה-columns. שאנחנו באנו יום אחד ורצינו להוציא 20-30 עמודות חדשות במערכת – עד אותו יום היו לנו 7 עמודות ספציפיות. שמנו לב שבשביל להוסיף column – היינו אז 20 מפתחים פחות או יותר במאנדיי אני חושב – שבשביל להוסיף column, בשביל להוסיף עמודה חדשה, סוג חדש של עמודה למערכת, בן אדם צריך להכיר אינסוף דברים: איך עובדים הפילטרים בתוך הבורד, ואיך עובד ה-sorting בבורד, ואיך עובד ה-elastic search בשביל לאנדקס את המידע של ה-column הזה כדי שנוכל למצוא אותו בחיפוש. ואלף ואחד דברים שהרגשנו שאתה צריך להיות איזה יחיד סגולה או איזה קונטקסט של שנים בשביל להצליח להוסיף עמודה. תפסנו את הראש ואמרנו “איך זה הגיוני”? איך יכול להיות שכל בן אדם צריך, בשביל לעשות משהו כל-כך פשוט בסופו של דבר ב-bottom line אתה צריך להכיר כל-כך כל-כך הרבה דברים, ואז הבנו שאנחנו צריכים איזושהי הפרדה. הפרדה כמו שדניאל אמר בין ה-core, בין התשתית, לבין ה-playground או המוצרים שרצים על אותה תשתית. וברגע שעשינו שם את ההפרדה פעם אחת אז זה פתח לנו את [00:16:00] כל הצ’אקרות לעשות כל דבר ובאמת לא רק את הממדים האלה של המוצר, את ה-building blocks, לקחנו את זה כמעט לכל תחום, לכל עולם שאנחנו מתעסקים בו. החל מאיך אנחנו עושים Dev ops, דרך כל micro service חדש ומה בו, מה בתוך ה-micro service הוא חלק מדומיין ספציפי, חלק מצוות ספציפי באחריות שלו ורק הוא נוגע, אבל מה בתוך אותו service או גם ה-playground שבו כל אחד בחברה יכול לגעת, כל אחד brand יכול לגעת אם הוא צריך בשביל להצליח לעשות את האתגרים שלו, ואני חושב שזה מה שאפשר לנו לייצר לנו צוותים מכל-מיני סוגים שמזהים הזדמנויות מאוד מגוונות ומאוד שונות אחד מהשני, ועדיין, עם כל זה ועם כל המטריצה הבלתי אפשרית הזאת מצליחים לקחת end to end את האתגרים שלהם ולהצליח בעצמם במשימה בלי שהם תלויים במאה ואחד דברים אחרים.

דניאל:            אנחנו דרך אגב הרבה פעמים כשיש איזה playground מאוד מאוד מובהק, נגיד כמו מה שטל דיבר קודם על הקולומנים או על ה-automations, דרך שאנחנו מאמינים בלבחון playground, זה פשוט לעשות hackathon של כל ה-R&D, להגיד “טוב, עכשיו עם הדרכה של שעה, עם התיעוד שיש, עם הדוגמאות שיש בקוד, בוא נראה איך כולם מייצרים נגיד וויג’טים.” בסדר? ואז נגיד באותו יום כאילו של ה-hackathon שם אתה מבין כמה טוב מי שבנה את זה, כמה הוא עשה את ההבחנה הזאת בצורה טובה, לפי כמה שהוא סובל באותו- [צוחקים].

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

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

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

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

דניאל:            אני רק אוסיף אני חושב שברגע שאנחנו לקחנו את זה ליומיום, זה בא לנו בכל דבר, בסדר? לא רק בדברים הגדולים, גם בדברים הקטנים. והשאלה הזאתי של “האם זה ב-core, האם זה ב-playground, מה זה אומר על כל אחד מהם. אני חושב שזה גורם להמון המון דברים ב-engineering, ב-day to day, להיות הרבה הרבה יותר טובים וברורים למה הייעוד שלהם, ואיך אתה צריך לפתח אותם. אז אני ממש חושב שזו איזושהי שאלה שאם אתה שואל את עצמך, “טוב, אני כותב עכשיו איזשהו פיסת קוד, את מי היא אמורה לשרת, האם זה משהו שצריך להיות באזור הזה של ה-domain specific knowledge, כן או לא? מה זה אומר אם כן, מה זה אומר אם לא” – אני חושב שזה דברים שמאוד מאוד מכווינים את היומיום בצורה מאוד מאוד טובה ולנו הם מאוד עוזרים. ואנחנו מאוד רחוקים מלממש את זה in full, כן? אנחנו, זאת אומרת זה איזשהו קונספט שאנחנו רק לא מזמן בפתיחת השנה של ה-engineering אז באמת היה שיחה שלמה רק על זה.

דריה:             אז מה באמת עדיין מאתגר בתחום הזה?

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

[00:20:00]

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

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

טל:                כן.

דריה:             כי הוא שלי.

טל:                לגמרי.

דריה:             אז זה גם מוביל אותנו לעיקרון הבא. שהוא everyone owns the why. אז מה זה אומר בעצם?

דניאל:            ברמה הכי בסיסית זה אומר שהעולם כל הזמן משתנה, אנחנו כל הזמן משתנים, מה שאנחנו מתמודדים איתו כתוצאה מזה כל הזמן משתנה. ואנחנו רוצים שבכל דבר שאנחנו עושים, להשקיע קודם-כל בלהבין למה אנחנו עושים אותו. ולאו דווקא במה שאנחנו עושים כרגע. כאילו, אני חושב שהנקודה הזאת בעצם מאפשרת לכולם לקחת חלק ולאתגר כל הזמן את איך שאנחנו עובדים, ולאפשר לכולנו להתפתח. ובאמת לעשות את הדברים מתוך הבנה מלאה. דיברנו קודם על ownership, אז באמת דמיינו מצב שהרבה אנשים לוקחים ownership על המון המון דברים אבל בסוף אנחנו קבוצה וצוות, שצריך לעבוד ביחד ל-shared goal, וברגע שאתה מבין את ה”למה” כל ה-day to day שלך הופך להיות הרבה הרבה יותר נכון, מכוון, יש לך הרבה יותר יכולת לקבל החלטות נכונות והחלטות שדוחפות את כולנו לאותו כיוון. אז אני חושב שהקטע של באמת להסביר את ה”למה” אומר אנחנו יש לנו אנשים סופר-חכמים, סופר-מוכשרים. רוצים שלכולם תהיה את אותה תמונה בראש, ושביחד נתמודד עם המציאות הזאתי. והרבה פעמים זה גם אומר שבמקום ללמד איזה מתכון של ככה עושים משהו וזה הפרקטיקה ותעקוב, אנחנו מסבירים, מה שאנחנו מנסים לעשות בתהליך הזה והזה זה א-ב-ג-ד. זה האימפלמנטציה שלו כרגע, היא כנראה תשתנה עוד אלף פעמים. ויכול להיות שבפעם הבאה אתה תשנה, כי אתה מבין את ה”למה” ואתה מבין בדיוק את הכאבים. אז זה בגדול ה… להסביר את ה”למה” אומר בעצם שכולנו מתמודדים עם האתגרים ביחד, ואפשר לעשות את זה רק כשכולם מבינים את התמונה המלאה.

דריה:             תנו דוגמה, איך זה נראה בפועל?

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

דניאל:            אפילו, הדוגמה הכי קלאסית, זה איך אנחנו מטפלים בתקלות production לדוגמה. בסדר? או מה שנקרא אצלנו ה-dev of the day או dev of the week, זה בעצם ה-dev on call שלנו. היה לנו איזשהו process כזה שהגדרנו פעם כשהיינו R&D הרבה יותר קטן. ובאיזשהו שלב אנחנו ראינו שאנחנו פשוט ממשיכים לעבוד באותה צורה אבל אין לזה כבר שום משמעות. סתם אני אתן דוגמה, פתאום בן אדם היה on call  על משהו שחוץ מלהגיד “טוב, צריך לפנות לבן אדם האחר”,

[00:24:00]     לא היה לו שום value לתת. ואני חושב שבנקודה הזאת הבנו שאנשים ממש למדו את ה-process, לא את העקרונות מאחוריו של מה שאנחנו רוצים, ובאמת עשינו כזה מחשבה מחודשת, ניסינו להגיד אוקיי, מה ה-process הזה צריך לשרת, מה אנחנו רוצים שהמנגנון הזה יהיה. והיום הדבר הזה בנוי בצורה אחרת לגמרי ויש גם צוותים שבקבוצות מסוימות לקחו את זה לכיוונים שונים. וזה נהדר. וזה בדיוק הנקודה.

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

דריה:             כן, אבל יכול להיות שנבחר אחת ואז נשנה לאחת אחרת תוך חודש. כי זה לא עונה לנו על ה-why.

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

דניאל:            אני אגיד גם בהקשר הזה שאני חושב שכולנו חווים כל הזמן, כאילו, העולם משתנה כל הזמן, נגיד לכולנו יש את הדוגמה של השנה המטורפת שעברה עלינו, עם כל המשמעויות של זה, והעבודה פתאום מהבית. ואני ממש זוכר את היום הזה שעברנו לעבוד מהבית, וזה היה מדהים לראות איך פשוט המה צריך לעשות כדי שהדבר הזה יעבוד הוא לא היה צנטרליסטי, הוא מכל מקום, כל זה, כאילו, מרמה של הרעיונות ככה, והתרגילים ככה, וצריך כלים כאלה כי עכשיו אנחנו נעשה את זה לא פרונטלי אלא בזום, ועד רמה של מה זה אומר ל-on call, ומייד איך אנחנו רואים ששינויים ב-production הם בסדר. כל הדברים, כמות האנשים שהיו מעורבים ב-transition שלנו ל-work from home הייתה פשוט חלק עצום מה-R&D. ואני חושב שזה, אני יכול להגיד שלי באופן אישי זה הוריד המון לחץ. הייתה יכולה להיות סיטואציה אחרת שבמצב כזה כולם באים ואומרים “טוב, מה עושים עכשיו?” ובאים לאיזה מישהו אחד שכאילו הוא אמור להיות ה, להתחיל להגיד “באינפרה נעשה ככה, בצוותי זה נעשה ככה ו-” ופה לא, פה זה היה מאוד מאוד distributed, ואני חושב שזה רק נובע מזה שבאמת אנשים ממש מחזיקים את מה שאנחנו מנסים להשיג. וזה חשוב לי להגיד, זה עבודה מאוד קשה, שכולם הבינו את הלמה. אני גם חושב שיש תקופות שאנחנו עושים את העבודה הזאת יותר טוב ויש תקופות שאנחנו ממש מרגישים שאנחנו מתרחקים מזה. אבל חלק מאוד מאוד משמעותי ב-leadership במאנדיי, בין אם זה leadership טכנולוגי לבין אם זה leadership ב-management …  זה בעצם לעבוד מאוד מאוד קשה כדי שלכולם יהיה את הלמה הזה בראש. ואני חושב שאחד הפיטפולים שאנחנו נפלנו בו לא מעט זה שלא מספיק שהמידע יהיה שם. זאת אומרת, transparency הוא key לדבר הזה, אבל זה לא מספיק, צריך לעבוד בזה. צריך לייצר את המופעים שבהם זה קורה, צריך באמת בכל נקודה להקדיש לזה המון המון מאמץ, ואני חושב שזה בכל דבר שאנחנו עושים וזה חלק מאוד משמעותי מהעבודה.

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

[00:28:00]

דניאל:            נגיד, אתם יודעים, זה משהו שאנחנו, עם ראשי צוותים חדשים שמגיעים, בטח עם מנהלי קבוצות וכו’, אם אני מסתכל על הלו”ז שלנו, חלק מאוד מאוד גדול ממנו הוא הולך על זה, על באמת כל הזמן כאילו לחבר את כולם, וככל שהחברה גדלה זה משימה הרבה הרבה יותר קשה. עם המון דברים שלא פתורים גם לנו, כן? של איך עושים את זה, איך, מתי, איך 400 איש מבינים את הלמה ומה חשוב שכולם יבינו ומה פחות חשוב ואיך עושים. אבל אני חושב שזה, ברמה הפרקטית, אם אני נגיד היום ראש צוות, אני צריך לחשוב, בסדר, המשימות שהצוות שלי עובד עליהן. הם מבינים איך הם מתחברים לאסטרטגיה. ואם הם מבינים מה ה-end goal, והאם אני יודע… הם ידעו לשרטט עכשיו את העוד שלושה חודשים בעצמם וכבר יש להם את האינטואיציה הזאתי, וכל הזמן לעבוד על הדבר הזה. וזה בכל daily, וזה בכל… כן? כאילו, בכל פגישת Planning שעושים וזה בכל רטרו, וכל לחזור על ה-essence ולחבר. וזהו, וזה באמת, אני אולי אתן דוגמה פרקטית אחת, שנגיד ברמת ה-R&D, יש לנו שוב, ב-bootcamp הזה שאנחנו עושים לעובדים חדשים, אז אחד הסשנים לדוגמה זה סשן שהוא מסביר על המבנה שלנו. של ה-engineering ובכלל עם ה-Product ועם ה-Design, והסשן הדיפולטי שכולם מצפים לראות זה איזשהו org chart, ושיסבירו להם מה כל צוות עושה. אנחנו לקחנו את זה למקום אחר. אנחנו כל ה, בוא נגיד שלושת-רבעי סשן הראשון, זה מה אנחנו מנסים להשיג במבנה. מה הוא צריך לשרת, מה העקרונות שאנחנו רוצים לראות, ממה אנחנו מפחדים, איזה פיטפולים אנחנו… נגיד דיברנו קודם על ownership, אז silos, שאנחנו מפחדים. ולשתף ממש בכל הבעיה. ואז בחלק האחרון אנחנו אומרים טוב, אבל זה ה-structure שלנו כרגע והוא ממש את זה כי א-ב-ג-ד, אבל אני חושב שבאמת הקטע שה-reasoning הוא תופס את מרב המקום גורם לנו הרבה פעמים, גם לאנשים חדשים, חוזרים אלינו אחרי חודשיים, אומרים “תקשיב, הקטע הזה שאמרת פה שהתרבות היא ככה וכולם יכולים… שמע, אני תקוע, אני לא יודע מה זה, אני, כאילו, אין לי שום יכולת לעשות את זה ב-day to day שלי”, וזה מדהים. כי זה מאפשר לכולם להבין שגם אם אנחנו כרגע לא מקיימים משהו, כי הוא נשבר, אנחנו נבנה אות וביחד חדש ולא יקבל את המצב כמו שהוא ולהגיד אוקיי.

דריה:             כן, גם להרגיש מספיק נוח לבוא ולהגיד משהו לא עובד לי-

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

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

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

[00:32:00]     בוא נעשה משהו אחר. הנה, יש לי רעיון א-ב-ג”, ואני חושב שזה גם דרך שלנו בתור leadership לדעת שהדבר הזה באמת מתקיים. זאת אומרת שיש צ’אלנג’ים שהם צ’אלנג’ים מעניינים, שהם צ’אלנג’ים ש, אנחנו אוהבים להגיד ש, כאילו, מפתיעים אותנו. שאנחנו לא מרגישים שהם היו יכולים להגיע בדרך אחרת. זה דרך לדעת שבאמת אנשים לוקחים את זה לפרקטיקה.

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

דניאל:            אני מאוד מתחבר, ואפשר לקחת את זה לרמת הבאג הבודד, בסדר? זאת אומרת, אתם מכירים את זה שיש תמיד, “אני אשאל את הראש צוות שלי כמה זמן להשקיע בבאג הזה.” ואני חושב שנגיד, ברגע שבן אדם נגיד מבין מה המשמעות שלו, על מה הוא משפיע, יודע גם על איזה, כאילו מה, באמת, למה אנחנו רוצים לפתור את הבאג הזה ועד כמה אנחנו רוצים. הוא מחזיק את זה בעצמו, הוא מקבל המון המון החלטות שבסוף הן היכולת שלנו לדעתי לעשות execution איכותי, מהיר, שמתמקד בעיקר, ושכל ההחלטות האלה הן קורות מאות פעמים ביום, שזה מטורף. של כמה להשקיע, של עד כמה ללכת רחוק, של מתי לעזוב משהו מסוים, של אולי יש משהו ליד שאני אשיג אותו והוא נותן לי 90 אחוז ממה שניסיתי להשיג מלכתחילה. זה באמת בכל דבר קטן שאנחנו עושים. ואנחנו ממש מעודדים את זה גם ב-day to day שאנשים, בן אדם בא ושואל כמה צריך להשקיע בזה, אז בוא תגיד אתה, בוא תסביר את ה-thought process, ואיזה עוד מידע חסר כדי שתוכל להגיד, לבוא עם הצעה שאתה מאמין בה וחושב שהיא נכונה ו-

טל:                וזה בסוף ה-enabler הכי גדול, המה שממנו התחלנו, על ה-ownership. בסוף אני מחזיק את ה”למה”, אני לא תלוי כל הזמן בדברים שהיו לאנשים אחרים בראש וכל הזמן צריך אותם בשביל לקבל החלטות. I own it.

דריה:             בדיוק מה שרציתי להגיד. כאילו, אני חושבת שהעקרונות האלה לא יכולים לבוא בנפרד, זה ממש משהו שבא ביחד, כדי לגרום לדברים באמת לרוץ כמו שצריך. [מוזיקה]. אוקיי, אז העיקרון השלישי והאחרון שאנחנו נדבר עליו, או כמעט אחרון, הוא impact driven. שדיברנו על זה הרבה לדעתי במהלך הפודקאסט הזה, אבל בואו בכל-זאת נגיד איך זה בא לידי ביטוי ב-R&D.

דניאל:            אם אני צריך למסגר את זה בשורה אחת, זה אומר לראות שהפעולות שאנחנו עושים והעבודה שאנחנו משקיעים מייצרות ערך אמיתי לאנשים אמיתיים בעולם. בסדר? זה ככה ממש בשורה אחת. ויש לזה המון אספקטים ב-engineering, המון המון. אחד הדברים לדוגמה שאני חושב שהוא pitfall שאני באופן אישי נפלתי בו המון פעמים ואני חושב שהמון מאיתנו בגלל שזה מקצוע של יצירה נופלים בו, זה שלפעמים נגיד כמות המאמץ שאתה משקיע במשהו מבלבלת אותך עם האימפקט שהוא עושה. יש איזו דוגמה שממש נצברה אצלי במוח, של מישהו אצלנו מהצוות של התשתיות שהוא tech lead מאוד מאוד מוכשר, זה היה לפני כמה שנים כבר, והוא כזה בא בתחילת השבוע, אומר “תקשיבו, עשיתי שני דברים מטורפים.” אחד זה היה באיזה database שעבדנו איתו, לסמן וי בקונסול של AWS, של encryption at rest.

[00:32:00]

דריה:             שמה זה אומר במשפט?

דניאל:            זה אומר שבעצם המידע יהיה מוצפן, בסדר? אבל המאמץ שזה דרש ממנו לצורך העניין זה לסמן check box ולעשות save. והדבר השני שהוא עשה בדיוק באותו פרק זמן, הוא עבד על איזה מנגנון סופר-מסובך. אם אני זוכר נכון זה היה איזה cash או משהו, אבל משהו כאילו, יצירת אמנות וזה. ואני זוכר שהוא בא וסיפר לנו את שניהם, ואמרנו “וואי, איזה מדהים, ה-data מוצפן עכשיו.” [צוחקים]. וכאילו, זה brain friction כאילו של, שבאמת, הוא אמר “רגע, אבל עבדתי, תראה איזה יופי, זה מדהים, זה…” ובסוף כאילו, בגלל שבאמת הדבר הראשון, למרות שהוא היה מאמץ מאוד קטן, האימפקט שלו היה עצום. אז אני חושב שדבר ראשון, שזה בא לידי ביטוי הרבה פעמים ב-engineering, זה שאין בהכרח קשר ישיר בין כמות המאמץ לאימפקט, ולהיות impact driven זה אומר שכן, שאתה כן מנסה שיהיה קשר ישיר כל הזמן, אתה כן מנסה שכמות ההשקעה שאתה עושה במשהו היא תהיה בעצם, לפי כמות ההשפעה שהוא עושה על אנשים אמיתיים בעולם.

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

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

דריה:             איפה עוד זה בא לידי ביטוי.

טל:                אז סתם דוגמה שאני זוכר, שבפעם ישבתי עם מישהו ב-code review. Code review של איזה פיצ’ר גדול, ומכל הקוד, מכל, היה שם כאילו לא מעט שינויים, פיצ’ר יחסית גדול, מכל הקוד התמקדנו באיזה חמש שורות קוד. וכאילו לא… מי שישב איתי לא הבין למה כאילו, יש כאן איזה אלף שינויים, למה אני מתמקד דווקא בחמישה האלו. והאזור הזה בקוד, החמש שורות האלה שבהן התמקדנו, זה האזור שהיה רץ בכל פעם ש-cell בבורד מתרנדר. שכל פעם cell בבורד, יש לנו בורדים של אלפי רשומות, מאות עמודות, כל cell שמתרנדר, כשעושים scroll מתרנדרים כל הזמן, המון המון סלים, היה לי ברור שהחלק הזה בקוד הוא חלק שעליו אנחנו צריכים לשים 95 אחוז מהעבודה והמחשבה והאופטימיזציה, ועל החמישה, ועל כל ה-95 אחוז קוד הנוסף שהיה באותו שינוי אנחנו צריכים להשקיע 5 אחוז. וההפרדה הזאת, לתת לכל אופטימיזציה, לכל effort, כאן זה היה על performance, אבל זה בכל דבר שאנחנו עושים, לתת לכל דבר את המשקל ואת המחשבה בהתאם למה המשמעות שלו בעולם האמיתי, מה הוא באמת הולך להשפיע, ולא לנסות בצורה שווה לאמץ את כל העקרונות שלנו בכל דבר שאנחנו עושים כל הזמן. עוד דוגמה טובה אני חושב זה על ספקים. זה קל מאוד לנסות לאפטם כל דבר ולהיות fully spect בכל מקום. אבל יש איזה 80-20 כזה, יש איזה 20 אחוז, 20 אחוז מהספקים שאתה עושה שהם יתפסו לך 80-90 אחוז ממה שמעניין באמת לעשות. והרבה פעמים ההבחנה הזאת בין מה חשוב ומה מעניין ומה makes a difference, מה באמת מזיז את ה-needle – זה מתחבר גם ללדעת לאפיין מהו ה-needle הזה שאנחנו מנסים להזיז, שזה ה-why שדיברנו עליו קודם – ברגע שה-needle הזה ברור וברור לי מה באמת מזיז אותו ומה לא באמת מזיז אותו, גם אם הוא נכון, אז אני חושב שאנחנו כמפתחים, כ-engineering, יכולים לקבל החלטות ולעשות פעולות הרבה יותר נכונות.

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

[00:40:00]     אתה מכניס שם איזושהי פורמולה שאתה  כותב, שהיא חישוב על עמודות אחרות. ועשינו את זה, מימשנו את זה, וקיבלנו המון בקשות על להיות מסוגלים לעשות פורמולה על פורמולה. בסדר? להכניס פורמולה על פורמולה. עכשיו, אנחנו כמו אנשים באמת אנליטיים ושאוהבים את ה… ניסינו לפתור את הבעיה הזאת תאורטית. איך אתה מגיע למצב שאתה מזהה מעגלים ו… הפכנו את זה לבעיה שהיא מאוד מאוד קשה. ומה שקרה, שכל פעם שבאנו להתמודד איתה פשוט זה היה נורא נורא קשה ולא הצלחנו למצוא איזשהו פתרון שהוא טוב. במשך המון המון זמן לא היה לנו את הפונקציה הזאת במוצר. עד יום אחד שאמרנו “רגע, בואו שנייה ננסה להבין, הרי אנשים לא יעשו פה עכשיו פורמולה על פורמולה של מיליון פורמולות. הם יעשו של מאות, הם יעשו של עשרות וכו’.” ואמרנו, ניקח איזשהו פתרון פשוט, שבאמת סופר כמה פעמים ביקרתי באיזה פורמולה ספציפית, אמרנו “טוב, נתחיל ממאה, נשים לוג, נראה כמה פעמים זה קורה.” העלינו את זה ל-production, זה לא קרה. עד היום זה לא קרה. יש לנו פורמולה על פורמולה. ואני חושב שבנקודה הזאתי – עכשיו, יבוא יום ואנחנו נצטרך לפתור את זה גם silver bullet כאילו ועם פתרון מדהים, אבל כל הדרך הזאת בינתיים הדבר הזה היום משפר לאנשים את החיים בצורה מאוד מאוד משמעותית. והעובדה שהיינו מאוד מקובעים ואמרנו שאו שאנחנו פותרים את זה או שאנחנו לא עושים את זה בכלל – אני חושב שהיא הייתה מאוד לא impact driven בגישה שלה. וכשניסינו שנייה לתת עוד כמה דרגות חופש פתאום הגענו למשהו שבאמת, בעולם האמיתי הוא מעולה, בסדר? ואני חושב שאנחנו רואים את זה בכל אספקט של החיים שלנו, אפילו אתם יודעים, כאילו, בדיקות קורונה שהן לא 100 אחוז ודאיות. עדיין יש להן הרבה משמעות. בסדר?

דריה:             כן, זה מתחבר גם לנקודה של execution. בסוף, פשוט תעשה משהו, כאילו, לפני שאתה… גם אם אתה רוצה לפתור אותו עכשיו ב-100 אחוז ואתה מרגיש שאתה לא יכול, אז בוא שנייה תרוץ עליו, תראה, תסיק מסקנות, תקבל איזושהי תמונה יותר טובה של המציאות ואז אולי תעשה את השינוי. ואני חושבת גם שזה אפילו עוד יותר רלוונטי ב-growth, נכון? כאילו, עכשיו, אם בעבר בחברה שהיו לה, לא יודעת, עשרה לקוחות, אז השינוי שאתה עושה אז כאילו, אוקיי, לקוח אחד או שניים יכולים לשים לב. ועכשיו זה יכול להיות ב-scale של אלפים או יותר, אז זה פתאום אפילו מקבל עוד יותר משמעות.

דניאל:            אני חושב שהמסר פה הוא לא לעשות דברים quick and dirty. בסדר? זה ממש לא המסר. המסר הוא פשוט להיות מאוד מאוד מכוון כלפי המאמצים שלך ולעשות מערכת שיקולים שלוקחת בחשבון את הפרמטרים של העולם האמיתי. בסדר? זאת אומרת, יש מצב שבעיה מסוימת שאתה מתמודד איתה היום, גם אם תעשה scale של פי אלף או פי עשרת אלפים מכמות הלקוחות, אתה לא תפגוש אותה, היא עדיין תישאר בתחום התאוריה. לעומת בעיות אחרות שאתה אומר “טוב, פה בפי 5 זה יפגוש אותי כבר, ואני אצטרך להבין את זה ולקחת את זה בחשבון ולתכנן את זה וכו’.” אז המסר פה הוא לא אז המסר פה הוא לא “תעשה רק את מה שעכשיו, מה שנקרא rock bots ושיעבוד.” המסר פה הוא פשוט להיות מאוד מאוד minded לזה ומאוד מתוכנן, ולנסות להגיע לתוצאה אופטימלית ביחס למציאות. זה הנקודה. [מוזיקה]

דריה:             אוקיי, אז נעבור לעיקרון הרביעי והאחרון שלנו, שזה ככה משהו נחמד לסיום. שזה עיקרון, החלטנו לקרוא לו Enjoy the engineering craft. נכון? אז מה זה אומר בעצם?

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

[00:44:00]     ואני חושב שזה מה ש… יותר מהכול זה מה ש, זה לאסוף סביבנו אנשים כאלה, אנשים שאוהבים את מה שהם עושים, זה מה שמשמר סביבה שכיף תמיד להיות חלק ממנה. שיש תמיד מסביבך אנשים ש, שזה מדליק אותם, שהם לוקחים את זה לקצה, שהם אוהבים את מה שהם עושים, וזה גם מאוד מקרין אחד על השני. ה-passion של בן אדם אחד מדבק בן אדם אחר. וביחד אנחנו מייצרים קבוצה שאוהבת ביחד את מה שהיא עושה.

דניאל:            כן, אני חושב שאנחנו מדברים המון על אימפקט והרצון להשפיע, והרבה פעמים אנשים חושבים שזה מתנגש. ואני חושב שזה בדיוק הפוך, בסדר? זאת אומרת, הרבה פעמים אומרים “טוב, מעניין רק אימפקט, אז אין, לא משקיעים ב-engineering. אני חושב שאיך שאנחנו תופסים את זה זה בדיוק הפוך, היכולת שלנו להיות מאוד מאוד חזקים במקצוע שלנו, היכולת שלנו באמת לקחת את זה ככוח שאנחנו רותמים לעצמנו, היא מה שמאפשר לנו להיות impact driven והיא מה שמאפשר לנו באמצעות הטכנולוגיה להשפיע על כל-כך הרבה אנשים. ואני באמת מתחבר למה שטל אמר, שאנחנו מאוד מאוד אוהבים את ה-craft עצמו, בסדר? את המלאכה עצמה של engineering, ואני חושב שזה כיף גדול שיש לנו כל-כך מנעד כזה מטורף של אתגרים וכזה באמת, מ-scale ועד ה-client, האתגרים בקליינט של לגרום לבורד לעשות scroll בצורה טובה, שזה כבר אתגר שאנחנו נכנסים לנבכי ה, כל פריים ופריים. ובאמת אחד הדברים שלנו חשוב זה שאנחנו קודם-כל כולנו engineers. ואנחנו אוהבים את מה שאנחנו עושים, ושאנחנו מאמינים שזה, זה ה-super power שלנו. ואני חושב שיש גם משהו מדהים ב-engineering באופן כללי, שזה, זה בעצם איזושהי פונקציה שיש לה ייחוד מסוים, כי היא באמת יכולה לחשוב על משהו בבוקר, בערב שהוא יקרה. וזה כוח עצום. אז זה ככה איך שאני רואה את הדברים.

דריה:             כן, לסיום אני מתחברת באמת למה שאתה אמרת טל, שההתלהבות הזאת היא מדבקת. אז אני יכולה להגיד גם שכשמישהי שרואה את זה מבחוץ, שההתלהבות הזאת היא מדבקת גם לכל החברה. כי אם ב-company meeting נותנים למפתח שהצטרף יחסית לא מזמן לדבר ולספר על איזשהו פיצ’ר שהוא פיתח, משהו שעשה באמת, ממש הזיז את המחט כמו שאנחנו אוהבים להגיד, אז זה ממש מדבק, וכל החברה יכולה לחגוג איתו, וזה מעודד את המצוינות הזאת לא רק ב-R&D אלא ממש בכל החברה ומוציא את זה לכולם החוצה. אז זה כיף לראות.

טל:                תודה.

דריה:             וזהו, ובנימה אופטימית זו אנחנו נסיים. אז תודה אריה.

דניאל:            תודה רבה, היה כיף.

דריה:             תודה טל.

טל:                תודה דריה.

דריה:             ואני מזכירה לכם שאם אתם רוצים לשמוע עוד פרקים או להתעדכן באירועים הבאים שלנו אתם מוזמנים להיכנס לאתר שלנו או לקבוצת הפייסבוק, שניהם נקראים Startup for Startup. יאללה ביי. [מוזיקה]

 

 

[wp_applaud]