בפרק השישי של פיתוח בהפרעה, ישי בארי CTO ב LinearB מדבר עם ברוך סדוגורסקי, Principal Developer Advocate בחברת JFrog על מה זה לעזאזל Developer Advocacy ו Relations, איך זה מתחבר ל engineering, ניהול פיתוח, וכל מה שביניהם.  האם בכלל אפשר לעשות שיווק למפתחים.ות?!

In the sixth episode of Dev Interrupted - the Hebrew Edition, Yishai Beeri, CTO at LinearB chats with Baruch Sadogursky, Principal Developer Advocate at JFrog about all things Dev Advocacy and Relations.  WTF is dev advocacy anyway?! How does it relate to engineering? How do you interface with engineering managers, and will answer the question...is developer marketing even possible?!

Episode Transcript תמליל הפרק

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

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

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

בפרק הזה אני שמח לארח את ברוך סדוגורסקי, Principal Developer Advocate ב JFrog, היי ברוך, מה המצב?

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

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

ברוך: כן, אז אני התחלתי כמפתח java לפני 22 שנה, בתחילת שנות ה-2000, ואחד המקומות עבודה הראשונים שלי היה חברה שהייתה נקראת Alpha CSP, זה חברת יעוץ בתחום ה-java ששם גדלתי למפתח, ליועץ, ארכיטקט או whatever it's called, ובאיזשהו שלב בסביבות 2006 צוות של Alpha CSP החליט לכתוב מוצר open source שהיה אמור לעזור ללקוחות של Alpha CSP אבל לא רק. קצת להביא סדר וארגון לנושא הזה של תלויות תוכנה, של dependencies ב-java במיוחד, אז בדיוק maven התחיל כאיזשהו build and package manager מאוד רציני בתחום, ואחד הדברים שהיה חסר זה בדיוק הנושא הזה של dependency manager שיכול לסדר את כל העניינים האלה. ואז צוות של Alpha CSP לקחו וכתבו מוצר open source שהיה נקרא ארטיפקטורי (Artifactory) במהלך של כמה חודשים, פתאום הסתבר שכל ה-who and who ב-industry––אז גוגל, ולינקדאין, ופייסבוק משתמשים במוצר הזה. ולחבר'ה הגיע רעיון שכנראה שאולי אפשר לעשות מזה כסף, היה צוות מאוד קטן של 4-5 אנשים, אז עזבו את Alpha CSP להקים חברה סביב ארטיפקטורי, זה היו הפאונדרים של ג'ייפרוג שלומי בן חיים, יואב לנדמן ופרד סימון––שהצטרפו אליהם כמה מהמפתחים שבאמת כתבו את ארטיפקטורי דאז. זה היה 2009 ואחרי שנתיים פנה אליי שלומי, אמר ברוך, הגיע הזמן שתצטרף לג'ייפרוג גם, אז אמרתי לו סבבה, תגיד לי מתי אני מתחיל, באיזה תאריך, אני מוכן לבוא. הוא אמר סבבה אבל קח בחשבון שאנחנו צריכים אותך לתפקיד חדש. אני אז מפתח java, לא יודע שום דבר חוץ מזה, אני שאלתי אותו בסדר, אבל אני לא יודע על מה אתה מדבר. הוא אמר תקשיב, הבעיה שגם אנחנו לא יודעים, אנחנו לא יודעים איך קוראים לזה, אנחנו יודעים מה אנחנו צריכים, אנחנו צריכים שר חוץ לג'ייפרוג. כן, אנחנו צריכים שר חוץ לג'ייפרוג. זה כלי, ארטיפקטורי הוא כלי open source שמיועד למפתחים ואנחנו צריכים מישהו שהעבודה שלו יהיה לדבר עם מפתחים, לשמוע מה יש להם להגיד על המוצר כדי לעשות את המוצר טוב יותר ולספר להם על ג'ייפרוג ועל המוצר, ממש שר החוץ. אז אמרתי לו טוב, אתה חושב שאני יכול לעזור בזה? אני מאוד אשמח, הוא אמר כן, יאללה, בוא תצטרף, רק בוא תמצא לנו שם, אנחנו לא יכולים לכתוב בחוזה שר החוץ, לך, חפש איך קוראים לזה. אז התחלתי לחפש ואני מבין שבאמת יש כזה תפקיד ויש כזאת עבודה, כזאת משרה, היא נקראת, אני מזכיר לך, אנחנו מדברים על 12 שנה, אז כל הנושא של developer relations ו-developer advocacy עוד לא היה כל כך קל למצוא בגוגל, מה שהיה אז היה נקרא  technical evangelist ואז אני אומר שלומי תקשיב, קוראים לזה evangelist ושלומי, יהודי, מסורתי, אומר לי ברוך, תעוף מפה לפני שאני מעיף לך כאפה, אני לא קורא לך כומר בחוזה בג'ייפרוג. אז אמרתי טוב, סבבה, אני אלך לחפש עוד, הלכתי ובדיוק אז התחיל הנושא הזה של גוגל התחילו לעשות reframing, זה לא ממש להמציא את התפקיד מחדש, ב-developer advocacy, ואז אני חוזר לשלומי,  אמרתי לו תקשיב, הנה, מצאתי, יש בלינקדאין משרה בגוגל שזה בדיוק מה שאנחנו צריכים, תסתכל, זה לדבר על המוצר עם מפתחים, זה לקבל פידבק, להביא אותו לפרודקט, זה בדיוק זה וקוראים לזה developer advocacy. שלומי אומר תקשיב, אתה מפגר, אתה כומר רצית, עכשיו אתה רוצה עורך דין? כאילו מה? אין שם נורמלי לתפקיד הזה? אמרתי לו תקשיב, זה מה יש, אני לא, הנה, גוגל, מה...אומר לי טוב, סבבה, לפחות עם זה יש לי פחות בעיה, אתה רוצה להיות עורך דין? תהיה עורך דין. וככה נהייתי ה-developer advocate של ג'ייפרוג וזה היה ב-2011, אז עכשיו אנחנו 2022, 11 שנה אחרי, זה Principal Developer Advocate  בג'ייפרוג. 

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

ברוך: כן, היה לי מאוד מאוד ברור מלכתחילה שהתפקיד הזה הוא חייב להיות תפקיד מאוד טכני, וזה סוג של הייבריד, כן? אז נכון שיש יותר באמת לדבר - לדבר עם מפתחים, לספר להם, להקשיב להם וכו' וכו', אבל זה לא במקום הקטע הטכנולוגי, כן? זאת אומרת ברגע ש-, המפתחים רוצים לדבר את השפה הטכנית וברגע שאין לצד שני, למי שמדבר איתם, ל-developer advocate את הבסיס הטכנולוגי הזה, השיחה הזאת לא יכולה להתקיים. אחת הסיבות למה developer marketing does not exist ויש ספר שנקרא Developer Marketing Does Not Exist, אחת הסיבות ששיווק למפתחים לא קיים, זה כי שיווק הוא לא נועד להיות טכני ומפתחים לא רוצים להתעסק עם שום דבר שהוא לא טכני. וזה למה developer  advocate חייבים להיות טכניים.

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

