יום שני, 14 במרץ 2022

436 How to reach retirement as a software developer with Bentzy Lupu

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



(רן) אז קצת לפני שנתחיל  - בנצי, מה היה המעבד הראשון “שסבל את נחת זרועך”?
(אורי) תן לי להתחיל - “לפני הרבה-הרבה שנים, בארץ רחוקה-רחוקה,  . . . . “
  • (בנצי) אז האמת שאין לי מושג איזה מעבד זה היה - אבל הוא היה מאוחסן בבניין שלם בטכניון.
    • אני לא יודע מה שמו, אבל זה תפס שם הרבה הרבה מקום, זה מה שאני יכול להגיד.
(רן) ולא היו לו מסך ומקלדת . . . מסך צבעוני ומקלדת, אני מנחש?
  • (בנצי) בשנה הראשונה לפחות תכנתתי בכרטיסים מנוקבים, שזה היה כיף גדול . . . .
(אורי) כמה פעמים עפו לך הכרטיסים ברוח?
  • (בנצי) או-ווא . . . היו לי מתחת למיטה את כל התוכניות, שכבו בקרטונים מתחת למיטה - אז יכולתי לקחת את התוכנית ולדפדף בה לפני השינה, זה היה מרדים יופי.
(רן) זה היה ה-Hard-disk שלך . . . .

אז בנצי, בוא קצת נכיר אותך - מי אתה? מה אתה עושה היום? אחר כך קצת נצלול להיסטוריה . . . 
  • (בנצי) אז אני בנצי לופו, בן  . . . .לא נגיד בן כמה אני, אבל לפני שבוע קיבלתי את הכרטיס אזרח ותיק, שמקבלים בגיל 67 . . . .
  • נשוי, שלושה ילדים, שני נכדים
  • עבדתי בכמה חברות במשך השנים, וכרגע אני עובד בחברת eToro ברמת גן
    • החברה מתעסקת במסחר באינטרנט - אחת החברות המובילות בעולם כנראה.
    • אני מפתח שם להנאתי - ומשום מה הם מתעקשים גם לשלם לי, וזה גם די כיף.
(אורי) בדיוק רצינו לדבר על מילניאלס בשוק העבודה . . . . אז הנה, אתה האורח שלנו היום.
(רן) ובכל אופן, למי שלא מכיר את eToro - ככה שתי מילים על מה שאתם עושים שם היום?
  • (בנצי) זו פלטפורמת מסחר באינטרנט, בכל הנושאים והמטבעות וה-Goods שאפשר לסחור בהם.
    • וכמובן המון המון Cryptos . . . יש לנו כמובן ארנקים אלקטרוניים כאלה ואחרים.
    • אני בצוות הארנק האלקטרוני - מול Cryptos, מול Blockchain, דברים שלא התעסקתי איתם לפני 40 שנה כשהתחלתי לעבוד, זה בטוח.
(רן) סבירות נמוכה שכן . . . 

אז חשבתי שיהיה ככה קצת מעניין לבוא ולעשות איזשהו Overview, סקירה הסטורית של טכנולוגיות שיצא לך להתעסק בהן. אז בקצה אחד הזכרנו את ה-Punched cards בבניין הענק של המחשב בטכניון, ומצד שני הזכרנו Bitcoin ו-Crypto, אבל בטח היו גם הרבה דברים באמצע.
  • (בנצי) כן, צריך קצת זכרון בשביל להיזכר בכל הדברים, אבל אלו היו שפות כמו PL/I ו-PLC ו-APL, שהן כולן על VM-ים
  • ומסדי נתונים כמו RDBMS ו-Cics בתור המערכת התקשורת . . .  
  • ואחרי זה גיליתי את ה-Minis - יש שם System/34 ו-System/36
  • שפות כמו RPG, שזה לא רק הכלי הזה נגד-טנקים, אלא שפה נגד כל העולם . . . .
(רן) שירימו את הידיים עכשיו כל המאזינים שהבינו אחת מהמילים או אחת מהשפות שבנצי הזכיר עד עכשיו . . . דרך אגב, פרט ידע קטן - גם עבדכם הנאמן פעם פיתחתי ב-RPG, אבל אני כבר לא זוכר מזה כלום. גם יריתי ב-RPG וגם פיתחתי ב-RPG, אני יכול להתגאות בזה.
(אורי) אבל עד כאן, בעצם, TCP/IP לא היה?
  • (בנצי) TCP/IP בשלב הזה? לא . . . ממש לא . . . איפה? אנחנו מדברים על . . . אני לא נגעתי אז ב-TCP/IP.
    • הכרתי אותו אחרי איזה 15 שנים, משהו כזה . . . אחרי שהתחלתי לעבוד, היה TCP
    • הייתה גם את שפת Cobol בדרך, שפה מאוד מעניינת, עם פקודה אחת בערך שנקראת MOVE - ואיתה אפשר לעשות דברים מדהימים . . . .
(אורי) איתה אפשר להתקדם . . .
  • (בנצי) . . . עשיתי איתה דברים מדהימים, הצלחתי לעשות דברים באמת ברי-קומפליציה לתוכניות באמצעות שפה כל כך לא נחשבת
    • זה אומר בעצם שאם רוצים לעשות דברים, אפשר לעשות עם כל דבר
  • ואחרי זה פרץ לנו המחשב האישי, והגענו לשפות כמו Pascal ו-Turbo Pascal . . . .
(אורי) פה אני מצטרף . . .  [גם אני!]
  • (בנצי) ויום אחד  . . .
(אורי) רגע - BASIC לא היה לך לפני זה? או שדילגת על BASIC?
  • (בנצי) אני לא . . . דילגתי על BASIC
  • ועוד משהו - כשהגענו לתקופה שהייתה המלחמה הקשה בין Turbo Pascal ל-Visual Basic או Delphi מול Visual Basic, אני החרמתי את Visual Basic, לא הייתי מוכן לגעת בו, מטעמים שהיו שמורים עימי . . .
(רן) הודאת מאז בתבוסתך?
  • (בנצי) לא . . . Delphi הייתה שפה אדירה . . . 
  • השתמשתי ב-Visual Basic בתור שפת Script-ים, בשביל לעשות כל מיני דברים, לשנות IDEs ודברים מהסוג  הזה, אבל לא בתור שפה שפיתחתי איתה אפליקציות.

