לנוח בין התווים

יום שני, 12 באוקטובר 2026

לפני כמה זמן צפיתי בסרטון של הרצאה שנשאר איתי הרבה יותר זמן מהרגיל. קנט בק (Kent Beck), מי שיצר את Extreme Programming והפיץ את TDD בכל העולם, נתן את ההרצאה הזאת ב-Prodacity 2026, והכותרת שלה הייתה 'Software Engineering in the Age of AI'. ההרצאה עסקה בשאלה מה זה אומר לבנות תוכנה טובה עכשיו, כש-AI כותב חלק גדול מהקוד. מתוך הרצאה של קצת יותר מ-52 דקות, מה שהכי דיבר אליי היו שתי מילים ואנקדוטה קצרה על צ׳לן אחד.

קנט בק הסביר את פיתוח התוכנה דרך שני צירים: features ו-futures. האחד הוא הפיצ׳רים שאנחנו מממשים, והשני הוא האפשרויות שיש לנו לשנות את התוכנה הזאת בהמשך, כלומר המרחב לשינוי (optionality). לפי ההסבר שלו, פרויקט מתחיל בלי אף פיצ׳ר אבל עם אינסוף אפשרויות, ובכל פעם שמממשים עוד פיצ׳ר, ה-futures מצטמצמים. ואם ממשיכים רק לערום פיצ׳רים, הוא אמר, בסוף מגיעים לתוכנה מתה, שה-futures שלה עומדים על 0 וכבר קשה לגעת בה בכלל.

הגרף של features ו-futures שקנט בק צייר בדקה 25:45 של ההרצאה. בקו האדום רק עורמים פיצ׳רים, ובקו הירוק עוברים הלוך ושוב בין פיצ׳רים לעשיית סדר (מקור: ערוץ ה-YouTube של Rise8)

במובן מסוים, זה משהו שהרגשתי על בשרי בעבודה כמהנדס לאורך השנים: כמה ריפקטורינג חשוב. גם באמצע פיתוח של פיצ׳ר עשיתי במקביל ריפקטור לחלקים שאפשר היה לשפר, וגם כשנשאר לי רגע פנוי לפני שהתחלתי את הפיצ׳ר הבא, מבחינתי זה היה זמן לריפקטורינג. אבל חשבתי שמאז שהתחלתי לבקש מה-AI לכתוב לי את כל הקוד מההתחלה ועד הסוף, איפשהו בדרך פספסתי את ה'זמן לריפקטורינג'. כשאני מפתח פיצ׳ר אני לוקח בחשבון כל מיני סוגים של harness (מנגנונים שמתקנים את העבודה של ה-AI, כמו טסטים, lint, hooks, פרומפטים שמגדירים אילוצים וסוכני אימות), אבל גיליתי שאני לא עושה 'עבודה של ריפקטורינג בלבד'.

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

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

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

רצתי בלי לעשות סדר, והעקבות של זה לא היו רק בקוד. גם ב-MacBook שלי הם נשארו בלי שנגעתי בהם. הייתי מוצף בעבודה במשך תקופה, וכשזה נגמר ונוצר לי קצת זמן פנוי, היו דברים שרואים רק כשעוצרים. פה ושם נערמו git worktrees וקונטיינרים של DB שלא הספקתי לסדר, והמקום הפנוי בדיסק הלך ואזל. אם הייתי קופץ ישר למשימה הבאה, יכול להיות שבשלב מסוים המקום הפנוי היה יורד ל-0 והכול היה נעצר. רק אחרי שמחקתי אחד אחד את כל מה שהצטבר, היה ל-MacBook שוב מקום לקבל את המשימה הבאה. אפשר לומר שככה גם ה-futures של ה-MacBook שלי חזרו קצת.

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

הזריחה בסוגוויפו

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