App.js ריק וסמן מהבהב מרגישים כמו פוטנציאל טהור. ללא מגבלות. ללא קוד תבניתי (boilerplate) שאומר לכם מה לעשות. אבל הקנבס הריק הזה אינו חופש. הוא הזמנה פתוחה לבנות מחדש את היקום מאפס.
מס המסך הריק
מתחילים פרויקט עם כלום מלבד קומפיילר ועורך טקסט. היום הראשון מרגיש חשמלי. אתם בוחרים את מבנה התיקיות, מוסכמות השיום (naming convention), ואת גוון האפור המדויק לכפתורים מושבתים. ביום השלישי, ההתרגשות דועכת והעבודה האמיתית מופיעה.
אתם מבינים שבניית רשימה פשוטה אינה עוסקת בכתיבת פונקציית map. אתם צריכים להחליט איך ייראה השלד בזמן שהנתונים נטענים, האם הוא יפועם או יחליק, וכמה זמן אמור להימשך העיכוב לפני שהוא יופיע בכלל. אתם צריכים להחליט מה קורה כשהרשת נכשלת באמצע הגלילה. האם כדאי לנסות שוב אוטומטית? להציג כפתור? לשמור את הדף הקודם בזיכרון מטמון (cache) לנצח? אתם צריכים להחליט איך שני פילטרים פעילים מקיימים אינטראקציה, ואיך נראה מצב ריק (empty state) כאשר השילוב הזה מחזיר אפס תוצאות. אתם אפילו צריכים להחליט מה המשמעות של "אפס תוצאות" עבור המשתמש שלכם.
אלו הן בעיות של פורמליזציה. הפיכת קונספט מעורפל להתנהגות ספציפית, עקבית וניתנת לשחזור היא החלק הקשה ביותר בבניית תוכנה. הקוד עצמו הוא רק התמלול של הבחירות הללו. זו הסיבה שהתאמה אישית אינסופית אינה פיצ'ר. היא מס, והחשבונית מגיעה בצורה של החלטות-מיקרו שמצטברות מהר יותר ממה שאתם מצפים.
החלטות שממשיכות לגבות מחיר
התייחסו לכל בחירה ארכיטקטונית כמו למנוי. אתם משלמים את התשלום הראשון כשאתם כותבים את המימוש הראשוני. לאחר מכן אתם ממשיכים לשלם, חודש אחרי חודש.
אתם משלמים כשמהנדס חדש מצטרף ושואל מדוע בחרתם בלוגיקת ניסיון חוזר (retry logic) מותאמת אישית על פני ספרייה סטנדרטית, ואף אחד לא זוכר. אתם משלמים כשעדכון דפדפן שובר מנגנון טיפול במגע (touch handler) שנכתב מאפס, כי אף אחד לא תיעד מדוע סף הרגישות נקבע לארבעים ושמונה פיקסלים. אתם משלמים כשעדכון אבטחה מאלץ אתכם לבצע refactor לזרימת האימות (authentication flow) המותאמת אישית שלכם, כי היא מעולם לא לקחה בחשבון rotation של refresh tokens.
אם דבר לא מוחלט עבורכם, הכל הופך לבעיה שלכם. החופש לבנות בדיוק את מה שאתם רוצה אינו ניתן להפרדה מהנטל של הבעלות עליו לנצח. אתם הופכים לסמכות היחידה על תבניות שהתעשייה כבר פתרה לפני שנים. אתם מבזבזים את שעותיכם על תחזוקת היסודות במקום על בניית הבית.
בינה מלאכותית, מלכודת המהירות
הבינה המלאכותית הופכת את הדינמיקה הזו למסוכנת יותר, לא פ
