יום שלישי, 26 בפברואר 2019

362 Elastic, distributed corporate with Uri Cohen

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

קצת על אורי - 
  • אורי עובד ב-Elastic כ-3 שנים, מגיע מרקע של פיתוח תוכנה ולפני כ-10 שנים עבר לצד המוצר (Product).
  • כיום אחראי ב-Elastic על ניהול מוצר של כל מוצרי הענן.

אז מה זה Elastic?
  • שמעתם על Elastic Search
    • פלטפורמת קוד פתוח, שנוסדה במקור כמעיין מנוע חיפוש מבוזר מעל סיפרייה בשם Lucene
    • מאפשרת להכניס מידע בצורת מסמכים (Documents) ולערוך עליו חיפושים, סכימות (Aggregations) וניתוחים שונים.
    • הפרויקט שוחרר לעולם ב-2010 ע”י שי בנון, מייסד החברה, ומאז כמות ה-Use Cases גדלה - 
      • בהתחלה Log Analytics, וסביבו נוצרו עוד שניים: LogStash - מעיין מיקוד של המידע לפני שנכנס ל-Elastic Search; ו - Kibana - שכבת UI מעל Elastic Search, שיודעת לעשות ויזואליזציה של הדאטה.
    • עבור לא מעט אנשים, זה גם ה-Stack שמעל ELK
      • מותג ידוע ונפוץ, קצת משחק של אהבה-שנאה בתוך החברה - נפוץ, אבל קצת מגביל את ה-Stack של החברה לכיוון של Logs בלבד.
      • לאורך השנים נוספו עוד דברים, כמו Beats ו-ELKB / BELK - ובסוף זה פשוט נקרא Elastic Stack
  • הרבה דברים מעניינים ולא שגרתיים . . .
    • פרוייקט נפוץ ומוערך בקוד פתוח 
    • יזם ישראלי שלקח חברה מאפס עד כדי הצלחה מסחרית מרשימה
    • החברה מבוזרת לחלוטין
    • מוצר טוב. גם חשוב.
    • כל זה - באותה חברה. תודה לשי על אחלה סיפור לפודקאסט!

