מה מפתחים יכולים ללמד את עצמם על סיכון פיננסי
ניפוי שגיאות (Debugging) במערכת מרגיש כמו ניהול סיכון פיננסי.
בתוכנה, אפליקציות לא נשברות ללא סיבה. תלות (dependency) נכשלת. גרסה של ספרייה משתנה. פקודת timeout מופעלת תחת עומס תנועה כבד.
עולם הפיננסים עובד באותו אופן.
אנשים משתמשים במילים רגשיות כמו פחד או פאניקה כדי לתאר סיכון. רוב הסיכונים האמיתיים הם משעממים. הם תלויות נסתרות או הנחות יסוד חלשות. מערכת נראית יציבה עד שחלק אחד משתנה.
כסף עובד באותו אופן. התקציב שלך נראה בסדר עד שמקור הכנסה נעלם. התלות תמיד הייתה שם. היא פשוט הפכה לנראית לעין.
מפתחים שואלים שאלות לא נוחות:
- מה יקרה אם השירות הזה יקרוס?
- מה אם מסד הנתונים יינעל (locks)?
- מה אם ההנחה הזו עובדת רק בסביבת staging?
השאלות הללו בונות אמינות.
בפיננסים, אנשים שואלים לעיתים קרובות: "האם הנכס הזה יעלה?"
השאלה הזו מדלגת על שלב. במקום זאת, שאלו על מה ההחלטה שלכם תלויה. מה חייב להישאר נכון כדי שזה יעבוד?
אם חברה מסתמכת על לקוח אחד, זהו סיכון. הגרפים עשויים להיראות טוב, אך המבנה חלש. בתוכנה, לוח בקרה (dashboard) ירוק לא אומר שאין מקרי קצה (edge cases). זה לעיתים קרובות אומר שמקרה הקצה פשוט עוד לא קרה.
אוריינות פיננסית היא לזהות מקרי קצה לפני שהם הופכים ליקרים.
אי אפשר לחזות הכל. השווקים מבולגנים ולמזל יש תפקיד. אבל אפשר לשאול שאלות טובות יותר.
חפשו את נקודת הכשל היחידה (single point of failure).
טעויות פיננסיות רבות מתחילות בביטחון מושאל. גרף נראה טוב. שרשור (thread) הופך לוויראלי. הסיכון מרגיש קטן כי הרבה אנשים אומרים את אותו הדבר.
מפתחים מכירים את הדפוס הזה. ספרייה הופכת לפופולרית, אז כולם משתמשים בה. פופולריות אינה חוסן (resilience).
אי אפשר לבטל סיכון. לכל בחירה יש trade-off (מחיר). המטרה היא להבין את הסיכון שאתם לוקחים.
אל תפרסמו (deploy) קוד מבלי לדעת מה עלול להיכשל. החילו את אותה הלוגיקה על הכסף שלכם.
הפסיקו לשאול: "כמה זה יכול להרוויח?" התחילו לשאול: "מה יכול לשבור את זה?"
Source: https://dev.to/azaleakuts/what-developers-can-teach-themselves-about-financial-risk-1n8m
Optional learning community: https://t.me/GyaanSetuAi