(רן) בוא נעצור את הסיפור הזה לרגע, המסע הזה מאוד מעניין - אמרת Cobol, שיש לה פקודה אחת - MOVE - ושאפשר לעשות איתה דברים נפלאים. אילו דברים נפלאים עשית?
  • (בנצי) אז זו בדיחה שיש רק פקודה אחת…
  • אבל כשאני התחלתי לעבוד בזה, אנשים סביבי בכו וקיטרו שזו שפה מאוד “ענייה” וכל זה
  • ויום אחד, כשעבדתי בחברת פז, הם קנו חברת-בת . . . . הכל מתחיל מה-Business בסך הכל, וזה גם המוטו שלי בחיים
    • שה-Buisness יותר חשוב מהטכנולוגיה, כי  . . .
  • אז הם קנו חברה-בת, והיו שם המון תוכניות - מאות תוכניות - עובדות, רצות כמו שצריך מול SQL Server וכו’, על VM ענק
  • והם רצו להכניס את החברה-בת הזאת - אבל שההרשאות תתחלקנה בהתאם - 
    • שאנשים מחברת האם לא יוכלו לגשת לחברת הבת והפוך.
    • ניסו לחשוב איך לעשות את זה במינימום עבודה, וקיבלו הערכות של כמה שנות אדם
  • ובצניעות, אני אומר, באתי עם רעיון של לכתוב Pre-Compiler - שנוסיף לו כמה טבלאות ב-Database עם ההרשאות, בכל טבלה למי מותר לגשת ואת חלוקת ה-Data
    • ואז כותבים תוכנית שעוברת על התוכניות לפני הקומפילציה, עושים Pre-Compile - והתוכנית משנה את פקודות ה-SQL, כיוון שהכל SQL, היא משנה את פקודות ה-SQL ומוסיפה ל-SQL, לפני הפרה-קומפילציה (Pre-Compile) . . . .
    • זה חסך המון עבודה - וכל זה נכתב ב-Cobol  . . .
(רן) כמו מאקרו, זאת אומרת . . . .למי שאני מניח מתכנת אחר כך ב-C או ב-++C, אז יש שם באמת את הסיפור של Macros . . .
  • (בנצי) אתה יכול לכתוב את זה בקלות  . . . גם ב-Cobol עשינו את זה, ועשינו את זה די חלק
    • ישבנו על זה שני אנשים, אני לא זוכר אם חודש או חודשיים, ופיתחנו את זה וזה עבד - פשוט יפה.
    • כמובן שב-SQL Server הפקודה הבעייתית הייתהINSERT 
      • כי Update ו-Delete - הרבה יותר קל לחסום אותן
  • ואני זוכר את זה . . . אמנם זה היה משהו לפני שנים, אבל אני זוכר את זה כמשהו יפה שאפשר לעשות 
    • אתה נותן ל-Business את מה שהוא צריך, ואתה נותן אתה זה, אתה יודע - מתוך עצלות . . . .”מה? אני אעבור עכשיו על מאות הודעות ואתקן אותן? שהמחשב יתקן” . . . אז המחשב תיקן את התוכניות.
(רן) אני לא זוכר אם זה היה, אורי - לא יודע אם אתה זוכר, באחד הפרקים הראשונים [פרק 6!] ראיינו את פרופסור יוסי גיל מהטכניון, והוא טען שעצלנות זו תכונה מאוד בריאה אצל מפתחים  . . . . מפתח שהוא לא עצלן הוא לא מפתח טוב, אתה צריך לחשוב על איך לעשות לעצמך את העבודה קלה יותר. וכן, אני חושב שזו גם דוגמא מצויינת לאיזה Leverage, איזה כוח, יש לתוכנה - אתה יכול להניף מנוף קטן והתנופה שלו היא אדירה, על ה-Business במקרה שלך.
(אורי) אני חושב שהיום, הרבה מהמפתחים מתרחקים מהעולם של ה-Business ולא יודע . . . תמיד נראה היה לי שפעם לא היו הרבה מתכנתים, אז הם היו חייבים להיות קרובים יחסית לל-Business כדי לתת פתרונות. היום יש פשוט שכבות-על-שכבות של טכנולוגיה, ונוח לך “להתחבא” רחוק מה-Business.
  • (בנצי) אז מהניסיון שלי, כבר לפני הרבה שנים, המשפט הכי יפה ששמעתי ממפתח שעבד פעם אצלי כשהייתי בתפקיד ניהולי, הוא אמר “הלקוחות פה מפריעים לנו לעשות את העבודה” . . . .
(אורי) היה כיף עד שהגיעו הלקוחות . . . 
  • (בנצי) . . . אז אני זוכר, כבר לפני המון שנים, מתכנתים שנורא נהנים מהטכנולוגיה, אבל  . . . ה-Business . . . 
    • “גמרתי לפתח משהו, עכשיו אני רוצה לפתח משהו חדש” - לא חשוב שצריך לתחזק את זה עכשיו עוד 10 שנים או 20 שנים או משהו כזה . . . 
    • וזה מערכות של 20 שנה - אני מכיר מערכות שעבדו 20 שנים עם אפס באגים [ולא כי אף אחד לא השתמש בפיצ’ר . . .]
    • אמרו לי שאני חולם ושאין דבר כזה - אבל יש דבר כזה.
    • כן, אנשים רוצים כל הזמן לפתח משהו חדש - וזו אחת הבעיות, שבעצם ה-Business צריך משהו יציב.
    • אם במקרה צריך לפתח משהו חדש אז כן - כדאי להשתמש בטכנולוגיה הכי חדישה שיש, אבל . . .

(רן) אז זהו בדיוק - זה מביא אותי לדילמה של מצד אחד יש לי את הרצון לכתוב משהו חדש ולא לתחזק, שאת זה אנחנו מכירים, אבל יש גם את הרצון להשתמש בטכנולוגיה הכי חדישה, להכיר את הכלים החדשים יותר - ויש פה איזשהו Risk. זאת אומרת, אתה יודע - מצד אחד יש לך את ה”Good old Cobol” שאתה מכיר היטב ואתה יודע שהוא יעשה לך את העבודה, ומצד שני יש לך את “ה-Delphi החדש הזה” [משפט שנאמר לאחרונה ב-1998], שאתה, ככה, מתלבט האם לקפוץ על ה-Band wagon הזה או לא - ואני מתאר לעצמי שהיית לא מעט בסיטואציות האלה, של “בוא נחליט מה אנחנו לוקחים - את הטכנולוגיה המוכרת או איזשהו “סוס חדש ומופרע” . . . .
  • (בנצי) אז כן, הייתי הרבה פעמים
  • נקרא לזה ממש “קפיצת מדרגה” הייתה בשנת 1990 או משהו כזה, סביב 1990 - כששמעתי שיש הרצאה על משהו שנקרא Object-Oriented Programming . . . .
    • הלכתי לשמוע את זה וחזרתי משם המום . . . 
    • אמרתי “וואו, אנחנו חייבים לעבור לדבר הזה . . . חייבים”.
    • עכשיו, המרצה היה איזה דוקטור, אני לא זוכר מאיפה, והוא בנה את כל ההדגמות שלו סביב מכשפים ואבירים, ולא הבנתי מה הוא מביא את הדבר הזה . . .  [החבר’ה עם החרבות מעץ שמחופשים לדרקונים בחורשות של הטכניון יכולים להוות קצה חוט]
    • אני ראיתי את זה ב-Business, במה שאנחנו צריכים, את האובייקטים - והתחלתי לחפש.
    • אז היה אז ++C, זוכרים? היה ++C של Microsoft - ואני ממש לא אהבתי את Microsoft אז, את כלי הפיתוח שלהם.
    • בינתיים, שמעתי שיש Turbo Pascal, שהוא Object-Oriented, אז אמרתי שזה פחות מוצלח מבחינת זה אבל אימצנו את זה - והחברה עברה מיד ל-Object-Oriented Programming
    • ובערך שנתיים או שלוש אחרי זה - אני מספר את זה בתור אנקדוטה - אנחנו פיתחנו פרויקטים לרפא”ל, בין השאר
      • ופיתחנו להם את זה ב-++C עם Core של C, בגלל מהירויות ודברים כאלה
      • ודיברתי שם עם כמה מהנדסים והם אמרו “שמענו שזה משהו שיהיה אופרטיבי בעוד כמה שנים”, אז אמרתי להם “התוכנה שפיתחנו לכם - ב-++C פה . . . “
    • וכמובן שאחרי זה התקדמנו ל-Delphi ודברים יותר מתקדמים  ועזבנו את זה - אבל זאת הייתה אבן דרך, בעיני, מאוד חשובה, מבחינה התפתחותית.
(אורי) דווקא זה מעניין, כי הייתה ה-++Borland C - ו-Delphi זה חזרה ל-Pascal . . . כשפה, היא Syntax של Pascal . . .
  • (בנצי) כשפה כן, אבל מה שמשך אותי אז זה לא השפה אלא הסביבה.
  • כמו שיש היום למשל Visual Studio, אז Delphi - הוא בא עם סביבה מובנית שאיפשרה קסטומיזציה (Customization) של ה-IDE
    • וזה, מבחינתנו, היה דבר ענק - יכולת לקסטם (Custom) לך את הדברים כך שיתקמפלו (Compile) בצורה מסויימת, לעשות Macro-אים בצורה אדירה . . . 
    • כמו שאמרתי: עצלנות . . . אני צריך משהו שיעזור לי לכתוב את התוכניות, יעזור לי לכתוב Framework-ים
    • ואפשר לעשות Framework-ים, וזה היה, גם מבחינת המפתחים - זה היה יותר קל לכתוב בזה מאשר ב-++C, בסופו של דבר.

(רן) אני לא בטוח שהגענו ל-Timeline של זקן-מאזיננו עדיין, כי אנחנו עדיין בעולם ה-Delphi, אז בוא נתקדם . . .
(אורי) אני הייתי . . . 
(רן) אתה כבר היית . . . אני, האמת, הכרתי - אבל לא יצא לי להשתמש אף פעם - אבל כמו שאמרתי, שמתי את היתד בעולם ה-RPG אז זה בסדר, לפחות מבחינתי . . . גם יצא לי לכתוב ב-Magik, וראיתי שגם לך, בנצי . . .
  • (בנצי) אז החברה שלנו פיתחה פרויקטים ב-Magik ו . . . 
  • הייתה לנו מפתחת מופלאה ב-Magik בחברה, ו . . . אני התעסקתי מעט מאוד
  • אנחנו החלטנו לזנוח את Magik מהסיבה הפשוטה שמפתחים טובים לא רצו לעבוד ב-Magik . . . 
(רן) זה היה קל מדי . . . 
  • (בנצי) כן . . . משהו כזה - לא היה מקום ליצירתיות: או שזה עבד או שלא יכולת לעשות את זה.
(רן) אז Magik, למי שלא מכיר, היה מחולל-יישומים, אני לא יודע אם יש עוד את המושג הזה היום . . . אבל מחולל-יישומים שהיה בעצם מייצר אפליקציות, אבל יחסית עם מעט קוד - יש קוד, אבל יחסית מעט, סוג של Drag & Drop והרבה מאוד Template-ים וכאלה.
אני לא יודע אם קיים כזה כלי היום . . . היה את Microsoft Access, אבל גם הוא די נכחד, אני לא מכיר . . .. 
  • (בנצי) היה עוד משהו . . . התחלנו לפתח בו ב-1994, והיה לי שם פרויקט שנמשך גם אחרי שעזבתי את פתרון מערכות, החברה שהייתי שותף בה, ותיחזקתי אותו במשך לפחות עוד 10 שנים - וזה ב-PowerBuilder . . .
  • ו-PowerBuilder זה היה [ועדיין . . .] סוג של מחולל-יישומים - ושם היית צריך לעבוד קשה, כי מתוך נניח שתי קומפילציות (Compile) - אחת הייתה נכשלת . . . . לא יודע למה, זה היה כלי מאוד לא יציב, אבל עשינו שם באמת דברים מדהימים איתו.
  • פיתחנו מערכת שלמה למפעל - כל רצפת הייצור פותחה בפרויקט של איזה עשר שנות-אדם, והוא הצריך קצת יותר מ-Magik . . .