ברוך: מצגות, כן, לכתוב מצגות. לא רק לכתוב קוד, כן? זאת אומרת בסופו של דבר הסקיל סט הזה הוא סקיל סט שמשתנה תמיד, זה לא רתך שלמד לרתך לפני 50 שנה והיום כל מה שיש יותר טוב זה יש יותר ניסיון. התחום שלנו משתנה כל הזמן ואם אתה לא up to date with technology skills אז אין לך את הסקילס, זה לא שעכשיו מה שלמדתי בשנות האלפיים על java מספיק לי לדבר היום על מה שג'ייפרוג עושים, בוודאי שלא, זאת אומרת הלמידה הטכנית וה-hand on ולכתוב קוד לא הולך לשום מקום, אז נכון שאני עושה את זה פחות, נכון שאני עושה את זה בתחומים אחרים, נכון שבמקום לעשות קומיטים למוצר עצמו הקוד שלי הוא יותר באינטגרציות, בפלאגאינים, בלגרום למוצר שלנו לעבוד עם דברים שקורים בקהילה, אבל אני לא יכול לא לכתוב קוד בכלל, כי אז הידע שלי הופך להיות לא רלוונטי וקהל הידע, שהוא המפתחים, מרגישים את הדברים האלה מיד. 

״התחום שלנו משתנה כל הזמן ואם אתה לא up to date with technology skills אז אין לך את הסקילס. זה לא שעכשיו מה שלמדתי בשנות האלפיים על Java מספיק לי לדבר היום על מה ש JFrog עושים..."

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

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

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

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

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

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

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

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

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

ברוך: אני חושב שזה לגמרי מסלול מאוד מאוד טוב למי שלא מחפש את הניהול הקלאסי של ניהול אנשים, ופה אני יכול להגיד לך שהמון המון אנשים טכניים לא ירצו לנהל אנשים אם הם היו יודעים עד כמה הדבר הזה בדיוק הפוך מלכתוב קוד או לעבוד עם כשלים. אנשים הם בדיוק, מכונות הם consistent feedback ואלגוריתם driven, ואנשים הם בדיוק הפוך, not consistent ו-driven ב-...ולא עובדים כמו שאנחנו רוצים שהם יעבדו, מה שהופך לניהול אנשים לחוויה מאוד מאוד מתסכלת לרוב האנשים הטכניים, וזה גם עוד משהו שהתעשייה לומדת לאט. עד לפני שנים בודדות אפילו, רוב החברות מסלול ההתקדמות היחיד היה אחרי איזשהו שלב של senior developer או משהו כזה, סבבה, לך תנהל אנשים, אתה כזה טוב, למה אתה עדיין לא מנהל? והתוצאות איומות - רוב האנשים הטובים הטכניים הם מנהלים מאוד מאוד גרועים, וזה גם משתנה, ושונאים את זה, בוודאי, זה גם משתנה, יש לנו עכשיו מסלולים ל-individual contributors ובאמת ה-developer advocacy היא אופציה מצוינת למסלול של התקדמות של individual contributor, כל עוד אתה באמת אוהב את זה, אתה באמת אוהב אנשים, אתה אוהב קהילה, אתה אוהב לדבר, אתה אוהב להקשיב, אתה אוהב להיות עם מפתחים אחרים ולא רק לשבת איתם באותו חדר באוזניות noise cancellation.

ישי: אתה רואה שאנשים כמפתחים או כאנשים hands on גם פעילים ב-community, כותבים ב-Reddit, חיים את המדיה, זה איזשהו סמן טוב למי אולי יכול להיות גם developer advocate טוב?

ברוך: חד משמעית, אלה שהם ב-community כי הם רוצים להיות ב-community, והם עושים את זה על חשבון זמנם הפרטי ובלי שזה חלק מהתפקיד שלהם, הם אלה ש-developer advocacy יכול להיות מסלול קריירה נהדר, וזה גם מה שאנחנו, ככה אנחנו מוצאים אותם, כן? כאשר אנחנו מדברים על, יש לי סטארטאפים שאני עוזר להם ב-developer relations כ-advisor וכמנטור וכולם מנסים לגייס ומאוד קשה, מה שאנחנו עושים איתם זה בדיוק לחפש את אלה שהם כבר ב-community, שהם ב-redit, שהם ב-slack, ב-meetup ולנסות להגיד להם היי, אתם עושים את זה גם ככה, למה שלא תקבלו על זה כסף?

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

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

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

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

ברוך:developer advocacy או developer relations כארגון בתוך החברה הוא אחד הארגונים האלה שבעצם נוגע בהכל, ואנחנו יכולים לעבור אחד-אחד ועל כל ארגון אחר בחברה ולראות איך developer advocacy עובד איתם ועוזר להם, ואני אתן לך כמה דוגמאות, בשיווק זה משהו מאוד מאוד ברור, כן? אנחנו בסופו של דבר אלה שעובדים לפני הפאנל השיווקי ועובדים עם ה-community ובכלל על awareness, אבל לא רק, גם הפרודקט מן הסתם, הפידבק ש-developer advocates מביאים מהקהילה הוא הפידבק הכי הכי חשוב שיש לפרודקט, גיוס, ברגע שאנשים יודעים על החברה ויודעים דברים טובים על החברה ועל הטכנולוגיה שיש בתוך החברה, אנשים ירצו לעבוד בה ו-R&D ופה זה בדיוק אנחנו מגיעים לנושא הזה של המנהלים הטכנולוגיים - אנחנו הקול של ה-R&D בתוך הקהילה, אנחנו רוצים שאנשים יחשבו דברים טובים על R&D בתוך הקהילה, אנחנו רוצים שה-R&D של החברה שלנו יקבלו את הקרדיט על הדברים הנהדרים שהם עושים, וזה בדיוק איך אנחנו יכולים לעזור לצוותים הטכנולוגיים, אנחנו גם אלה שמביאים אותם לאור הזרקורים ולקדמת הבמה ואומרים היי, אלה האנשים שבאמת עושים את העבודה ומייצרים את המוצר הכל כך טוב ש-, אני מקווה, הקהילה אוהבת ויודעת להעריך. אז איפה שלא תסתכל, אנחנו יכולים לעזור כ-developer relations, וה-R&D והמנהלים בתוך ה-R&D הם לא יוצאים מן הכלל.

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

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

ישי: אז אתם כאילו נדחפים ל-priority, נדחפים ל-road map בצורה שאולי נראית כמו משהו פיראטי.

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

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

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

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