חברה מבוזרת - 
  • איך נראה היום-יום בכזו חברה - לובשים פיג’מה ומתחברים ל-Skype? למה בכלל לקום דווקא בבוקר?
    • מבחינת אורי - לקום בבוקר, לפזר את הילדים במסגרות השונות, אימון - והתחלת יום עבודה סביב 9:30-10:00; רוב הבוקר שקט - עבודה מול ארה”ב; סביב 15:00-16:00 מתחילות פגישות עד סביב 19:00; ההמשך תלוי - יש ערבים פנויים ויש כאלה עם עוד סבב פגישות לילה.
    • נשמע פחות מושלם מהאידיאל המדומיין של רן (למעט יום ראשון . . .)
      • מצד אחד יכולת תיאורטית להיות יותר ידידותי למשפחה, ומצד שני - השעות נראות קצת פחות ידידותיות, רוב הערבים מוקדשים לעבודה
      • הבוקר רגוע, ואפשר לאכול צהריים עם הילדים, ומצד שני 2-3 ערבים בשבוע סגורים בהרבה מקרים לעבודה אחרי ארוחת הערב.
      • זה גם תלוי-תפקיד - במקרה של אורי זה מאוד רוחבי, כשהוא אחראי על כל מוצרי ה-Cloud (משפחת ה-Hosted Services של Elastic Cloud, וגרסת ה-Private Cloud של החברה - שני מודלים של הפצה לאותו Code base).
      • עיקר העבודה סביב 15:00-16:00 - איך מפרידים?
        • החברה פתוחה לעבודה מהבית, ולפעמים הילדים נכנסים לישיבות . . . כשצריך סוגרים דלת ולפעמים גם זה לא עוזר. יש Tolerance ברמת החברה.
  • איך מנהלים כזו חברה? או אפילו צוות מוצר?
    • דיברנו בעבר על Automattic, עבר זמן . . . בחברה רגילה זה לא “פשוט עובד”
      • ומדובר בחברה גדולה - מעל 1,200 עובדים, וגדלה מהר.
    • התרבות בחברה מאוד חשובה - החברה נוצרה סביב קוד פתוח, והעבודה מלכתחילה התבססה על מבנה מבוזר - מערכות Ticketing, שימוש ב-GitHub וב-Google Docs כשנכנס.
    • היררכיות התקשורת מאוד ברורות - 
      • כשצריך תשובה מיידית אז Slack 
      • כשרוצים דיונים משמעותיים עוברים ל-Offline: לפעמים Mailing lists או GitHub Tickets (אפשר לראות את הדיונים).
      • כשהא-סינכרוניות מפסיקה לעבוד, מכנסים פגישה ב-Zoom, ומתעדים את ההחלטה עבור כל מי שלא היה או הצטרף מאוחר יותר לחברה למשל.
    • מהם הטריגרים למעבר מתקשורת א-סינכרונית (שהיא מטבע הדברים בעיקרה טקסטואלית) לסינכרונית (“בוא נעלה על שיחה”)?
      • כשרואים שטיקט נתקע, ולא מתקבלת החלטה
      • כשיודעים מראש שמדובר בנושא עם המון דעות וחבל לבזבז אנרגיה על מיילים
      • וצריך המון שיקול דעת ואמפטיה . . . כשמדברים פנים אל פנים יש טון ושפת גוף והמון דברים שהולכים לאיבוד בטקסט, כמו גם הבדלי תרבות וסגנון
        • הכלל הראשון  - Assume no malice: לקרוא כל דבר מתוך הנחה שמי שכתב התכוון לטוב
        • אם צריך - כל אחד יכול לעצור וליזום שיחה (Zoom).
        • זה ערך בחברה - חלק מה-Source code - לא רשימת “עשה ואל-תעשה” אלא משהו שמבטא את רוח החברה
        • יש גם את “Everyone has an accent” - זה לא רק מבטא אלא גם תרבות ועולם דימויים וכו’.
        • וכמובן “Home Dinner” (חשוב שהעובדים יהיו קשורים למשפחה) ו - “Space Time” (לאפשר לאנשים לעשות דברים פחות מובנים וליזום בעצמם)
        • זה לא משהו שהחברה ניבנתה לפיו, אלא סט ערכים שנוצר בחברה ונאסף על מנת שמצטרפים חדשים יכירו.
    • האם חברה מבוזרת = פחות פגישות ויותר עבודה א-סינכרונית אינדיבידואלית?
      • מובנה בחברה - היום פרושה על פני 39 מדיניות והמון איזורי זמן, עם הגדרות שבוע עבודה שונות, כך שלקבוע פגישה זה לא פשוט.
        • גם לפגישות קבועות יש סבב של Time-Zones, כדי שלא כל פעם יהיה נוח רק לאותו איזור
      • יש גם צד פחות טוב - כמות המידע הא-סינכרוני שצריך לעבד היא גדולה מאוד, ובחברה מעדיפים לטעות לכיוון “עודף-מידע” מאשר “חוסר-מידע”, מה שמגביר את זה עוד יותר
        • בוקר טיפוסי כולל כמה שעות של קריאה של מה שקרה בלילה . . .
    • יש פונקציות שאינן מבוזרות - אופרציה? פיננסים?
      • למעט Sales - לא. יש צוותי מכירות בלונדון, צרפת וכו’ - צמודים ללקוחות בהתאם למיקום. כל השאר לא.
      • יש צוותים יותר מבוזרים מאחרים - ל-Marketing למשל יש מרכז כובד ב-Mountain View, אבל ה-Engineering פרוש על פני כל העולם.
        • צוות ה-Cloud של אורי פרוש על פני 13-14 מדינות, בערך בכל איזור זמן שעולה על הדעת
    • קצת לגבי הצד הפסיכולוגי - כל היום עובדים מהבית (רן ניסה פעם ולא היה קל): פתרון אפשרי הוא לשכור משרד ליד הבית, אבל זה עדיין להיות לבד, ואם יש בעיה אתה מתמודד קודם כל בעצמך; מעבר לזה - חיי חברה: מה אתה יודע על חבריך לעבודה? יש להם כלב? הם אוהבים סקי? זה חסר בכלל?
      • כדי שזה יעבוד טוב חייבים גם קשר פיסי בלתי אמצעי - פעמיים בשנה החברה לוקחת את כל צוות ה-Engineering (מאות אנשים), ומטיסה את כולם למקום אחד בארה”ב או באירופה, לשבוע שלם של road map ודיונים אסטרטגיים אבל גם בילויים וארוחות משותפות ליצרת קשר אישי שנשאר גם כשכל אחד חוזר למקום.
      • וכן - זה חסר.
        • חלק מכוסה, לפחות חלקית, באמצעים אחרים - ערוץ Water Cooler ב-Slack למשל, עבור תקשורת פחות פורמלית, בדיחות וכו’.
        • כל אחד יכול לשכור משרד. אורי ניסה וגילה שבסוף יותר נוח לו בבית, ומתרגלים.
        • בארץ כבר יש 10-11 אנשים ויש ערוץ ישראלי (עובדים בראשון, אפשר לדבר עברית וכו’)
      • אפשר לעבוד יחד, אבל יש לזה השלכות - 
        • לדוגמא - בצוות שאורי עובד איתו יש פגישה שבועית, כש-20 מתוך 30 חברי הצוות נמצאים ב-Mountain View. כאשר הפגישה השבועית התקיימה עם 20 איש בחדר אחד ועוד 10 ב-Zoom, מי שהתחבר מרחוק איבד הרבה מהשיחה. ההחלטה הייתה ליצור Level Plain Field —> גם מי שבמשרד מתחבר “מרחוק”, ואז כולם באותם תנאים, אין שיחות צדדיות (יש Slack . . .) וכו’.
        • ועדיין - יש דוגמאות של שני עובדים ששכרו יחד משרד בתל אביב.
    • הפגישות עצמן - הם רק עסקים או גם צחוק? רן מזכיר וידאו של מנכ”ל (?) Trello (עוד חברה מבוזרת, או לפחות הייתה) מלפני שנתיים בערך, שאמר שכל פגישה מתחילה ב-10 דקות של Small Talk, באופן מובנה (הבלוג שלהם עדיין מלא בזה). האם יש משהו כזה ב-Elastic?
      • לא משהו מובנה, אבל מעניין דווקא - כמעט כל פגישה מתחילחה ב 3-5 דקות של Small Talk, ואולי זה משהו שצריך לאמץ.
      • בכל מקרה - פגישות חייבות להיות מובנות (לא רק ב-Zoom): יש פרוטוקול לפגישות, אג’נדה ברורה, מסמך שמוצמד לזימון, מישהו שאחראי לכתוב Notes. מאוד מסודרים עבור פגישות אפקטיביות.
    • טכנולוגית - אין כאן משהו חדש (Google Docs, GitHub, Slack, Zoom . . .). הקסם הוא בתרבות ולא בכלים.

