
לבחור בטכנולוגיה משעממת: המאמר של דן מקינלי על אסימוני חדשנות
מאמר מ-2015 מאת דן מקינלי טוען שלכל חברה יש כשלושה "אסימוני חדשנות", שיש לבזבז אותם בזהירות תוך העדפת כלים שאופני הכשל שלהם כבר מוכרים היטב. במקום לרדוף אחרי כל דבר חדש, עדיף לשמור את החדשנות לבעיות שבהן היא באמת הכרחית.
שלושה אסימוני חדשנות
במאמר שפורסם ב-30 במרץ 2015 מציע דן מקינלי מודל תקציבי פשוט: לכל חברה יש כשלושה "אסימוני חדשנות", והמלאי נשאר קבוע לאורך זמן רב. בחירה ב-Node.js עולה אסימון אחד; כך גם MongoDB, או טכנולוגיית גילוי שירותים שגילה פחות משנה. לכתוב מסד נתונים משלך, הוא מוסיף, זה כבר צרות. בחירות כאלה יכולות להיות הגיוניות לחברת ייעוץ JavaScript או לחברת מסדי נתונים, אבל רוב הצוותים מנסים להמציא מחדש את המסחר או את התשלומים, והקדשת תשומת לב דלה לחדשנות בתשתיות היא דרך טובה להיכשל — או לפחות לעכב את ההצלחה. אסימונים נוספים עשויים להגיע אחרי תקופת יציבות, אך צוותים נוטים להעריך יתר על המידה את תכולת הארנק שלהם.
משעמם אינו רע
המאמר מקפיד עם המילה עצמה: אין לבלבל בין "משעמם" ל"רע". יש טכנולוגיה שהיא גם משעממת וגם גרועה, ואין סיבה להשתמש בה. אבל MySQL, Postgres, PHP, Python, Memcached, Squid ו-Cron הם משעממים וטובים מספיק. מה שהופך אותם לבעלי ערך אינו רק שהיכולות שלהם מוכרות היטב, אלא שאופני הכשל שלהם מוכרים. מקינלי מפריד בין "לא ידועים ידועים" — "אנחנו לא יודעים מה יקרה כשמסד הנתונים הזה יגיע ל-100% CPU" — לבין "לא ידועים לא ידועים" — "לא עלה בדעתנו שכתיבת סטטיסטיקות תגרום להשהיות GC". שתי הקבוצות כמעט אינן ריקות, אפילו בטכנולוגיה בת עשורים; בכלים חדשים ומבריקים הקבוצה השנייה גדולה בהרבה.
לבצע אופטימיזציה גלובלית
בחירות טכנולוגיות אינן מתרחשות בבידוד, הוא כותב; הטווח שלהן נוגע בכל הצוות ובמערכת שנוצרת מהסכום שלהן. הוספת טכנולוגיה גוררת "תפעול" ו"עומס קוגניטיבי": מישהו צריך לנטר אותה, לבדוק אותה, לכתוב לה סקריפט אתחול. חשיבה של "הכלי הטוב ביותר למשימה", לפי קריאתו, לוקחת מבט קצר-רואי על שתי המילים — המשימה היא להשאיר את החברה בעסקים, והכלי הטוב ביותר הוא זה שתופס את העמדה ה"פחות גרועה" עבור מספר הבעיות הגדול ביותר. לשמור על מערכת אמינה לאורך זמן, הוא כותב, עולה הרבה יותר מהאי-נוחות שפוגשים בזמן בנייתה.
להוסיף משהו חדש — במכוון
טכנולוגיה חדשה עדיין נכנסת לארגז הכלים לפעמים, ומקינלי מציע שיחה ולא איסור: להוספות יש השפעות ברמת החברה כולה, ולכן נדרשת נראות ברמת החברה כולה. התרגיל הראשון הוא לשאול איך ייפתר הבעיה המיידית בלי להוסיף דבר — שאלה שחושפת גם מקרים שבהם ה"בעיה" האמיתית היא שמישהו רוצה לנסות כלי. הגירות צריכות לבוא עם מחויבות ברורה ולוח זמנים, כדי לא לצבור פתרונות אופטימליים מקומית. Etsy מספקת גם דוגמה מזהירה וגם דוגמה מעודדת: שכבת ביניים מוקדמת ב-Python שנדרשו שנים לקטוע אותה, ופידי פעילות שרצו שנים על PHP, MySQL, Memcached ו-Gearman וגדלו פי 20 בזמן שאף אחד לא הסתכל — כי הפלטפורמה הייתה משותפת.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.