ברוך: כן, אז פנימה הרבה פחות בעיה כי בסופו של דבר אנחנו זה הקולגות שלי, אנחנו יודעים לעבוד ביחד, אנחנו מבינים שגם כשאני צועק עליהם שמה זה החרא הזה שאתם פיתחתם, זה בסופו של דבר אנחנו פה כולם בשביל אותו דבר, אנחנו רוצים את טובת הארגון, החוצה כמובן זה בעיה וזה בעיה כי מצד אחד אתה באמת מייצג את החברה ואתה רוצה להגיד היי, חבר'ה, טוב, נו, זה לא מושלם, אבל בסופו של דבר זה מועיל וזה טוב, מצד שני הרפיוטיישן שלך על הקו וזה גם אומר הרפיוטיישן של החברה, כי מבחינת הקהילה אתה זה החברה והחברה זה אתה, ו-try to bullshit your way through something that doesn't work הולך לפגוע בהכל, ומצד שני הבוסים שלך, במיוחד במארקטינג, לא בדיוק ישמחו למסר היי, אנחנו יודעים שהדבר הזה לא עובד. זה קו מאוד מאוד, מסלול מאוד צר ללכת בו - מצד אחד להיות אותנטי ולהגיד כן, הדבר הזה לא מושלם, מצד שני לא להישמע היי, אל תשתמשו במוצר שלנו, וזה לפעמים מאוד מאוד טריקי, מאוד טריקי.

ישי: אחד הנושאים שמעניין אותנו והנושא של developer relations, developer advocacy נוגע בו הרבה זה בסוף החוויה של המפתח, מה שהיום buzzword שהולך ותופס, developer experience, אנחנו רואים את ה-developer experience בשתי רמות - גם המפתחים שמשתמשים ב APIs שלנו, ב-SDKs, במוצרים, העולם הזה של ה-developer advocacy שאתה חי בו, מה החוויה של מפתח מה-community שרוצה להשתמש בכלים שלי, אבל יש גם את הזווית של מה קורה למפתחים אצלי בחברה, איך נראה ה-experience היום יומי של ה-R&D אצלנו, אתה רואה איזה קשר? הדברים האלה נוגעים אחד בשני? כי בסוף ה-community שעובד עם ג'ייפרוג API's לאו דווקא נתקל באותם קשיים שיש ל-developer בג'ייפרוג שבא לעשות release. יש נגיעה? או שזה שני עולמות שונים של אותו שם?

ברוך: בוודאי שזה חוויות שונות לגמרי, וזה נכון שה-developer experience קודם כל מיועד החוצה, כן? זאת אומרת אם יש לנו מוצר שמיועד למפתחים, כאשר אנחנו אומרים developer experience אנחנו מתכוונים ל-developer experience שהוא ה-user experience, כן? ה-UX, אנחנו קוראים לזה developer experience כדי להדגיש שהמשתמשים שלנו הם מפתחים אבל הכוונה היא למשתמשים בחוץ, ואני חושב שהחוויה של המפתחים של המוצר הזה זה סוג של after thought שרק עכשיו לאחרונה, במיוחד אחרי קורונה ופתאום עם כל ה-great resignation וה-whatever silent resignation וכל ה-buzz words האלה שעכשיו פתאום צצים, ו-burn out כמובן, עכשיו פתאום מתחילים לחשוב על זה, כן? זאת אומרת כן מן הסתם חשוב לנו איך המשתמשים שלנו מרגישים כאשר הם משתמשים במוצר שלנו, אבל פתאום גם חשוב איך המפתחים שלנו מרגישים כשהם מפתחים את המוצר שלנו, וזה, כמו שאמרתי, חדש, זה חדש וזה בא לא כי פתאום כולם מאוד touchy, feely ודואגים לעובדים שלנו, אלא כי פתאום זה פוגע בביזנס וה-burn out וה-resignation וה-whatever משפיע מאוד מאוד על גם האיכות של המוצרים שאנחנו מפתחים וגם על כמה מהר אנחנו יכולים להביא אותם לשוק ופתאום יש לכולם, פתאום לכולם חשוב איך המפתח בתוך החברה מרגיש.

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

ברוך: אני חושב שאפשר, זה פשוט יהיה מאוד מאוד יקר ומאוד מאוד קשה וכנראה לא מהפעם הראשונה. הדברים האלה הם כן דברים נפרדים, בסופו של דבר אתה יכול באמצעות, אם יש צוות פרודקט טוב וצוות פיתוח טוב וצוות developer relations טוב, אפשר לבנות מוצר שיהיה טוב למפתחים גם אם תהליך הכתיבה של המוצר הזה הוא סיוט. הבעיה היא לא שם, הבעיה היא בכמה זה יעלה, וכמה זה יעלה גם מבחינה של מה הסיכוי שמפתחים שהם struggling לעשות משהו, בסופו של דבר יוציאו את הדבר הטוב מפעם הראשונה, כמה זמן וכמה כסף יעלה ה-we work של בסדר, טוב, זה לא עובד עכשיו, בואו נגרום לזה לעבוד, וכמובן שזה יגרום ל-, החוויה הפנימית תגרום לתחלופת כוח אדם מאוד מאוד תכופה וכמה זמן וכסף יעלה ה-on boarding של כל האנשים החדשים, כמה ידע הולך לאיבוד כאשר הצוותים מתחלפים כל כך מהר, ובסופו של דבר זה מה ש-, זה הסיכון. כן, אני אתן לך דוגמה, אנחנו עכשיו בונים בית והוא היה אמור להיות מוכן במרץ, עכשיו אנחנו בספטמבר, הוא עוד לא מוכן וזה לא כי הם לא ידעו מלכתחילה מה לעשות, זה כי הכוח אדם לא היה טוב, הכוח אדם התחלף, מי שבא במקום כבר לא ידע או ידע פחות מה צריך לעשות, ואז הוא התחלף עוד פעם ומי שבא אחריהם בכלל כבר לא היה להם מושג על מה דיברנו עם החבר'ה הראשונים וכו' וכו', ובסופו של דבר זה יהיה בדיוק הבית שאנחנו רוצים רק שזה ייקח פי 2 זמן ופי 2 כסף, וזה בדיוק אותו דבר, זה בדיוק אותו דבר, אם יש לנו אנשים טובים שמרוצים מהעבודה, יודעים מה הם עושים, יודעים מה צריך לעשות והעבודה שלהם מספקת אותם וזה כיף להם והם יכולים להיות פרודוקטיביים, ככה המוצר הסופי יהיה בשוק הרבה יותר מהר והרבה יותר זול, שזה מה שחשוב לנו.

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

ברוך: כן, יש הרבה, אבל אחד שעכשיו אני כזה חושב עליו הרבה והוא מה שנקרא on my mind, תקרא לזה developers in post DevOps world, מה שאני מתכוון הוא שסבבה, היה לנו, יש לנו את DevOps המון המון שיפור באיך אנחנו כותבים תוכנה, כל הנושא הזה של observability, של microservices, של server, של cloud, Kubernetes, containers ומה לא, שינה לגמרי איך התוכנה נבנית הייתי אומר, לא בהכרח נכתבת אבל נבנית, כל מה שקשור ב-after the code is committed או merged, היום נראה אחרת לגמרי ממה שהיה נראה לפני עשור. לטובה. אבל לא בהכרח זה אומר שהיום יום או הקשר של המפתחים הרגילים, אלה שכותבים קוד, לכל המהפכה הזאת של DevOps, הקשר הזה הוא מספיק חזק, הוא בכלל קרה, ואני חושב אחת הדוגמאות הכי בולטות בנושא הזה הוא ה-incident management, תחשוב עד כמה ה-incident management של היום הוא הרבה יותר מורכב מצד אחד והרבה יותר פרודוקטיבי מצד שני בכל מה שקשור ב-ops ו-DevOps, כל הנושא של observability וה-post mortem וה-self-healing ואיפה שלא תסתכל, זה מכונות משומנות, מטורפות, מפלצות שעושות המון המון דברים מדהימים בתחום הזה, מי שהיום ב-incident management בדיוק לפני כמו שהוא היה לפני עשור, זה המפתח. העירו אותו ב-3 בלילה, אמרו לו תקשיב, נראה לנו שיש לנו בעיה בקוד, שכאילו בדקנו את כל המערכות והמערכות בסדר אבל נראה לנו שיש בעיה בקוד, בהצלחה.

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

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

ישי: זה מעניין כי DevOps אומנם השפעה אדירה של open source שם אבל DevOps כמעט נולד בשביל לשרת את ה-used case העסקי, מי שהפעיל והריץ ובנה ומשתמש ב-DevOps קודם כל זה העסקים שרצו לשפר או שיפרו מאוד את הצורה שלהם של בנייה ו-deploy של work loads, מצד שני המהפכה השנייה שהיא בערך בגיל דומה, שזה git והעולם של פול-ריקווסט נולד מ-open source, הוא נולד מאיך אני עושה collaboration כשאין כסף ואין גורם מארגן חוץ מרצון לכתוב ביחד איזה משהו מגניב, ופול-ריקווסט נועדו במקור לפחות לאנשים שלא מקבלים משכורת, בטח לא מאותה חברה. אני תוהה אם יש להבדל הזה איזשהו תורם לתוצאה הזאת שזה נעצר די מוקדם, הפול-ריקווסט נראה בדיוק כמו שהוא נראה בפרוייקטי open source הגדולים של פעם ומצד שני DevOps מתקדם בצורה מטורפת - עשרות טולים וונדרורים ומה שלא תרצה.

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

ישי: כולם משתמשים בו, כולם שם, הוא לא נבנה לזה, 

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

ישי: אז את מתאר בעצם מצב שהמורכבות ההולכת לגדלה בסופו של דבר בפול-ריקווסט מתחבא קונטקסט שלפעמים קשה לתפוס בעין וקשה לפחות לשרת את המטרה המקורית של וואלה אני רואה ואני יכול לעשות איזשהו vetting שזה שינוי טוב, מצד שני אנחנו רואים המון המון פול-ריקווסטים טריוויאליים, קטנים מאוד, שהם בעצם ביזבוז של סייקל של reviewer שצריך כמו שאמרת לצאת מהקונטקסט ולדעת בכלל שזה מחכה לו וללכת לעשות את זה, בשביל משהו שהוא no brainer ואין לו שום תועלת של בנאדם, מעבר לזה שהטסטים עוברים והכל עובד, אולי זה רק שינוי ב-documentation, אולי זה white space, איזה מקרים קיצוניים,

ברוך: אבל הבעיה שאין לנו דרך ממוחשבת להבדיל בין שני ה-use case האלו.

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

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

ישי: כן, לא במקרה אני מדבר על הנושאים האלה, זה כמובן מאוד מעניין אותנו. דיברת קודם על העולם של ה-DevOps ודיברת על post DevOps world למפתחים, DevOps ככה באופן מאוד גס מדבר על מכונות ועל תהליכים אוטומטיים - יש לי CI, יש לי actions, יש לי סקריפטים, יש לי ג'נקינז, קוד אין, קוד אאוט, הטסטים תמיד עוברים את אותו דבר, בכל החברות שראיתי אי פעם, כל הטסטים תמיד רצו באופן זהה, או שלא, אבל בגדול זה מכונות, זה קוד, וכשאתה מדבר על הנושא הזה של תהליך הפיתוח וה-acceptance של קוד דרך פול-ריקווסט כמו שאמרת יש אנשים, אני פתאום צריך לחשוב על, לא על איך אני תופר מכונות אלא איך אני תופר תהליכים שהם אוטומטיים ל-, ואנשים. שהפול ריקווסט הושפע גם מהאם הבנאדם כרגע עייף, האם הבנאדם כבר עשה 10 reviews היום.

ברוך: נכון, האם הוא אכל.

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

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

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

ברוך: בדיוק ככה, ואני חושב שזה גם מה ש-Linear-B עושים מאוד מאוד חשוב, מאוד מאוד יקר, ובאמת כמו שאמרתי, אני מצפה שם לחידושים שיוכלו להשיג את ההתקדמות של SRE בתחום הזה של DevOps גם מהצד של מפתחים, וכמו שדיברנו בהתחלה עם ישי, לספר עכשיו עד כמה Linear-B מצוין ועוזר לא יעזור לאף אחד כי אף אחד לא יקשיב לנו, כי אנחנו מקבלים פה כסף במקום, הדבר היחיד שאנחנו יכולים להגיד זה תלכו תסתכלו על זה, אם אתם מרגישים שהבעיה שדיברנו עליה היא בעיה אמיתית ובאמת המפתחים איכשהו נשארו מאחור מבחינת ה-user experience שלהם כחלק מהתהליך הזה של DevOps, ואם אתם מסכימים איתנו שאחת הבעיות היא באמת שהפול ריקווסטס הם כמו שהם היו לפני עשור שהתוכנה שאנחנו צריכים להסתכל עליה היא בכמה רמות יותר מסובכת, יכול להיות שתמצאו משהו מעניין שם, stay tuned גם למה שישי עושה, למה ש-Linear-B עושים וגם למה שאני מדבר עליו הרבה ויכול להיות שאנחנו ביחד נמצא פתרון שהוא עובד לכם בצורה כזאת או אחרת.

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

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

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

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

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

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

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

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

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?

Yishai: In this episode I am happy to host Baruch Sadogursky, Principal Developer Advocate at JFrog. Hi Baruch, how are you?

Baruch: Hello, hello, hello Yishai, thank you for the hospitality. I am very happy to be on this podcast.

Yishai: I'm very happy that you could join us, and today we'll dive into the questions of what developer advocacy is, what the role is, etc., but as always I like to start by asking, tell me a little about how you got there, what was your path from the beginning of your career until today, What are the main things you touched and did, so we get to know you a bit.

