Joel on Software

Joel on Software   יואל על תוכנה

 

מאמרים שתורגמו לעברית

גרסה אנגלית

כתבו למחבר

 

שני סיפורים


מאת יואל ספולסקי
תרגום: טל-לי ברק
19 מרץ 2000

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

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

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

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

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

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

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

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

"מה קורה, ג'ואל?" הוא שאל, "שמעתי שיש לך בעיות עם קבוצת הארכיטקטורה".

"לא ממש!", אמרתי, "אני מסתדר עם זה".

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

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

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


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

אחרי כמה שנים בג'ונו עבדתי על שינוי כלשהו בתהליך הרישום של משתמש חדש. בגרסה X.3 של ג'ונו הייתי אחראי על כל תהליך הרישום.. בשלב זה הייתי כבר חבר בכיר למדי בצוות הטכני. קיבלתי חוות דעת נהדרות ונראה היה שהמנהלים שלי מעריכים את עבודתי. אבל הם פשוט לא יכלו להגיע למצב שבו הם סמכו עלי. שליטה ובקרה.

חלק מתהליך הרישום דרש מהמשתמשים לרשום את תאריך יום ההולדת שלהם. זה היה חלק קטן מתהליך רישום ארוך שנמשך בערך 30 מסכים, שבהם ג'ונו צלבו אותך בחקירה לגבי ההכנסה שלך, מספר הילדים שלך והגילאים שלהם, ועוד 100 דברים נוספים. על מנת להפוך את תהליך הרישום לקצת יותר פשוט, רציתי לשנות את שדה יום ההולדת כך שיהיה במבנה חופשי. יכולת להקיש "12.8.74" או 8 אוגוסט, 1974" או "8 אוג 74" או כל דבר שתרצה (השתמשתם פעם באאוטלוק? כך זה עובד באאוטלוק, אתם יכולים להקיש את התאריכים בכל מבנה שהוא, ואאוטלוק יקבל את זה).

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

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

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

Hanging Tree in Jaffa, Israel

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



מאמר זה הופיע לראשונה באנגלית בשם Two Stories  

יואל ספולסקי ייסד את Fog Creek Software, בית תוכנה קטן בניו יורק. במשך שירותו הצבאי (בנח"ל מוצנח) היה בין מייסדי קיבוץ חנתון שבגליל. לאחר לימודים באוניברסיטת ייל, עבד בתור מתכנת ומנהל ב-Viacom, Microsoft, ו-Juno.


אלה דעות של בן אדם אחד ותו לא.
© 1999-2005 Joel Spolsky. כל הזכויות שמורות.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky