שלום חברים מהן תכונות האופי של המתכנת? האם העובדה שפלוני הוא מתכנת, ועוסק בתחום אומר משהו על האישיות שלו? יש תכונות שסותרות אחת את השניה כפי שנראה בהמשך, לפעמים על המתכנת לעשות בחירות קשות.
חכמה וגאונות
מרגלא בפומיה דיוסיף ג'וגאשווילי, לקרוא לאצולת ההנדסה לענפיה וסוגיה בשם "האינטליגנציה הטכנית". עד להופעת ענף התוכנה איש לא חשב לתאר את המהנדס כאיש "חכם" אלא כאיש "מוכשר". משהתפתחו ענפי המחשבים והתוכנה, החלו לצוץ פתאום "גאונים", והילה של "חכמים" אופפת את האנשים הנעלים והנאצלים שהעפילו לגדולה זו של תיכנות.
ובכן, נכון שבתחום התוכנה - אולי יותר מכל מקצוע טכני אחר שהאנושות המציאה, יש מקום רב לגאונות, ולרב מימדיות של כשרונות, ואפילו מקום לחכמה במידה מסויימת. מה שמעניין במקצוע הזה, שהפערים בין המתכנתים יכולים להגיע לסדרי גודל של פי אלף ואלפיים אם לא יותר, לפעמים זה גם מדיד (כלומר אם מודדים את זה למשל בתפוקת עבודה, יש עבודה שמתכנת אחד בחכמתו עושה משהו במקום 100 מתכנתים, במונחים של שעות עבודה). אולם רוב רובם המוחלט של המתכנתים, הם אנשים לא חכמים בלשון המעטה, כשאתה מנסה לפתח איתם שיח כלשהו בנושא אחר, הם מגלים פאנטיות ו/או טמטום כמו רוב האנשים ברחוב. ולכן כל מתכנת הוא בחזקת מטומטם כמו כל אדם, עד שיוכח אחרת.
יושרה ונאמנות
באנשים העוסקים בפיננסים, פרסום, ומכירות, (וכן אנשי צווארון כחול כגון אינסטלטורים טכנאי מחשבים וכדומה) דבק כמעט באופן אוטומטי תואר של נוכלים. אצל אנשים מתחומים הומאניים דבק תואר של הזויים ותלושים מהמציאות. אצל האנשים העוסקים במקצועות מדוייקים יותר אנשים נוטים לייחס יושרה ואמינות. יש בזה משהו הגיוני, קשה נפשית למהנדס או כימאי להיות שקרן, זה סותר את עצם המקצוע שלו. אולם כפי שנראה להלן, מתכנת מוצא את עצמו הרבה פעמים מול דילמות קשות. כי לפרנסתו הוא עובד מול לקוח, או אצל איזה בוס, ולא פעם יש לחצי תקציב ולוחות זמנים, הפתרון במקרה זה הוא פשוט לחפף, ולוותר על חלקים שלא קריטיים לתפקוד המערכת, כגון אבטחה, איכות הקוד, בדיקות, ביצועים למקרים של עומס, וכדומה. המתכנת מוצא את עצמו מול דילמה של אוי לי אם אומר אוי לי אם לא אומר. אם אומר לבוס או ללקוח, שהנושא הזה בעייתי, זה יהרוס את היחסים איתו. מצד שני אם לא אומר, זה הרי ידפוק אותו בעתיד. תרשו לי לנחש מה ההכרעה ברוב המקרים......... בעצם זה אומר שמתכנת ברוב המקרים הופך להיות נוכל בעל כרחו, ומכאן המדרון חלקלק.
גם חברות גדולות שהתחילו עם סוג של טיקט של יושרה (כגון גוגל) כלפי המשתמש, הפכו להיות מפלצות מהר מאוד, וזה בשם התחרות וכו', לא ממש משנה מה הסיבה, בסוף זה נוגע ללחצים כספיים.
אידיאולוגיה
מתכנתים נוטים להיות אידיאולוגים בקוד (שמעתם לא פעם על מישהו שנאבק עם הקוד על 100ms?), בבחירות שלהם, ובשיטות העבודה. דבר זה מטריף את הלקוחות בהרבה מקרים. וזה טריגר נוסף לאיבוד היושרה שדיברנו עליו לעיל. כי מי שכופתים אותו לזנוח את האידיאולוגיה שלו לטובת הלקוח, למה שלא יזנח אותה לטובת עצמו?
דיקטטורה
מחשב, כמו כל חוקי הטבע, הוא דיקטטור. אם משהו לא עובד, אתה נכנס למחנה עבודה בכפייה עד שהדיקטטור יהיה מרוצה. קראתי פעם שמהנדסים יש להם סיכוי של פי 17 להצטרף לארגון קיצוני. לכן מתכנתים נוטים בהרבה מקרים להפגין סוג של דיקטטורה, והם לא סובלים ויכוחים עם הלקוחות, ולא "פשרות" ולעשות "צעד לקראת" מהסוג המקובל בעולם העסקים, בפרט שהם מוצאים את עצמם חסרי כל שפה מול הלקוחות. כמובן שגם הנושא הזה נשחק בעקבות הרצון בפרנסה ללא מלחמות ובזבוז אנרגיה.
דחיית סיפוקים
ככל שיכולת דחיית הסיפוקים שלך ירודה, כך אתה מתכנת גרוע יותר, לא צריך להסביר לאף אחד מהפורום כאן למה. האם הלקוח שלנו יודע לדחות סיפוקים? הרשו לי לנחש.... אולי במקרים נדירים.
לסיכום, התכונות הטובות של המתכנתים, שמעצימים את מה שהם, הם להם לרועץ כאשר הם מנסים למכור את מרכולתם. ולכן העולם יקבל תמיד מוצרים באיכות ירודה, גרועה, מלאה בבאגים ופירצות אבטחה, כי זה מה שהוא הזמין.
הדרך היחידה לפתור את הבעיה הזו, היא לתת למתכנת ממלכה פרטית אוטונומית, שהתוכנה שהוא כותב תהיה תחת שלטון דיקטטורי שלו ללא שיקולים זרים, ואז יתחילו לצאת מוצרים טובים באיכות מעולה. אבל זה לא יקרה אף פעם, לכן התוצאה תהיה פיחות מתמיד באיכות המתכנתים והמוצרים.
פורסם במקור בפורום CODE613 ב25/08/2017 14:05 (+03:00)