Baruch: Yes, so I started as a java developer 22 years ago, in the early 2000s, and one of my first workplaces was a company called Alpha CSP, it's a consulting company in the java field where I grew into a developer, consultant, architect or whatever it's called. And at some point around 2006 the Alpha CSP team decided to write an open source product that was supposed to help Alpha CSP customers but not only. To bring a little bit of order and organization to this issue of software dependencies, of dependencies in Java in particular, so just at this time Maven started to gain serious traction as a build and package manager in the field, and one of the things that was missing was exactly this issue of a dependency manager that can sort out all these matters. Then a team of Alpha CSP took and wrote an open source product that was called Artifactory over the course of a few months, suddenly it turned out that all the who’s and who’s in the industry––like Google, and LinkedIn, and Facebook use this product. And the guys came up with an idea that it might be possible to make money from it, there was a very small team of 4-5 people, so they left Alpha CSP to start a company around Artifactory, it was the founders of JFrog Shlomi Ben Haim, Yoav Landman and Fred Simon -  some of the developers who actually wrote Artifactory at that time joined them. It was 2009 and after two years Shlomi contacted me, said Baruch, it's time for you to join JFrog as well, so I told him fine, tell me when I start, on what date, I'm ready to come. He said fine but keep in mind that we need you for a new position. I'm a java developer then, don't know anything other than that, I asked him ok, but I don't know what you're talking about. He said listen, the problem is we don't know either, we don't know what to call it, we know what we need, we need a foreign minister for JFrog. Yes, we need a foreign minister for JFrog. It's a tool, Artifactory, is an open source tool intended for developers and we need someone whose job it is to talk to developers, hear what they have to say about the product in order to make the product better and tell them about JFrog and the product, really the Minister of Foreign Affairs. So I said to him well, do you think I can help with that? I would be very happy, he said yes, come on, come join, just come find us a name, we can't write in the contract “foreign minister”. Go, look up what it's called. So I started searching and I understand that there really is such a position and there is such a job, such a job, it is called, I remind you, we are talking about 12 years, so the whole subject of developer relations and developer advocacy was not yet so easy to find on Google.  And then it would be called a technical evangelist and then I say Shlomi listen, it's called an evangelist and Shlomi, a Jew, a traditionalist, tells me Baruch, get out of here before I kick your ass, I'm not calling you a priest under contract at JFrog. So I said ok, fine, I'll go look for more, I went and that's when at Google they started reframing the role, it's not really reinventing the position, in developer advocacy, and then I go back to Shlomi. I told him listen, here, I found on LinkedIn - there is a position at Google which is exactly what we need, look, it's talking about the product with developers, it's getting feedback, bringing it to the product, it's exactly that and it's called developer advocacy. Shlomi says listen, you're nuts, you wanted to be a priest, now you want to be a lawyer? Like what? Is there no normal name for this position? I told him listen, that's what there is, Google, what...so he tells me good, fine, at least with that I have less of a problem. You want to be a lawyer? Be a lawyer. And that's how I became the developer advocate of JFrog and that was in 2011, so now we are 2022, 11 years later, it's Principal Developer Advocate at JFrog.

Yishai: Okay, so in a moment I will ask you a little bit about what happened over these years and how it evolved, but you came from a hands-on position, you wrote code and then he says come and suddenly do the job of foreign minister. what were you thinking? Tired of writing code so let's go talk? What was going through your mind?

Baruch: Yes, it was very, very clear to me from the beginning that this position must be a very technical position, and it is a kind of hybrid role, yes? So it's true that there's more to really talk about - talk to developers, tell them, listen to them, etc., etc., but it's not in place of the technological part, yes? This means that as soon as the developers want to speak the technical language and as soon as the other side, the person talking to them, the developer advocate does not have this technological basis, this conversation cannot take place. One of the reasons why developer marketing does not exist and there is a book called “Developer Marketing Does Not Exist”, one of the reasons that marketing for developers does not exist, is because marketing is not meant to be technical and developers do not want to deal with anything that is not technical. And this is why developer advocates must be technical.

Yishai: So you have the skills, you had the skills. But your day to day has gone from writing code to doing I don't know, posting or talking to people.

Baruch: Presentations, yes, write presentations. Not just write code, yes? I mean in the end this skill set is a skill set that is always changing, it is not a welder who learned to weld 50 years ago and today all that is better is having more experience. Our field is constantly changing and if you are not up to date with technology skills then you don't have the skills. It's not that everything I learned about Java in the 2000s is enough for me to talk about what JFrog does today, of course not. I mean the technical and hands-on learning on and writing code isn't going anywhere, so it's true that I do it less, it's true that I do a - it's in other areas, it's true that instead of making commits to the product itself, my code is more about integrations, plugins, making our product work with things that happen in the community, but I can't not write code at all, because then my knowledge becomes irrelevant and the audience, which is the developers , feel these things immediately.

Yishai: Okay, so you start working at JFrog, in a position that is new not only to you but new to the world, you hardly know what it's called, tell me maybe about the first challenge or the first time you understood what the position really is? Again, as someone who comes from something a little different.

Baruch: So yes, one of the biggest problems is to shut the fuck up, you come to a company in a job that is mostly focused on telling about us, and you are enthusiastic about what the company does otherwise you probably wouldn't have come, and you think that the solution is really excellent and the technology is excellent and it really solves a lot of problems for the developers and then you run to tell everyone. “Hey, look how awesome!” and it doesn't work like that. What you hear is someone that is trying to push something on us, and of course their interest is not our interest––and they want to sell to us, etc., etc., and that's how you sound and it's horrible. And it took me a lot of time, years, to learn that’s now how it’s done.. That even if I know for sure that the solution we're giving is the right solution for this specific problem I'm looking at now, and there's no reason in the world why our solution shouldn't be taken or used, you have to know not to say these words and instead gently and with discussion have the intention to lead these people to the well, so that they will drink on their own, instead of pouring buckets of water on them and making them only feel that they are drowning.

Yishai: Why do you think developers are so opposed to someone saying my product is good? Is it because they are burned out from so much bullshit? Or because something in the way they think, in the way we consume technology, you say I want to figure it out alone, I want to try it by myself, and if I didn't do it with my hands then I don't believe it?

Baruch: I think both. First of all, over the years companies have tried classic marketing techniques in their discussion with developers and it doesn't work because it's not real, because it doesn't come from technological information, because it doesn't come from an understanding of the market, because it comes from like selling anything else, like selling canned goods. And the market - this technological one, because it is much more complex and it requires from people in the market a much deeper understanding, we also expect from those who sell to us or those who offer us something that the conversation will be at this technological and in-depth level. The gimmicks of traditional marketing do not work because it is not the level of discourse that exists in the industry, and of course the more you do it like this then it creates more antagonism from this direction and people want it less. And then they already see this fluff no matter what you do, and even when I come in the best way, really when I think about their problem and that's what that I have in front of my eyes, I say listen this product is really the best product to solve your problem, it sounds the same. It's bullshit what they are trying to sell us, they are trying to push us, and this is not something that I know is good for my product and this is where this demand comes from of Hi, I want to try it on my own, I want to figure out on my own that this is what I need, I won't take the word that Go because you are biased, because you are paid money for saying this, because we don't believe someone who has an interest and all kinds of such and it seems like such logic, of course it is at the moment, this pendulum is very much to one side of no matter what we are told We won't believe it, but there is something in it on a certain level.

Yishai: Look, the code, if I wrote some kind of integration or used it, I was able to run some kind of system with code that I brought up, it's not lying, the system doesn't get paid, it doesn't have an opinion, either it works or it doesn't.

