«

»

יוני 04 2009

יוסי קלקולטור

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

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

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

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

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

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

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

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

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

ומי שלא מאמין בכך, כנראה קורא את הטור הזה היישר מן הנייר. אשריהו וטוב לו.

 

4 תגובות

דלגו לטופס מילוי התגובה

  1. יעל

    כתבת את זה על האנשים שכתבו את תוכנת בניית האתרים שאנחנו עובדים איתה בעבודה שלי, נכון? 😉

  2. Sabre Runner

    I resent that…

  3. עידו ג.

    בוא ונחזור X שנים לאחור בזמן…

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

    וכך היה.

  4. Kipod

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

האפשרות להגיב נסגרה.