(אורי) אני חושב, רן, שכל ה-Access וה-Magik וזה - הם היו גם ה-Database וגם “מערכת התשאול” למחולל היישומים . . .
(רן) . . . וגם ה-GUI . . . 
(אורי) כן - ושמעל זה, היום יש את ה-Database אבל בעולם של כלי-התשאול וכו’, בעיקר עבור הנגשת ה-Data לאנליסטים, או לא לאנליסטים . . . יש, כאילו, את כל העולם של ה-Tableau-ים למיניהם, שהם גם כאלה - אבל הם מנותקים כבר מה-Database, כי ה-Database הוא  . . . . 
  • (בנצי) בגדול, אפשר להגיד, עכשיו כשאני חושב על זה, כי לא ישבתי לחשוב על זה - ההבדל בין מחולל-יישומים כמו Access או כל הדברים האלה, זה שמפתחים טובים, אני חושב, פחות רצו לגעת בזה . . .
  • מי שעשה בזה דברים זה כל מיני רואי-חשבון או אנשים שלא היו ממקצועות הפיתוח, ואמרו “אנחנו עושים דברים מדהימים”
  • והייתי מסתכל ואומר “זה לא נראה לי כל כך  . . . .אני חושב שאפשר לעשות פה שיפור”
    • לא היית רוצה שאני אעשה לך את הדוח השנתי למס-הכנסה, אני מניח, אז  . . . 
  • רואי-חשבון מאוד אהבו את הכלים האלה, ו . . .
(אורי) כל מי שבא מהמקומות של אנליזה . . . ובסוף, בגלל שזה היה הכל ביחד, אז לא יכולת ממש להביא  את ה-Scale מאחורי זה.
  • (בנצי) נכון - וגם, כשהם קיבלו כלי באמת רציני, אז הם אמרו “וואו, זה באמת נראה יותר מוצלח” . . .. 

(רן) ובואו נמשיך קדימה - משם הגעת לעולם -#C וה-ASP  . . .
  • (בנצי) קודם כל ASP, לפני ה . . . יש את ה-ASP.NET . . . 
  • נחשפתי, ב-1999, לפיתוח באינטרנט . . . . לפני זה היו אנשים שפיתחו באינטרנט ואני לא  . . . 
(רן) בקושי היה אינטרנט . . . בעצם ב-1999 כבר היה . . . 
(אורי) ב-99’ כבר היה . . .
  • (בנצי) אני זוכר שביקשתי . . . היו לנו כמה סטודנטים ממש מבריקים בחברה, וביקשתי ממישהו מהם.
    • הם למדו כל מיני דברים וידעו כל מיני דברים שאני לא ידעתי - ואמרתי “בוא, תראה לי איך מפתחים ב-Web”
    • ואני זוכר את זה, כי זה  . . . בוא נגיד שזה היה שיעור מעניין.
    • הבחור הראה לי איך עושים Frame, זה היה Frame כזה, מקלידים דברים - תערוך את זה, וזה עובר למסך הבא, עושה Update ועובר למסך הבא . . . 
    • ואני אמרתי “למה זה עובר למסך הבא? אני רגיל לזה . . .” והוא ענה לי “ככה זה באינטרנט . . . . אתה לא יכול, אין לך . . .”
    • זה היה . . .
(רן) Stateless . . . 
  • (בנצי) . . . Stateless . . . ואתה חוזר אחורה וזה הנתונים הקודמים . . . ככה עובדים באינטרנט.
  • וישבנו על זה יומיים  . . . 
(אורי) . . . ושינינו את האינטרנט . . .
  • (בנצי) . . . כן, והוא אמר “אני לא מאמין” ואני לא הבנתי איך מתכנתים בזה בכלל . . . .
    • “תעשה לי ככה ותעשה לי ככה” . . . .
  • ואז התחלנו להתעסק ב-Frame-ים - ואז החברה שלנו נכנסה ואמרתי “מתחילים לפתח ב-Web!”
    • כי זה נראה לי הרבה יותר טוב מ-Client-Server - אני לא צריך התקנות, אתה מקסימום מותקן בשרת של הארגון, אינטרא-נט וכזה.
  • ואז כל האפליקציות שלנו עברו לאינטרנט - אבל, כמו שאמרתי, אני לא סבלתי את ה-Stateless הזה, אני לא מוכן
  • אז התחלנו לעבוד עם Frame-ים, אתם מכירים? היו שם Frame-ים, ואני רציתי שה-Data יתרפרש (Refresh) עם המסך
    • אז זה בהתחלה נראה נורא ואיום
    • ואז הגיע ה-XML Objects . . . .
(רן) XML HTTP . . . .
  • (בנצי) כן, של Microsoft - ואז ישר אמרתי וואו! זה נראה לי . . . 
  • אני לא יודע אם אתם יודעים  - ב-2004 יצא ה-AJAX, ב-2004 . . . .
  • ואמרתי “אני מכיר את זה, אני עובד בזה כבר 10 שנים, פיתחתי כמה Framework-ים כאלה  . . . . “
(אורי) . . . שבעצם הם היו AJAX . . . .
  • (בנצי) הרבה שנים, כן . . . .