Baruch: That's true, on the other hand it's not necessarily everyone who tells you that this product is good for you is lying, it's a pendulum, yes? You don't have to take everything you are told at face value, on the other hand if you are told that, I don't know what, there are canned goods today that these canned goods are not necessarily there are all kinds of substances in there that are not good for you, you must now go to the laboratory and check that, you know. There is truth in advertising and sometimes there is no truth in advertising and the truth in advertising is somewhere in the middle, and right now, unfortunately, the industry is very, very antagonistic to anything they try to sell to, all kinds of things you know what? I don't understand, like deleting the core part of the links, I don't have an answer for why this is happening other than hey, we hate marketing, which is weird and bad and not good for anyone, but you know, it is what it is.

Yishai: Okay, so you are starting a new position, as mentioned, not so well known, you look back and also what is happening now at JFrog in this world of developer advocacy, can you put signs for who this position is suitable for? Who is not suitable? What do I need to have in order for me to succeed in such a role?

Baruch: Yes, I think that today we already know how to put a finger and say hey, you will both succeed in this and love it and I think that the combination of skills that we are looking for here is rare and that is also the reason that today when the world understands the importance, the world...the industry understands the importance of developer relations, everyone is looking for developer advocates and can't find one, one of the reasons it's very difficult to find is that there really is some combination of skills that usually don't exist in the same person - technical people are usually introverts and all they want is to be left alone and let them to play with their code, the developer advocates are exactly the opposite - you have to be very extroverted, like people, like to talk to people, and this is a combination that is very, very rare, very rare.

Yishai: You say it's a kind of progression for senior developers or architects, people who have technical depth but who nevertheless love people, not people-haters, this could be a path for them.

Baruch: I think this is a very, very good track for those who are not looking for the classic management of managing people, and here I can tell you that many, many technical people would not want to manage people if they knew how exactly this thing is the opposite of writing code or working with failures. People are accurate, machines are consistent feedback and algorithm driven, and people are just the opposite, not consistent and driven by...and don't work the way we want them to work, which makes managing people a very, very frustrating experience for most technical people, and this is also another thing that the industry is slowly learning. Until a few years ago even, in most companies the only progression path was after some stage of senior developer or something like that, fine, go manage people, you're so good, why aren't you a manager yet? And the results are terrible - most of the good technical people are very, very bad managers, and this is also changing, and those who hate it, of course, it is also changing, we now have tracks for individual contributors and really developer advocacy is an excellent option for a track of progress for an individual contributor, As long as you really love it, you really love people, you love community, you love talking, you love listening, you love being with other developers and not just sitting in the same room with noise cancellation headphones.

Yishai: You see that people as developers or as hands on people are also active in the community, write on reddit, live the media, this is some kind of good indicator of who might also be a good developer advocate?

Baruch: Unequivocally, those who are in the community because they want to be in the community, and they do it at the expense of their private time and without it being part of their role, are the ones for whom developer advocacy can be a great career path, and that's also what we are, that way We find them, yes? When we talk about, I have startups that I help in developer relations as an advisor and as a mentor and they all try to recruit and it's very difficult, what we do with them is exactly to look for those who are already in the community, who are in reddit, who are in slack, at a meetup and try to tell them hey, you're doing it anyway, why don't you get paid for it?

Yishai: Actually, a developer advocate also works with such people who are part of his mechanism to reach the general public, you activate in some way or cooperate with such people.

Baruch: Right, there are the champions and the external advocates and call them what you want, it's the people in the community who do this work anyway and if they're enthusiastic about your product then you have here A great opportunity not only for the recruitment of developer advocates who will do it for a salary but also these community champions who will actually help you reach the community without being hypocritical, hey, he gets paid, obviously he will only say good things about them.

(transitional music)

Yishai: In this podcast we talk a lot about engineering managers, about engineering management, and I'm interested in the interface between the engineering managers in the organization and the developer advocates and the leaders of the developer relations, where things meet, what this interface looks like between two different positions that serve the same organization ?

Baruch: developer advocacy or developer relations as an organization within the company is one of those organizations that basically touches everything, and we can go one by one and every other organization in the company and see how developer advocacy works with them and helps them, and I'll give you some examples, in marketing this is something very, very clear , Yes? In the end, we are the ones who work before the marketing panel and work with the community and in general on awareness, but not only, probably also the product, the community feedback that developer advocates bring into the product is the most valuable feedback - the most important thing for a product is recruitment, as soon as people know about the company and know good things about the company and the technology within the company, people will want to work for it and R&D, and this is exactly where we come to this topic of technology managers - we are the voice of R&D within the community, We want people to think good things about R&D within the community, we want our company's R&D to get the credit for the great things they're doing, and that's exactly how we can help the tech teams, we're also the ones who bring them into the spotlight and to the front of the stage and say hey, these The people who actually do the work and make the product so well that, I hope, the community likes and knows how to appreciate. So wherever you look, we can help as developer relations, and R&D and the managers within R&D are no exception.

"Community feedback that developer advocates bring into the product is the most valuable feedback"

Yishai: And what does it look like or where are there frictions or situations where it is not clear how to work together? Specifically with development managers, where are the difficulties?

Baruch: In front of development managers we sometimes sound like the, how shall I say it? The spoiled kids who cut the line and suddenly have demands that the whole company must fulfill, and this is how it can sometimes feel, and here what you need to remember is that it is not our demands, in the end what we bring to the organization when we say hey, we need this and we need the This, this is ultimately what we hear from our community, and if there are any fires now that we know from the community that we as a company must put out and we bring them to the attention of the organization and the heads of the technological teams, it's not because we feel like it, but because there really is some kind of problem that we need their help To solve for the community, not for us, developer advocates, as private individuals, but sometimes of course it sounds like there isn't, once again these developer advocates want something from us when we actually have other plans.

Yishai: So you seem to be pushed to priority, pushed to the road map in a way that might look like something pirated.

Baruch: Exactly, right, and why are you even telling us what needs to be done, and here we have to remember that it's not us, yes? In the end, everything we do, we tell you what the community says, and if now there is some feature that doesn't work properly, even though you think it should, there's nothing to fight with us, we didn't decide that it doesn't work properly.

Yishai: And on the opposite side, at the stage when the feature is still being built or the design is being done, they make sure to call you so that the cycle can be shortened. That way if you already have some insight about how people want to consume it, how to properly build it , or you do it wrong and then you come in as the hardest critic…

Baruch: Both, of course everything related to working with the product, I think the team of developer advocates and developer relations is the most important resource of a product to decide what to do, when and how, because in the end the whole purpose of a product is to score a stamp for what the community wants when they release this or that feature, and the only ones who can tell them hey, this is how the community wants it or doesn't want it, is the developer relations team, the smart product teams will listen to the developer relations team , invite them to these conversations, and not only to hear but also to propose and offer it back to the community and say listen, we want to do it this way, check if it holds water, check what the feedback will be, and of course this way companies save a lot of time, a lot of money , and hit better what the community wants.