לא מזמן החברה הונפקה (אוקטובר 2018) - וזה משהו שיש לו פוטנציאל לאימפקט משמעותי על החברה. ועדיין - אין חדר שבו כולם יכולים להיפגש להרים כוסית . . . אין נראה יום כזה? או היום שאחרי? מה השתנה?
  • היה לאורי המזל והכבוד להיות בניו יורק בזמן ההנפקה, והגישה הייתה מאוד מסודרת - 
    • אי אפשר לחשוף את תאריך ההנפקה למי שלא הגיע ספציפית עד שבוע לפני
    • כשחושפים - פותחים Zoom כללי לכולם, הייתה אפילו הקצאת Expense לקנות יין . . .
    • היה שידור ישיר מה-Trading Floor - שעה-שעתיים של תהליך למציאת המחיר למסחר (ב-NYSE), כשבזמן הזה כולם יחד (האנשים בבית קיבלו גם פרשנות עם הוידאו, וכנראה ידעו אפילו יותר . . .)
  • מה השתנה? החברה מאוד פתוחה, ואחד היסודות של זה הוא שקיפות (Transparency). 
    • בהרבה חברות ההחלטות מתקבלות במקום אחד ואז מתוקשרות החוצה כמו שהן, ללא תהליך קבלת ההחלטות, ונוצר מצב שבו אנשים בקצוות שלא מבינים למה הוחלט כך ולא אחרת
    • על מנת להתמודד עם זה, כל תהליך קבלת ההחלטות מתועד באופן מאוד מפורט, אפשר ללכת ולהסתכל על כל שלב, ויש עדכונים שוטפים מכל פונקציה בארגון באופן שבועי
      • מכל צוות ב-Engineering נשלח בכל שבוע עדכון: על מה עובדים, מה התחדש, משרות פתוחות (אם מישהו רוצה לעשות שינוי)
      • מכל זה, Head of Engineering שולח עדכון ברמת כל החברה - אלא הפיצ’רים החדשים, אלו דברים שלא עבדו טוב ומה עשינו וכו’
      • כנ”ל HR, Legal, Sales וכו’
    • לפני ההנפקה היה אפשר לחשוף הרבה יותר, בעיקר מכיוון Sales - כמה מכרנו החודש וכו’ 
      • אחרי ההנפקה כבר אסור לעשות את זה . . .
      • עדיין מנסים לשמור על שקיפות - אם לא כל צוות אז פונקציות עיקריות
        • מה יצא, מה ה-Road-map, כל מיני KPI וכו’
  • הייתה גדילה משמעותית בכח-אדם - 
    • החברה גדלה גם לפני, ופעלה במעיין Mode הנפקה גם קודם - תהלכים וארגונים נבנו בצורה מסויימת
      • הנפקה מאוד מבגרת את החברה - תהליכים שנראים אפילו מעיקים בהתחלה הרבה פחות מעיקים בהמשך והופכים את ההתנהלות ביום-יום לטובה יותר