(רן) אני רק רוצה לתרגם, למי שלא מבין את ה-Context, מה זה Frame - זו הייתה הדרך השינה לעשות AJAX - זאת אומרת, לטעון Data בצורה א-סינכרונית: היית טוען לתוך ה-<iframe> או Frame-חבוי, היית טוען Data והיית מצליח “לשתות אותו” - אז לא הייתה שום בעיה של Cross-domain אז זה היה אפשרי, היום זה כבר בלתי אפשרי . . . . וזאת הייתה הדרך לעשות קריאות א-סינכרוניות לשרת מבלי לרפרש (Refresh) את העמוד.
לדעתי, ככה גם נכתבה הגרסא של Gmail, אם אני לא טועה - עם כל מיני <iframe>-ים כאלה . . . ובאמת, ראו בחברות הגדולות ש”זה מה שהאזרחים אוהבים”, אוקיי . . . . זה מה שהמפתחים אוהבים, רוצים כל מיני קריאות א-סינכרוניות לשרת - ואז הוציאו באמת את XML HTTP ונולד כל הסיפור הזה של ה-AJAX [הסיפור המקורי של Ajax גם מרשים]
  • (בנצי) דרך אגב - זו דרך לא קלה . . . 
  • אני אישית, זוכר שב-2001 או ב-2002 הייתי באיזה כנס באילת, של Microsoft . . . . 
    • והיה שם פאנל-מומחים ואמרתי “תראו, אנחנו צריכים דבר כזה” - ואמרו לי “אף אחד לא צריך דבר כזה” . . . .
    • ב-2004, אחרי שהוציאו את ה-AJAX, הם התאימו את עצמם מהר מאוד לדבר הזה וזהו.
  • אבל כשהתחלתי לעבוד ב-MyThings - שם הייתי מנהל הפיתוח, בתהחלה, עד שהחברה גדלה והסתבר שאני כבר לא מתאים להיות מנהל פיתוח - אז אני התעקשתי שאנחנו נפתח דבר כזה -
    • ואז עוד לא היה AJAX, ה-AJAX יצא אחרי זה
    • והאפליקציות שלנו היו One Page  . . . אחרי זה פרץ המונח הזה - אולי הוא היה קיים קודם אבל לא הכרתי אותו . . . .
  • (בנצי) Single-Page Application, שבעיני כן - זה מה שצריך להיות, זה נראה כמו שעבדת ב-Client-Server רגיל.
(אורי) אז רגע - בתקופה הזאת, כבר “המרת” את עצמך ל-Microsoft? . . . .
  • (בנצי) כן . . . . Visual Studio, ה-#C קנה אותי . . . 
  • ודרך אגב - אפשר להבין, אחרי זה הבנתי - מי שכתב את #C זה אותו בחור שכתב את Delphi . . . . 
    • אני לא זוכר את שמו, חלש מאוד בשמות . . . . בחור גאון כנראה, הוא כתב את ה-#C
    • [זה - Microsoft’s Programming Language Czar Anders Hejlsberg: The Interview]
    • וה-Visual Studio פעם היה Customizable, מבחינתי הכלי אדיר . . .  זו הייתה קפיצת מדרגה אדירה של Microsoft, מבחינתי לפחות, אולי אחרים ראו אותם גם לפני זה ככאלה.
  • ומאז אני די “שורץ” ב-#C, למרות שחטאתי גם בדברים אחרים . . .  בצדדים, תוך כדי, אבל . . . .

(רן) אז בוא נעשה רגע Brief קצר ואז נמשיך - דיברנו על הבניין הענק עם הכרטיסים, ואז ככה פיתוח ב-Cobol והיו עוד כמה דברים באמצע, לא נעצור על כולם . . . .
(אורי) . . . שגם אנחנו כבר לא זוכרים . . . 
(רן) . . . ואז הגיע עולם ה-Object-Oriented ו-++C ו-Delphi ועברנו ל-Web, אוקיי . . . Web ו-AJAX - אבל אנחנו לא עוצרים פה, ממש לא. אז התחילו Database-ים גדולים . . . .
  • (בנצי) גם לאורך השנים היו Database-ים . . . בהתחלה, ישר כשסיימתי את הטכניון, אז SQL היה בתיאוריה [עוד בימים הראשונים של ההיסטוריה]
    • נבחנו בתיאוריה על SQL
    • אבל כשהתחלתי לעבוד כבר היו SQL-ים - בהתחלה התחלתי ב-RDBMS, ואז בחברת פז הם קנו SQL וזה היה דבר אדיר . . . 
  • עם השנים נחשפתי . . . אחרי זה הגיעו כל ה-PCs ונחשפנו ל-SQL Anywhere והיה ה-SQL של Oracle וכל מיני . . . .
  • אז גם Database-ים שונים הם מבחינתי שפת תכנות לכל דבר - ה-Database-ים
    • אני מתווכח עד היום עם מתכנתים שאומרים “אני יודע #C וזהו - עזוב-אותי-באמא’שך, אני לא צריך לדעת איך מתכנתים ב-SQL” . . . . אבל זו שפת תכנות, אתה מוציא את אותם דברים, פשוט מסתכל על זה אחרת.
  • אז ה-Database-ים האלה . . . . כמובן שאחר כך, NoSQL, גם נחשפתי ל-NoSQL-ים
  • דרך אגב - באמצע, אחרי שיש Big Data, שהיה לי ב-MyThings, זה מיליוני רשומות בשעה ויכול להיות שאני אפילו ממעיט, היו שם “הררי Data”.
    • אז גם ניתוח באמצעות MapReduce, שזה עוד מונח שחלק גדול מהאנשים לא מכיר בכלל כנראה
    • וטכנולוגיות כמו Hadoop וכאלה, שהיה לי העונג והמזל להתעסק עם זה קצת.

(רן) כן, אז דווקא אני חושב שעולם ה-MapReduce וכו’ - לא מעט אנשים פה מכירים, אבל  Just in case - זה אולי ה-Predecessor של Spark, שהיום הרבה אנשים משתמשים בו, ומנועים אנליטיים של Big Data אחרים שקיימים היום. אז כן . . . 
אבל חטאת גם בעולם ה-Frontend - הגעת לעולם ה-Angular . . . 
  • (בנצי) כן . . .אז קודם כל, ב-Frontend התעסקתי כל השנים פה ושם, אבל באיזשהו שלב, אחרי שהייתי הרבה זמן בחברת MyThings ב-Backend, אז עלה הצורך אצל רכיב מאוד מאוד קריטי בחברה, שלא עבד טוב
    • היה צריך להחליף לו את כל הצורה - והוא היה, חלק גדול ממנו, Frontend.
    • ואז בעצם הכנסתי את ה-Angular לחברה - החברה לא הכירה את זה קודם וגם אני לא . . . Angular.js זה היה
      • אחרי זה רציתי גם להעביר אותו ל-Angular2, מה שנקרא שם, עכשיו זה 5-6  . . .
