#74 פוסט-טראומה

לאן נעלמתי בחודשים האחרונים? האם אני באג או פיצ'ר? מה עושים הרופאים כשהם לא מצליחים למצוא Root-Cause לבעיה? ומה נסגר עם המדבקות? פוסט רבע מצחיק על על הדמיון המפחיד שבין עולם הרפואה לפיתוח תוכנה.

אז זהו. אני שוב פה איתכם. איתכם, אבל לא בכל מאת האחוזים. איזו חתיכה קטנה ממני כבר לא איתי. בקיצור, עברתי ניתוח לא פשוט, ואני כבר לא מאה אחוז. פתחו את הבטן, חתכו, הוציאו משהו החוצה וסגרו חזרה. ממש "ולא נודע כי בא אל קִרְבּוֹ" (או במקרה שלי, יצא מקִרְבּוֹ…). חתיכת טראומה. אך הסירו דאגה מליבכם, אין בכוונתי להיכנס לפרטים. רק רציתי להסביר לאן נעלמתי…

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

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

אני לא פיצ'ר, אני באג.

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

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

הפרוסס! הו, הפרוסס!

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

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

סטטוס: Under Investigation

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

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

השחזור הגואל

למזלי הרב, הבעיה הרפואית שלי הייתה מהסוג הידוע כ"שחרזדה", כלומר משתחזרת באופן קבוע, עקבי, וכואב. כך שלצוות הרפואי לא היו תירוצים, והם התחילו לעבוד ברצינות למצוא את ה Root-Cause (כלומר הסיבה, למי שלא מתמצא בהייטקיסטית מדוברת).

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

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

באמת, טוב שאנחנו לא רופאים.

איך זה נגמר? Re-Factoring

הביאו את כל המומחים, וצילמו, ובדקו ועשו קוד-רוויו לכל האזורים החשודים, ובסוף לא מצאו את הסיבה, ולא הבינו מה באמת קורה. אבל העסק עדיין קורס. אז עשו כמעשה ההיי-טק, וקודם כל קבעו ישיבה. שם באופן די מפתיע הגיעו למסקנה שצריך לעשות re-factoring (בנייה מחדש, למי שלא…). פשוט החליטו לזרוק את כל המודול שעושה בעיות, ולנסות להסתדר בלעדיו עם כמה תפירות מסביב. כמו בפיתוח תוכנה, מתברר שלפעמים יש חתיכות שלמות בגוף ו/או בקוד, שמרוב שהן לא מתוחזקות ולא מטפלים בהן כמו שצריך, עדיף פשוט להיפטר מהן ולנסות דרך אחרת. יש לזה מחיר לא פשוט, אבל לפעמים אין ברירה. ממש ללכת בלי ולהרגיש בלי (אבל גם קצת בלאי).

איך זה התחיל?

במבט לאחור, המכונה בהיי-טק "רטרוספקטיבה", די ברור שהבאג בבטן שלי בילה שם לא מעט זמן. כמו כל הבאגים האיכותיים שפורצים לחיינו ולתוכנתנו כרעם ביום של בִּילְד, גם הבאג הזה נבע מרשלנות ובעיקר מהרבה קומבינות, "סמוך" וקיצורי-דרך שכל-כך מקובלים במגזר ההיי-טק המזרח-תיכוני. זה לא שאנחנו לא יודעים מה צריך לעשות ואיך לעשות את זה נכון, ויציב ומתוחזק. יודעים טוב מאוד, אבל למי יש כוח וזמן סבלנות לעשות יוניט-טסטינג אמיתי, או לתעד באופן רציני, מה גם שזה הרבה פחות כיף. בדיוק כמו שזה ממש פחות כיף לא לאכול סוכר וקמח לבן. והבאג, כמו הבאג הפולני, יושב לו שם בחושך, בשקט. מתפתח לאיטו, עד שכל העסק מתפוצץ בתזמון מושלם, דהיינו באמצע דמו בשידור חי לכל העולם (דוגמאות כאן).

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

15 תגובות בנושא “#74 פוסט-טראומה

  1. אודי,
    רפואה שלמה, בריאות טובה !
    ותמשיך לעניין ולהצחיק אותנו בפינת הקפה המקסימה שלך 😊
    יונתן

    Liked by 1 person

כתוב תגובה לאודי הרשקוביץ לבטל