[קישור לקובץ mp3]פרק מספר 457 של רברס עם פלטפורמה - הוקלט ב-2 במאי 2023.אורי ורן מארחים בכרכור את
גדעון מחברת
Redis לשיחה על Technical Debt -
אחד הנושאים שקרובים לליבנו ומדי פעם אנחנו חוזרים אליו, אבל ב-Context
של
Redis.
Technical debt, image by Midjourney
00:58 גדעון ו-Redis(רן) אז לפני שנצלול לשם - כמה מילים עליך,
גדעון?
- (גדעון) בן 48, גר בתל אביב, יש לי שני ילדים
- אני בתחום הזה עשרים-וכמה שנים, לא נדייק את זה . . . .
- במקור, קיבלתי את המקצוע בממר”ם, אחר כך . . .
(אורי) בתחום החובות הטכניים? . . . אתה גובה?
- (גדעון) אני גובה . . . גם מייצר חובות וגם סוגר אותם.
- . . . ובמגוון חברות סטארטאפ במשך עשרים שנה בערך
- ואחר כך הגעתי ל-Redis, רציתי משהו טיפה יותר “מיושב”.
(רן) כמה זמן אתה ב-
Redis, בעצם?
- (גדעון) אני ארבע-וקצת שנים ב-Redis.
(רן) אוקיי . . . כמה מילים על
Redis?
(רן) כן, אז בגדול זו חברה שמייצרת Hardcore Infrastructure, דאטאבייסים . . .
- (גדעון) זה העולם שאני אוהב, כן.
(רן) כמה עובדים בחברה? כמה מפתחים בחברה? זה יהיה רלוונטי להמשך השיחה, אז בואו נכיר . . .
- (גדעון) בחברה יש 800-וקצת אנשים, לא זוכר את המספר בדיוק,
- והפיתוח - אנחנו 200 איש, שזה נגיד 80-90% מזה זה מפתחים, אז 180 . . .
(רן) אוקיי . . . .(אורי) והרוב עובדים על המוצר
Enterprise? או . . .
- (גדעון) הרוב המכריע עובדים . . . ה-R&D אצלו מחולק ל-Core ו-Cloud
- כשבעצם ה-Core - שזה החצי שלי של ה-R&D - הוא בעצם בונה מוצר שהוא גם Deployed ב-Cloud שלנו
- וגם יש לנו שת”פים עם Microsoft ו-Google, אז גם שם
- ויש גם ללקוחות On-Prem וגם ללקוחות Kubernetes . . . .
- אז זה ה-Core, והוא הולך לכל המקומות.
- וחוץ מזה יש לנו את ה-Cloud unit, שבעצם עושה את כל ה-Deployment של הדבר הזה בענן.
(אורי) אוקיי.
03:13 “תייבש Tech-Debt מספיק זמן - והוא הופך ל-Roadmap item”(רן) אז נהוג לחשוב, או לפחות יש כאלה שחושבים, ש-Technical Debt זה נושא שמאוד מאוד חשוב למהנדסים, מאוד אוהבים “ללטף את הקוד”, מאוד אוהבים שיצא להם “קוד יפה”,
לא אוהבים “להיות בחוב”. ומאידך אנשי המוצר, אנשי ה-Business - פחות . . . . זה מעכב את ה-Deadlines, הם לא רואים את הערך בכך. וזהו, והקונפליקט הזה קיים, אני מניח, בהרבה מאוד חברות.רציתי לשמוע מה הטייק שלך על הנושא הזה - זאת אומרת, איפה נתקלת בקונפליקט הזה לאחרונה, או איזושהי אפיזודה מעניינת שנתקלת בה . . . איך הוא “הרים את ראשו” ואיך התקדמתם לפתרון של זה?
- (גדעון) אז קודם כל, אני חושב שהוא תמיד קיים - ואני חושב שאם הוא לא קיים אז זו בעיה, אז הוא צריך להיות קיים, כדי לאזן את האינטרסים האלה.
- הוא מופיע כל הזמן, ואני חושב שאם הוא . . . הוא לא חייב להיות Manifested כקונפליקט - זה כזה “משיכת חבל”, משני הכיוונים.
- אני מנסה לחשוב על איזה סיפור ככה דרמטי לגבי קונפליקט . . . אני יכול להגיד שהרבה פעמים מייבשים . . . ה-Product “מייבשים” כל מיני פרויקטים ב-R&D, ובדרך כלל יש לזה . . . .
- זאת אומרת, תייבש Tech-Debt מספיק זמן - והוא הופך ל-Roadmap item . . .
- הוא יהפוך למשהו שאתה חייב לעשות - וחייב לעשות אותו דחוף.
- היה לנו סיפור כזה לאחרונה, לא רציתי להתחיל עם הסיפור הזה, אבל. . .
(רן) אפשר להתחיל עם משהו אחר . . .(אורי) יאללה . . . המאזינים שלנו כבר לא יכולים לחכות . . . .
- (גדעון) לא, לא, זה דווקא סיפור טוב - אני מאוד גאה בצוות שלי על מה שהוא עושה שם, אבל . . .
- אז היה לנו - יש לנו - מוצר, יש לנו מוצר שה-Control Plain שלו כתוב ב-Python.
- הוא נכתב במקור ב-Python 2.0 - המוצר קיים כבר 10+ שנים.
- ואמרנו כל הזמן “צריך לעבור ל-3.0 - שתיים, מתישהו יהיה End of Life”
- ו-”שתיים - שבוע הבא End of Life” ו-”שתיים שבוע שעבר ה-End of Life” ו-”לפני שנתיים ה-End of Life” . . . . - ועדיין לא עברנו ל-Python 3.
- וככל שהזמן עובר, המחיר נהיה יותר גדול - המחיר של לנהל מוצר ב-Python 2.0 נהיה יותר גדול
- ולכן גם הפרויקט נהיה יותר ויותר גדול, ויותר ויותר דרמטי, ולכן אף אחד לא רוצה . . .
- המחיר שצריך לשלם פה - הוא ניהיה יותר ויותר גדול.
- ואז בסוף, מגיעים לקוחות ואומרים “אנחנו חייבים את הדבר הזה . . . אנחנו לא מוכנים לקנות מכם מוצר, אתם עובדים עם טכנולוגיה מיושנת שהיא End of Life עם Security Vulnerabilities - צריך להיפטר מהדבר הזה”.
<li