(רן) ושם כולם נפלו . . . .
  • (בנצי) לא - החברה נפלה . . .  החברה נסגרה ו . . .
  • ואז במקביל גם נכנסתי לעולם ה-Java שלפני זה לא . . . וה-Backend שלנו היה ב-Java
  • אז היו לי עוד 3 שנים שנהניתי בהן, להוביל את הקטע הזה בחברה - להוביל “מהספסל”
    • אנחנו גם מדברים על איך להיות מפתח וכו’ - באותם שלבים בחיים כבר לא הסכמתי להיות גם הראש-צוות . . .
    • אמרו לי “בוא תיהיה ראש הצוות” ואמרתי “לא - יש את הבחור הזה…”, בגיל של הבן שלי אז הוא היה - “…בחור נחמד מאוד, שהוא יהיה ראש הצוות . . .”
      • אני שופך מים על ידיו, מביא לו את הקפה וכותב את הקוד . . . .
(רן) אולי נגיע באמת לנושא הזה, של מה שנקרא Individual Contributor לעומת מנהל אם נספיק - אבל לא סיימנו את המסע הטכנולוגי זה - כי הבטחנו Crypto!  מה עם Crypto? . . . 
  • (בנצי) אז איכשהו בסוף, אחרי שעזבתי את MyThings ועבדתי 5 חודשים באיזו חברה שמאוד רצתה אותי ואני לא נהניתי שם, אז אחרי 5 חודשים דיברתי עם מי שהיה הבוס שלי ב-MyThings והוא שאל “אתה רוצה לבוא אלינו, ל-eToro? זה Crypto, מסחר . . . .”
    • אמרתי שמסחר זה לא מעניין אותי . . . 
(אורי) יואב . . . גם הוא לא בחור צעיר . . . 
  • (בנצי) הוא ילד! בן 63 בקושי . . . והוא אמר “גם אלכס פה” - עוד מישהו שהיה ב-MyThings, אז אמרתי יאללה . . . .אני אבוא.
  • אז אני לא מתעסק במסחר כל כך, בקושי יודע מה זה Crypto, שמעתי על זה - הוא אמר “עזוב - לפתח אתה יודע”
  • אז נכנסתי גם לעולם הזה, של הארנק האלקטרוני, וכן - אני נהנה לעשות שם דברים מול ה-Blockchain-ים
    • אני חייב להגיד - לא ישירות מול ה-Blockchain אלא דרך Provider - אבל עדיין צריך קצת הבנה וקצת דברים כאלה.

(רן) אז אני רואה אותך ככה יושב פה ומדבר על אוסף הטכנולוגיות המרשים, שאני אולי מכיר חצי מהן ומבין רבע . . . ואני שואל את עצמי איך יש לך כזה ברק בעיניים? למה דברים כל כך מעניינים אותך? איך אתה משאיר את עצמך מעודכן? מה גורם לך - עוד אלגוריה אחת - מה גורם לך להזיז את הגבינה של עצמך כל הזמן? זאת אומרת - לא היה לך טוב שם, איפשהו ב-RPG וב-Cobol? למה לא נשארת שם, למה זזת קדימה?
אני אנסח את השאלה קצת אחרת - איך אני, כמפתח שאולי נמצא במקום טוב ונחמד, איך אני משאיר את עצמי מעודכן? זו שאלה עם שתי פנים, שנשמח להתייחסות שלך.
  • (בנצי) אז אני אומר - אני לא יודע אם זה יותר מזל משכל אבל אני פשוט אוהב להנות . . . .
  • אני נהנה ממה שאני עושה, ואם אני לא נהנה אז אני עושה שאני אהנה . . . אם אני מקבל משימה משמימה, ויש כאלה - אז אני עושה אותה מעניינת . . . 
    • כמו שאמרתי - אני מתעצל, אז אני  . . . .קשה לי להסביר, אני פשוט נהנה מזה
    • וללמוד דבר חדש, מבחינתי, זה כיף.
  • גם בתור תלמיד הייתי ילד די מעצבן - כשכולם יצאו לחופש ואמרו “סוף סוף חופש” - אז אני הייתי יושב ופותר את כל התרגילים בספר . . . 
    • לא שהייתי כזה “חננה”, כי תמיד הפרעתי וזרקו אותי מהכיתה - אבל  . . .
(רן) האתגר . . . 
  • (בנצי) האתגר - ותיכף אני אספר על זה עוד משהו, אתגרים שלא קשורים דווקא לתוכנה - אבל כן, אני אוהב אתגרים מהסוג הזה.
  • ואני באמת, גם עכשיו, לאחרונה רק לפני איזה שנה, נכנסתי ל-Kubernetes וה-Docker-ים וה-Container-ים
    • ואני רואה אנשים סביבי שאומרים “די ,נו, מספיק - יש לנו את ה-Jenkins ואת ה-Deployment הרגיל ו-VM-ים, למה אני צריך ללמוד עוד משהו?”
    • ואני אומר “נותנים לך ללמוד -תיקח את זה!” . . . . זה כיף, מה? . . . .יש לך EKS ו-Kubernetes ו-Pod-ים . . . זה ממש מעניין
      • אני נהנה, ואני, גם עכשיו, אומר שהתמזל מזלי, כי אני עדיין קם לפעמים ביום שישי בבוקר, כשאני לא צריך לעבוד - ובא לי רעיון בלילה לאיך לשפר משהו
      • ואני לא מתאפק ובמקום לטפל בגינה כמו שאשתי רוצה, אני  חותך למחשב . . . . 
(רן) דבר ראשון, כשעוברים לבית חדש - קודם כל לעשות אוטומציה לגינה! אוקיי? . . . . זה הלקח שלי, כשיש אוטומציה בגינה אתה פנוי לעשות דברים אחרים.
  • (בנצי) הגינה אוטומטית, אבל האשה לא . . . . 