איך מגייסים אנשים - איך מגיעים אליהם? איך עושים ראיונות? חווית המועמד 0-100 . . .
  • יש מגייסים בכמה מדינות (מועסקים ע”י החברה) - אבל לא בהכרח במדינות בהן מגייסים
  • מפרסמים משרות באתר - יש לחברה שם טוב ויש כמות גדולה של מועמדים אורגניים מתוך האתר
  • יש תוכניות רגילות של חבר מביר חבר וכו’, וגם Sourcing (בעיקר דרך LinkedIn).
  • ראיונות - לגמרי Remote, באמצעות Zoom - 
    • 5-6 ראיונות (מסינון recruiter ועד ראיון אחרון)
    • תלוי בתפקיד ובבכירות מי מראיין

ואז מתחילים לעבוד - Zoom כבר התקנתי, מה עכשיו?
  • תתקין Slack . . .
  • מקבלים הרשאות לכל מה שצריך, לכל צוות יש תהליך On Boarding מאוד מסודר עם מסמכים מפורטים
  • אחרי שמתאפסים, בונים תוכנית ל-90 ימים ועוקבים אחרי יעדים
  • האם יש Online university מסוג כלשהו? 
    • יש Offline . . . קוראים לזה X-School, ופעם בחודשיים מטיסים את כל המתגייסים החדשים לכמה ימים ב-Mountain View: יומיים כלליים על החברה ועוד יומיים ספציפיים לתפקיד.
      • מאוד מסודר ומוגדר - יש תמונה קבוצתית שבועית (מי שב-Slack שולח תמונה…)
    • יש גם Online עבור המוצרים עצמם - יש Training.
      • גם עבור מכירות, כולל Certification
      • גם עבור Engineering
      • תהליכי On-boarding ספצייפם לצוותים מסויימים

ניכנס לראש של עובד צעיר בחברה - פעם ראשונה בחברה מבוזרת כזו, וזו פעם ראשונה שלו לבד עם עצמו, נגיד חודשיים בהתחלה. יש כאלה שעבורם זה עשוי להיות יותר קשה (לפתור באג לבד וכו’). הרבה קושי נוסע מזה שאתה לא יודע שלכולם קשה, כי אתה לא רואה אותם . . . האם יש טפוסי עובדים ספציפיים שזה לא מתאים להם? האם היכולת להיות Lone Wolf (כי מי צריך נינג’ות כשיש צ’אק נוריס) היא משהו שמחפשים בתהליך גיוס?
  • לא בהכרח, כי יש המון עבודת צוות - פשוט במדיומים אחרים
  • לכל עובד חדש מצמידים מנטור, בדרך כלל באיזור הזמן של העובד, שעוזר לו להבין מה קורה ולהשלים את תהליך הקליטה בהצלחה
  • ועדיין - היו כאלה שבאו אחרי כמה חודשים ואמרו שלא מתאים, אבל זה מיעוט קטן, לפחות במה שאורי חשוף אליו
  • ספציפית לטיפוסים - אפשר היה לחשוב שאילו יהיו כאלו שתרמו בעבר לקוד פתוח וכו’, אבל ב-Elastic לא מצאו קורלציה ספציפית
  • זה אולי שובר בודדים - אבל יש גם כאלה שפורחים. כמו בכל חברה, תמיד יש סיכוי שזה לא יסתדר אבל אין משהו חריג
    • אולי להפך - המספרים של ה-Engagement Survey מאוד גבוהים ביחס לכל מתחרה בקטיגוריה, וגם אבסולוטית. אנשים נהנים . . .

אז מה אתם מחפשים - בישראל ובעולם?
  • כמעט הכל . . . עשרות (אם לא מאות) משרות פתוחות באתר, כשכל מה שכתוב עליו Anywhere רלוונטי גם לישראל
  • אין עדיין יישות משפטית בארץ - עובדים בארץ הם עובדי החברה מבחינתה לכל דבר ועניין, אבל טכנית עדיין צריך לעבוד כעצמאי ולהוציא חשבונית לחברה בחו”ל. צפויה להיווצר יישות בארץ, לא ברור בדיוק מתי אבל בקרוב. משהו שצריך לקחת בחשבון.
  • יש בלי סוף משרות Engineering, בכל הצוותים - 
    • ב - Elastic Search בעיקר Java ומערכות מבוזרות
    • ב - Kibana זה יותר Front-end - JavaScript, Node
    • ב - Beat - יותר Golang, Scala
    • יש Marketing, Product, יש בצוות של אורי.
    • כל מה שמסווג כ-Anywhere . . .
הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול

אין תגובות:

הוסף רשומת תגובה