אדוני מערבב בין מטרה לכלים
ראשון ראשון, ואחרון אחרון. א. התחום שאני עוסק בו (בעיקר) הוא פיתוח מערכות מידע. בארץ זה נחשב משום מה כנחות יחסית לתכנות RealTime, למרות שבעולם הגדול זה דווקא הפוך. בכל מקרה, לפי רמת מערכות המידע שנכתבות בארץ, אכן נראה שמומחיות וידע מקצועי אינם משהו חשוב במיוחד, אבל מערכות גדולות (בנקים, חברות ביטוח, מנתחי בורסות, אתרי אינטרנט גדולים כמו itunes, facebook, ebay ועוד) צריכות מומחים שידעו לכתוב אותם. גם מערכות "קטנות" (כמו למשל מערכת הפורומים של תפוז) - היה ראוי שהיו נכתבות באופן מוצלח יותר. ואמנם, ב. מערכת תוכנה לא נמדדת בסביבה שבה פותחה, אלא ביכולת שלה לתת מענה לצרכי הלקוח, ולהיות ברת-תחזוקה. ניתן לכתוב מערכות גרועות בסביבות נהדרות, ומערכות נהדרות בסביבות גרועות. אני כשלעצמי, כותב מערכות טובות למדי בסביבה נהדרת (c#/ASP.NET/MonoRail/AspView/NHibernate/Windsor/javascript/prototype/YUI/etc/). שים לב שלא אמרתי שאני כותב מערכות נהדרות, על מנת שלא לעשות רושם ... ג. ללא ספק צריך ידע. פתרון בעיות אלגוריתמיות שמרחבי NP למיניהם, הוכחות משפטים בתורת הגבולות, מציאת פתרונות קומבינטוריים, מימוש עצי משחק בפרולוג ושאר ענינים שעוסקים בהם בתואר מדמ"ח זה טוב מאוד. זה מפתח חשיבה מופשטת. זה גם כיף חיים, ואני מאוד נהניתי מזה כסטודנט, ויתכן שיום אחד עוד אשב לכתוב איזו תיזה בחישוביות, אבל זה יהיה בשביל הנשמה ולא בשביל העבודה. כל זה בהחלט לא הכרחי על מנת להיות מתכנת טוב, ואף ארכיטקט תוכנה טוב. בשבתי כמנהל פיתוח במקום העבודה האחרון שלי ראיינתי המון מתכנתים וראשי צוותים, עם תואר במדעי המחשב (חלקם בהצטיינות) וללא ידע בסיסי בעקרונות תוכנה הנדסיים. לא קיבלתי אותם לעבודה אגב, כי הם לא ידעו להתמודד עם מטלות תכנותיות אמיתיות שנתתי להם. בקיצור - הידע הנדרש אינו הידע הנרכש בפקולטות למדעי המחשב בארץ. הידע הנדרש ירכש על ידי נסיון, ועל ידי קבלת הדרכה והערות מאנשים מנוסים יותר. ד. אשמח לשמוע מהי אותה עבודה מעניינת באמת שאתה עושה עכשיו. כי מהכינוי שלך ומהעמוד שלך בתפוז אי אפשר ללמוד הרבה. ה. אין חכם כבעל נסיון. עובד מנוסה ויעיל ישמור על מקום העבודה שלו באמצעות הוכחות בשטח. התעודה על הקיר לא תייצר ביטחון תעסוקתי אם הוא לא יועיל לארגון בו הוא נמצא. ולטעמי, ארגון שמודד ומתגמל את עובדיו לפי קריטריון חיצוני כמו תואר או הסמכה, ולא לפי הדרך בה העובד תורם למטרות הארגון, הוא סוג הארגון שלא הייתי רוצה להשתייך אליו. ו. תקרת הזכוכית? על מה אתה מדבר בדיוק? אה - אני חושב שאני מבין. בארצנו הקטונטונת כל אחד מחפש "להתקדם". להתקדם זה חשוב, הבעיה היא שכאן מקובל לחשוב ש "התקדמות" זה מעבר ממזדה 3 למזדה 6. ואכן, ישנם מעסיקים שלא "יקדמו" מתכנת לר' צוות, ר' צוות למנהל פרוייקט ומנהל פרויקט למנהל פיתוח, אם לא יהיה לו תואר. כדי שלא "יגידו" שאין ל CTO שלו תואר. המקום היחיד שבו נתקלתי ב "תקרת הזכוכית" היא כשהתחלתי תהליך גיוס לחטיבת התוכנה של חברה מסויימת ברדמונד, ובגלל החוסר בתואר יצא שיהיה מסובך יותר להוציא ויזת עבודה. אבל כמובן שזה לא דבר עניני, כי בכל מקום שהוא לא ארה"ב אין את הבעיה הזו, ואני לא שש לעבור לשם ממילא. ז. ולגבי הצורך בגאונות על מנת להצליח בתחום - מה שצריך זו דווקא ענווה, ולהיות פתוח להערות על הקוד שאתה כותב על העיצוב שאתה מעצב.