(רן) למאזינתינו בפודקאסט . . . אז אתה אומר שאתה פשוט אוהב את זה, זה בא לך בלי מאמץ - אתה פשוט אוהב את הלימוד . . . .
  • (בנצי) אני גם אוהב לעשות - אני אוהב לעשות, ואני מתפלא על אנשים שלא אוהבים
  • וכשאני אומר “פתרון בעיות” אז אני אומר שלאחרונה נתקלתי במשהו חדש - לא בתחום התוכנה
    • אני מקווה שזה שומר אותי קצת יותר צעיר וזה . . . .
    • הבן שלי, לפני שלוש וחצי שנים הצליח לגרור אותי, אחרי שנה של שכנועים, לבוא לטפס איתו פעם אחת בבולדר - זה טיפוס Indoor, טיפוס כזה.
  • (אורי) קירות טיפוס . . . 
  • (בנצי) קירות טיפוס . . . ואמרתי לו “נו, באמת - בגילי? מה אני? אני אטפס וזה? . . . 
    • באתי לפעם אחת ניסיון - וחתמתי קבע . . .  ואני מנוי ואני כנראה אטפס שם . . .
    • ואני מטפס שלוש פעמים בשבוע - והם מתייחסים לזה, בטיפוס יש מסלולי טיפוס - מסלול-טיפוס זה לפתור בעיה
    • (אורי) זה משהו מאוד מאוד טכני, כן . . .. 
    • (בנצי) כן - ואתה צריך לפתור בעיה, וזה נחמד מאוד, וזה עוד משהו שאתה עושה
    • ואז באו הסגרים . . . ואי אפשר היה להגיע לבולדר כי היה סגר, אז החלטתי לבנות קיר טיפוס בגינה . . . 
    • (אורי) טיפסת על הקירות . . . .
    • (בנצי) טיפסתי על הקירות . . . קניתי ציוד, בניתי קיר  . . . וזה היה אתגר, פשוט היה אתגר.
    • ואמרתי שאחרי זה אני אמשיך עוד . . .  נגמר, זהו, האתגר נגמר וזהו
      • אבל בניתי, אז אני  . . .
  • (אורי) נראה אותך בנינג’ה בקרוב?
    • (בנצי) כן, כולם שואלים  . . . .
  • (רן) עכשיו, כשנגמרה העונה, ויש לנו כבר את הזוכה של העונה, אז אתה יכול להגיע לעונה הבאה . . . .
  • (בנצי) אני יכול לנקות להם את הרגליים עם הסמרטוט הזה . ..  . אני מסתפק בזה שאני מגיע לבולדר אז כולם, כל הצעירים, אומרים “וואו, הלוואי והייתי מטפס כמוך”
    • ואני אומר “כן, אבל אתה מטפס יותר טוב . . . “ - והוא אומר “לא, כשאני אהיה בגילך” . . .
    • (רן) “למה? בן כמה אני נראה לך? . . . .”

(אורי) רגע, אבל בנצי - אני לא יודע אם אתה כבר בגיל פרישה או לא, אתה כל הזמן פה מסרב להגיד את גילך . . .
  • (בנצי) בן 67 . . . .
(אורי) בן 67, מברוק! הלוואי על כולנו. באמת, אתה לא חייב ללכת לעבוד, נכון?  . . . . אני מתאר לעצמי. האם העבודה שומרת לך על האתגרים, או שהיית . . . כולנו הבנו שאתה בחור שמחפש אתגרים -  האם זה חייב לבוא דווקא מהעבודה, או שאתה יכול היום למצוא לך את הדברים האלה במקום אחר? איך אתה חושב על עצמך, במקום הזה?
  • (בנצי) קודם כל - כן, אני יכול למצוא את הדברים האלה גם במקום אחר - אני אוהב לקרוא, אני יכול לטייל, אני יכול לעשות כל מיני דברים.
  • אבל העבודה מוסיפה לי משהו . . . זה הצורך לפתור בעיות אמיתיות שמישהו ממציא לי
    • כי כשאני קורא - זה לא אתגר גדול, אני מאוד אוהב לקרוא.
    • יש לי חבר שכותב ספרים ורוצה שאני אכתוב איתו - הייתה תקופה שכתבנו בכל מיני מקומות וזה גם יכול לבוא.
    • אבל עצם זה שיש צורך - של מישהו אחר, לא שלי - ואני מצליח לפתור אותו ולפתור אותו בצורה שאני מרגיש שהיא “וואו!”
      • לא אכפת לי מאחרים, בינינו . . . מה אכפת לי מה הם חושבים? 
      • אני חושב שזה “וואו!” ולפעמים גם אחרים חושבים ככה.
    • אז זה נותן לך כיף לקום בבוקר, זה (א)
  • ואנשים צריכים אותך, אנשים מתייעצים איתך - ואתה מרגיש כיף.
  • לפעמים זה מעייף - אז בשביל זה יש חופשה.
  • יכול להיות שאני אוריד משרה באיזשהו שלב, אבל לא קרה . . .
  • לפני 15 שנים, כשעזבתי את פתרון מערכות, שהייתי שם שותף, אמרתי שאני חייב לנוח 
    • הייתי עובד כל יום 12 שעות מינימום
    • אני צריך לנוח, די - “חצי משרה זה מספיק לי”.
  • ואחרי שנה התחלתי לטפס על הקירות . . . אני צריך משרה מלאה, אני לא יכול . . . 
    • אני צריך אתגרים רציניים ולא כפרילנסר, עם כמה פרויקטים פה ושם.
    • לי זה נותן . . .
  • ושאלו אותי האם אני מתכוון לפרוש - לפני שבועיים מלאו לי 67 ובחברה שאלו אותי “אתה מתכוון לפרוש?”
    • אמרתי “אל תבנו על יותר מ-10 שנים” . . . .
  • בינתיים כן - כל עוד כיף לי והעבודה מעניינת אז אני נשאר.
(רן) איזה כיף לשמוע את זה.