Yishai: On the flip side, you have to explain the shortcomings, okay, develop something, it's never perfect, it's never 100% what the community needs, you're in a position where you have to explain the gaps both internally and externally, say well , you can still use it, it's still useable, you come off as the bad guy in both ways.

Baruch: Yes, so inside is much less of a problem because in the end we are my colleagues, we know how to work together, we understand that even when I yell at them that it is this crap you have developed, in the end we are all here for the same thing, we want the The benefit of the organization, outside of course it's a problem and it's a problem because on the one hand you really represent the company and you want to say hey, guys, well, well, it's not perfect, but in the end it's useful and it's good, on the other hand your reputation is on the line and that Also says the reputation of the company, because from the point of view of the community you are the company and the company is you, and trying to bullshit your way through something that doesn't work is going to hurt everything, and on the other hand your bosses, especially in marketing, won't exactly be happy to say hi, we know That this thing doesn't work. It's a very, very narrow line, a very narrow path to walk - on the one hand to be authentic and say yes, this thing isn't perfect, on the other hand not to say hey, don't use our product, and that's sometimes very, very tricky, very tricky.

Yishai: One of the topics that interests us and the topic of developer relations, developer advocacy touches on it a lot is at the end of the developer's experience, what is today a buzzword that is catching on, developer experience, we see the developer experience on two levels - also the developers who use our APIs, our SDKs, our products, this world of developer advocacy that you live in. What is the experience of a developer from the community who wants to use my tools, but there is also the angle of what is happening For the developers at my company, what does the day-to-day experience of R&D look like with us, do you see any connection? Do these things touch each other? Because at the end of the day, the community that works with JFrog API's does not necessarily encounter the same difficulties as a developer in JFrog who comes to make a release. Is there a touch? Or is it two different worlds of the same name?

Baruch: Of course these are completely different experiences, and it is true that the developer experience is first of all intended for the outside, yes? I mean if we have a product intended for developers, when we say developer experience we mean the developer experience which is the user experience, yes? The UX, we call it developer experience to emphasize that our users are developers but we are referring to users outside, and I think that the experience of the developers of this product is a kind of afterthought only now recently, especially after Corona and suddenly with all the great resignation and the whatever silent resignation and all these buzz words that now suddenly pop up, and burn out of course, now suddenly start thinking about it, yes? I mean, yes, it's probably important to us how our users feel when they use our product, but suddenly it's also important how our developers feel when they develop our product, and this, as I said, is new, it's new and it's not because suddenly everyone is very touchy, feely and take care of our employees, but because suddenly it hurts the business and the burn out and the resignation and the whatever affects the quality of the products we develop and how quickly we can bring them to the market and suddenly everyone has, suddenly everyone cares how the key is within the company feels.

Yishai: Say, is it at all possible for a developer who lives in a bad experience, I actually put emphasis on his technical experience, like how much effort he has to put in to set up a local environment or make his code eventually enter the code base, if my development environment It doesn't work well and it's very difficult and my experience is very cranky, can I even release a product whose experience for the developers they use will be good? That there everything will flow, that there everything will be testable and stable and fast, is it even possible to do that? Or is my experience as a developer inside an organization the type of thing that puts a cap on what I know how to put out? When it comes to API products, developer products.

Baruch: I think it is possible, it will just be very, very expensive and very, very difficult and probably not the first time. These things are indeed separate things, in the end you can through, if there is a good product team and a good development team and a good developer relations team, you can build a product that will be good for developers even if the writing process of this product is a nightmare. The problem is not there, the problem is how much it will cost, and how much it will cost also from the point of view of what is the chance that developers who are struggling to do something, in the end will produce the good thing the first time, how long and how much money will the we work of OK, well, it doesn't work now, let's make it work, and of course it will, the internal experience will cause a very, very frequent turnover of personnel and how much time and money it will cost to onboard all the new people, how much knowledge is lost when the teams change so quickly, and at the end of That's what, that's the risk. Yes, I will give you an example, we are now building a house and it was supposed to be ready in March, but now we're in September, it's not ready yet. And it's not because they didn't know what to do in the first place, it's because the human power was not good, the human power changed, whoever came there no longer knew or knew less what to do, Then it changed again and those who came after them had no idea what we talked about with the first guys, etc., etc., and in the end it will be exactly the house we want, only it will take twice as much time and twice as much money, and it's exactly the same , it's exactly the same, if we have good people who are satisfied with their work, know what they do, know what needs to be done and their work satisfies them and it's fun for them and they can be productive, that way the final product will be on the market much faster and much cheaper, which is what matters us.

Yishai: And what do you see, again, hear from the development teams around you or feel through your customers and users, where are the biggest challenges in the developers' experience? In the experience of someone who is now building a product or specifically building products for developers? Where are the pains? Where are the areas that are the most...apart from bad managers who are themselves developers who were unfairly promoted and didn't want to be managers and all these challenges, where is the pain?

Baruch: Yes, there are many, but one that I think about a lot now is the so-called on my mind, call it developers in post DevOps world, what I mean is that it's okay, we had, we have DevOps a lot, a lot of improvement in how we are Writing software, this whole issue of observability, of microservices, of servers, of cloud, Kubernetes, Containers and what not, completely changed how the software is built. I would say, not necessarily written but built, everything related to after the code is committed or merged, looks completely different today than it did a decade ago. For the better. But it doesn't necessarily mean that the day-to-day or the connection of the regular developers, those who write code, to this whole revolution of DevOps, this connection is strong enough, it even happened, and I think one of the most prominent examples on this topic is incident management. Think about how today's incident management is much more complex on the one hand, and much more productive on the other in everything related to ops and DevOps. The whole issue of observability and post-mortems and self-healing and wherever you look, it's a well-oiled machine.  Crazy, monsters who do lots and lots of amazing things in this field, whoever is in incident management today is just like he was a decade ago, that's the key. Woke him up at 3 in the morning, told him “listen, we think we have a problem with the code”, as if we checked all the systems and the systems are fine but we think there is a problem with the code, good luck.

Yishai: Of course, I know, I wrote this bug last night, I know exactly what broke.

Baruch: Yes, exactly, and it hasn't changed and it amazes me and I think that this, this thing, together with, in general with the whole field of developer experience and here really the important word is developer, it's still there, it's still from a decade ago, the software has become to be very very complicated, the way the developer works has remained almost unchanged, I think the last amazing innovation we had in this area is git and Github if you will, and pull-request and nothing new since then has happened in the area of ​​development And it's amazing, especially when you look at this whole DevOps thing flying forward decades.

Yeshi: It's interesting because DevOps is indeed a huge influence of open source there, but DevOps was almost born to serve the business used case, those who activated and ran and built and use DevOps are first of all the businesses that wanted to improve or greatly improved their form of Building and deploying workloads, on the other hand, the second revolution which is about a similar age, which is git and Github and the world of pull requests was born from open source, it was born from how I do collaboration when there is no money and An organizing factor other than a desire to write something cool together, and pull requests were originally intended at least for people who don't get paid, certainly not from the same company. I wonder if this difference has any contribution to this result that it stopped quite early, the pull request looks exactly like it did in the big open source projects of the past and on the other hand DevOps is progressing like crazy - dozens of tools and wanderers and whatever you don't want.