הייתי רוצה לדבר על עוד איזשהו נושא אחד, נעשה אותו ככה קצת יותר קצר - הזכרת לא מעט שגם היית בפוזיציות ניהוליות, וגם שהיתה לך חברה שהיית שותף בה - והיום אתה לא. באיזשהו שלב באת ואמרה “שמישהו אחר יעשה את זה”. אני מתאר לעצמי שהרבה מאוד אנשים נמצאים בדילמות האלה - האם, נקרא לזה “להתקדם לניהול”, שזה לא בהכרח קידום אבל הרבה אנשים רואים זאת כך, ואיך זה הולך להשפיע על הקריירה שלי.
רציתי לשאול אותך איך אתה, בדיעבד, רואה את בחירות הקריירה שלך, והאם אתה יכול לחלוק טיפים למי שעדיין נמצא בהתלבטויות כאלה?
(אורי) יש  לנו הזדמנות נדירה לקבל פרספקטיבה אחורה על ניהול קריירה . . . .
  • (בנצי) כנראה שזה באמת עניין של התאמה אישית - יש אנשים שמתאימים להיות מנהלים, ויש כאלה שפחות.
  • אני באמת רציתי . . . בעיקר רציתי להוביל בניהול כי חשבתי שאני מסוגל להביא פתרונות טובים ואז להוריד למטה מעטפת
    • שאנשים אחרים יבצעו רעיונות טובים
    • (אורי) רעיונות שלך . . . 
  • (בנצי) ועשיתי את זה בפתרון מערכות, שהייתה חברה שבה הרבה פעמים תכננתי מערכות ויצאו שם מטעמים.
  • חשבתי שאני מתאים להיות . . . אני ראיתי את מנהל הפיתוח, ראיתי בעיקר כלתכנן את העבודה, ולא את האנשים.
    • ומסתבר . . . זה בא תמיד עם אנשים, ואת זה אני לא כל כך אוהב . . . . אני לא יודע, משום מה.
    • גם בצבא - הייתי קצין, ובאיזשהו שלב נמאס לי להתעסק עם הבעיות של החיילים, רציתי לבצע את המשימה.
      • אני אוהב לנהל את המשימה, לא את האנשים
  • וירדתי והייתי ראש צוות - והרגשתי שזה בעצם סתם מפריע לי להינות, ואני רוצה בשארית חיי להינות . . . .
  • אז אם אני נהנה מתכנות ולא מלדווח כל הזמן כלפי מעלה על כמה זמן זה לקח וכמה זמן זה לוקח . . . 
    • יש לי מספיק את המשימה שלי שאני צריך לדווח עליה ויש לי מספיק אחריות, כן?
    • אבל הבעיה זה לא האחריות - הבעיה היא להיות אחראי על אנשים אחרים ותוצרים אחרים ולהגיד “למה את עכשיו יוצא לחופשה? למה אתה לא עובד עד 10 בלילה?” . . . . - זה לא מתאים לאופי שלי.
(אורי) האמת שלי לקח המון זמן להבין כמה דברים על ניהול . . . . קודם כל, יצאתי מתפקידים, נגיד בצבא, שאמרתי לעצמי “אני לא רוצה יותר בחיים לנהל אנשים” . . . . אחרי זה הבינו שכדאי שאני אנהל ושאני לא אפתח, אבל לקח לי המון המון שנים להבין שבניהול אתה לא צריך להביא את הפתרונות, אתה צריך לשאול את השאלות הנכונות, לאתגר את האנשים בצורה נכונה, לכוון את האתגר אליהם - ואם יש לך את האנשים הנכונים אז הם יבואו עם הפתרון.
(רן) זה נכון - אבל מה שבנצי אומר זה שהוא אוהב לעשות את העבודה הזאת, של הפתרונות . . .
  • (בנצי) היו מקרים לא נעימים . . . מקרה אחד היה מובהק, שחברת MyThings לקחו צוות מבלארוס, והיה לנו Deadline אדיר מול  . . . היינו צריכים להציג משהו ב-FBI, בארה”ב - ואני ראיתי שהם לא עומדים בלוח הזמנים
    • ואמרתי “אי אפשר” - אז אמרו לי “אז שהם יכשלו” . . . .
    • אמרתי “אין דבר כזה” . . . . פשוט פיתחתי את הכל לבד, פשוט זרקתי אותם.
      • כי ראיתי - הם קילקלו גם קוד שכבר כן תרמתי להם קצת . . . 
    • פשוט עזבתי את כל העבודה שלהם הצידה ועוד בדרך לארה”ב, בדרך לועידה, השלמתי את הקוד - והיינו מוכנים לשם.
    • ואם לא, פשוט לא היינו עומדים בזה - ואני לא מסוגל לזה.
    • ואני מכיר באמת מנהל טוב - “העולם יכול ליפול ואני לא כותב את הקוד . . .  שמישהו אחר יכתוב את הקוד”.
(רן) כן, אבל בעצם אתה בא ואומר “זה גדול ממני, זו לא בחירה שלי - זו בחירה שהיא כבר טבועה ב-DNA שלי” . . . דיברנו מקודם על איך ללמוד ואיך להתפתח, ואתה אומר “היה לי מזל . . . . אני פשוט אוהב את זה, אז אני לומד”. וגם פה אתה בא ואומר “ניסיתי ניהול, ראיתי שאני פחות אוהב את זה - וחזרתי להיות מפתח מן השורה ופה אני פורח”. בעצם המסר שלך הוא בואו - תכירו את עצמכם, תבינו מה אתם אוהבים, תעשו את מה שאתם אוהבים - ואז גם תעשו את זה הרבה יותר טוב.
  • (בנצי) קודם כל, כשאנשים צעירים שואלים אותי מה לעשות, אני אומר “תעשה משהו שאתה אוהב לעשות, כי אם לא אתה תסבול כל החיים” . . . 
    • רוב הזמן שלנו זה עבודה, אז כדאי שנהנה מזה  . . .
  • אני מכיר אנשים שבאמת עשו מהפך - ומתכנות עברו ליצירת תכשיטים, וזה כיף להם
    • אז זה מצויין, אם הם נהנים מזה.
    • אני נהנה מפיתוח אז  . . .
  • ויש מנהלים - ואני מכיר מנהלים שהם טובים בניהול באמת - והם לא מתרגשים מזה, או מתרגשים פחות - אם זה לא עומד בלוח הזמנים.
    • אם הם נכנסים לפאניקה אז הם כנראה מנהלים פחות טובים וכו’.

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

 האזנה נעימה ותודה רבה לעופר פורר על התמלול!

אין תגובות:

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