Baruch: I think that today the pull request is very, very even in the business world, yes? Today also within the company,

Yishai: Everyone uses it, everyone is there, it wasn't built for that,

Baruch: Even if you have internal projects, they are not, right, the question is whether it really is, the fact that it doesn't come from there means that something is inevitably missing. I think the problem, this concept, the workflow built from pull requests is a very, very healthy work flow, yes? It gives us an opportunity to really isolate areas that are more risky to enter into some branches and makes other people want to look at it before they make a decision whether to enter it or not, which I think happened, and that's a reason why the pull request is like this now a bit A pain, or not a little, a pain, and not necessarily something we are happy to do, the fact that thanks to DevOps the software we build has become very, very complicated and complex and today pull requests are something that is almost impossible to assess with a human eye, we are now looking at changes and how much our ability Assessing how this change is going to affect very, very complicated systems is a limited ability, and the more complicated the software is, the less and less we feel that we can have an opinion on what we see in this pull request and I think the problem is, I don't see a solution for this at the moment, yes ? I don't see a solution where we say okay, we as humans can manage with software that is becoming more complex day by day, and pull request was really an answer to this problem at some point, but the complexity of the software is increasing, pull request is the same pull request, it is still expect the person or two people to get out of the context of what they are doing, enter into the context of what another person did and understand whether what they did was good or not, and I don't know if we can still do this.

Yishai: So you're actually describing a situation where the increasing complexity in the pull request eventually hides a context that is sometimes difficult to grasp and at least difficult to serve the original purpose of "Wahla I see and I can do some vetting which is a good change, on the other hand we see lots and lots of trivial, very small pull requests, which are basically a waste of a reviewer's cycle that needs, as you said, to get out of the context and even know that it is waiting for him and go do it, for something that is a no brainer and has no benefit to a person , beyond the fact that the tests pass and everything works, maybe it's just a change in the documentation, maybe it's white space, some extreme cases,

Baruch: But the problem is that we don't have a computerized way to differentiate between these two used cases.

Yishai: Yes, everything looks the same, everything gets the same treatment, and then this treatment on the one hand, voila, I get a large pull request, full of lines of code or complex and I say I have no chance, I'll just rubber stamp it, come on, it seems to me OK, there are no glaring flags, and on the other hand I also have to do a similar process for pull requests which are a waste of time.

Baruch: Me, I wish there was some kind of system that would help me with the context, yes? I think that's exactly the biggest problem, one of the things I'm excited about right now is really the innovations in this field, in this specific field, and I think that Linear-B, the company you work for, is trying to solve exactly this problem of how do we make it easier for the people who are still looking About these pull requests, and right now I don't think we have any better alternative than looking at pull requests, how can we get these people to better understand the complicated pull requests and give up or do some automatic process of acceptance for a more trivial pull request.

Yishai: Yes, it's not by chance that I'm talking about these issues, it's of course very interesting to us. You talked before about the DevOps world and you talked about the post DevOps world for developers, DevOps like this very roughly talks about machines and automated processes - I have CI, I have actions, I have scripts, I have Jenkins, there is no code , code out, the tests always go through the same thing, in all the companies I've ever seen, all the tests have always run the same way, or not, but by and large it's machines, it's code, and when you talk about this issue of the development process and the acceptance of code through pull request As you said there are people, I suddenly have to think about, not about how I sew machines but how I sew processes that are automatic to, and people. That the pull request was also affected by whether the person is currently tired, whether the person has already made 10 reviews today.

Baruch: True, did he eat.

Yishai: Is he not responding because he is on vacation, so something else needs to be done. There is, in my opinion, a somewhat (unclear) element here...

Baruch: It's still full, it's much less horrible, it's much less horrible than this semi-automatic acceptance or I don't have the strength, it looks fine, and actually there are horrible things in there that he didn't look at - because he was hungry.

Yishai: Also, I'm not sure we'll build sensors for hunger, but there's something special about the fact that you're driving people, you're scheduling or somehow doing this process, it's related to people and code, yes? The tests also have to pass, maybe the tests that pass are input to the reviewer, the fact that I have nothing to review before the tests pass, for example, and on the other hand I lead people, people are not the same, they are not always available, they have many things on their minds and the context switch, is expensive. So where I can lower the context switch or eliminate it, I gain disproportionately, it's not like a CPU context switch, we're not there yet.

Baruch: Exactly, and I think it's also what LinearB does that is very, very important, very, very expensive, and really, as I said, I'm looking forward to innovations there that can achieve SREs progress in this area of ​​DevOps also from the side of developers, and like that we talked at the beginning with Yishai, telling now how excellent and helpful Linear-B is will not help anyone because no one will listen to us, because we get money here instead, the only thing we can say is go look at it, if you feel that the problem we talked about is A real problem and the developers have somehow been left behind in terms of their user experience as part of this DevOps process, and if you agree with us that one of the problems is really that the pull requests are the same as they were a decade ago that the software we need to look at is several levels more complicated, you might find Something interesting there, stay tuned for what Friday is doing, what Linear-B is doing and also what I talk about a lot and maybe together we will find a solution that works for you in one way or another.

(transitional music)

Yishai: Towards the end, give me one piece of advice or one thought for those who want to become a developer advocate or advance in this field, what, one thing to pay attention to in order to succeed or to decide if it's for me or not, something you would have liked to have known a decade ago when you started.

Baruch: Yes, so I think that really what we talked about before, a person should ask himself whether working all day, day after day, with people, with the community, is something that does it to him, and here it is very, very simple, who does it He knows it and whoever doesn't do it knows it too and this is something that says yes or no whether a developer's field is your field. Very, very simple, very, very effective, and that's the only question that needs to be asked, everything else can be learned. Does it make you work every day with people, it's something you're born with and if you don't have it the suffering isn't worth it.

Yishai: Welcome, thank you very much, it was lovely and really interesting, I think that the issue of developer relations and developer advocacy has not yet completely become a commodity and many developers are thinking and asking themselves, wait, is this right for me? it interests me? I think this episode can be really helpful for them to understand that.

Baruch: I'm happy, thank you for hosting me and if anyone listening to this episode has questions, you can find me on Twitter, @jbaruch, I would be happy to answer, and if you are thinking about conversion, about this field of developer relations. Also, come and say hello, as I mentioned there are a lot of open positions that I would be happy to help those who are thinking about making it a real profession. Thank you.

Yishai: Great tip and help for our listeners, thank you.

(transitional music)

Go to devinterrupted.com to subscribe, you can also find all our episodes in English there. I remind you that we at LinearB are in rapid growth and are recruiting for a variety of positions in all fields. Visit linearb.io/careers to find your next challenge. I'm Yishai Beeri, we'll hear from you in the next episode.

(Closing music)

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