Post by Eyal Lior on Jan 19, 2016 18:52:07 GMT 2
ראיונות עבודה – שאלות, מבחנים ותרגילים משפילים
האם היית מבקש מעורך-דין, דוקטור, אינסטלטור או חשמלאי לבצע מבחן לפני שאתה שוכר את שירותיהם? אתה כנראה יודע שהם היו צוחקים לך בפרצוף אילו היית מבקש דבר שכזה. מתכנתים מקצוענים צריכים להתחיל להתנהג כמקצוענים ולדלג על כאלו מבחנים. העובדה ש"זה נהוג בהרבה מקומות" לא הופכת את זה למכובד או מועיל. אם אתה לא מסוגל להעריך את היכולת הטכנית של מישהו בתוך כמה דקות של שיחה - אתה לא אמור להיות בעמדה של לגייס אנשים. שאלות, מבחנים ותרגילים טכניים בראיון עבודה זה דבר משפיל, לא אפקטיבי, לא הוגן, מחפיץ, שטחי ומלמד המון בעיקר על המראיין ועל החברה וכמעט שום דבר על המרואיין.
באופן כללי, ישנם 3 סוגי טיפוסים בחברות הייטק: יש את הפסיכופת\טפיל, וזה סוג של חוק טבעי שכזה שבכל חברה יהיה לפחות אחד שכזה. מתחתיו יש בדרך כלל קבוצה של קונפורמיסטים שמהווה את הרוב. אלו הם בדרך כלל אנשים פרודוקטיביים בבסיסם, אך הפסיכופת\טפיל מתעלל בהם וכופה עליהם את דרך המחשבה שלו. ואז יש את הנונ-קומפורמיסטים, וזה נדיר שהם ימצאו במקום שכזה. יש כמה כאלו, אבל בהרבה מקרים הם מנסים להיראות כמו שאר הקונפורמיסטים על מנת לשרוד. הבעיה עבורינו, היא שההפסיכופת תמיד ירגיש מאוים ומפוחד בשל היכולת שלנו לזהות מי הוא, והוא יעשה כל שביכולתו לסכל את הגיוס. טיפוסים טפילים אינם יכולים לחיות בדו-קיום עם אנשים שאינם קונפורמיסטים. הפסיכופת רגיל לעבוד בסביבה שלמראית עין היא יצירתית, כקונפורמיסט בלבו הוא עדיין מחפש אישורים מאחרים, הוא אוהב לרמות את עצמו ולחשוב שהעבודה שלו היא משהו איכותי ומיוחד, ולכן הוא מחפש לנהל אנשים מתרפסים ותלותיים, כאלו שמאפשרים לכל החלטה מטופשת לעבור ללא התנגדות. לאנשים שכאלה יהיה תמיד פוקוס על המיקרו, על הפרטים הקטנים, ולעולם לא על התמונה הגדולה. אחת הדרכים של פסיכופתים-טפילים לזהות מיהו קונפורמיסט ומיהו לא-קונפורמיסט היא לערוך מבחנים טכניים בראיון עבודה שמטרתם היא לוודא שהמועמד ממלא את מוחו אך ורק בפרטים הקטנים.
שיטת המבחנים
הבעיה בתעשייה כיום היא שיש מלא אנשים שהיו תלמידים מאוד טובים בבית הספר. שיטת המבחנים שעליה כל כך הרבה מלגלגים בחוגים אינטלקטואלים, שינון כתוכי וההתניה הפבלובית - הפכו לטרנד לוהט בתעשיית ההייטק כיום. בראיון עבודה אליו הלכתי לא מזמן, נשאלתי "מהו immutable object", ו-"מה ההבדל בין volatile ל-synchronized". בתגובה שאלתי את המראיין "האם אני יכול להשתמש בגוגל..." גלגול העיניים אמר הכל, לא עברתי את הראיון. לא לעשות את ההקשר בין שהות של לפחות 14 שנים בתוך מוסדות רקובים, ועוד בשנים בהן האישיות מעוצבת ומתגבשת, לבין צורת המחשבה הנפוצה כיום בשוק העבודה - זה כמו ללכת לגן חיות על מנת לחקור את התנהגות הקופים, ולא לייחס לעובדה שהם כלואים בתוך כלוב, קשר לכך שכל חייהם הם לא מתרחקים מהמקום בו הם ישנים.
עכשיו תבינו, זה לא שאני לא יודע עכשיו מהו immutable object. בעבר נשאלתי על זה בראיון, וכשלא ידעתי - המראיין הסביר לי בתוך פחות מחצי דקה. מה שמוכיח שזה לא עניין קריטי שיש לפסול עליו מועמד. מה גם שב-15 שנות תכנות, לא הייתי צריך את הידע הזה. אם אתה פוסל מועמד על מחסור בידע שלוקח חצי דקה לרכוש - אתה פוסל אותו בגלל משהו אחר. למעשה, המטרה שלך לא הייתה לקבל את המועמד - אלא להשוויץ, להתנשא, להרגיש שאתה ראוי לתפקיד שלך וכנראה, למצוא עוד אנשים חסרי בטחון עצמי כמוך שמרגישים כל כך שונה וטוב כאשר הם יודעים משהו שלוקח חצי דקה ללמוד\להזכר.
“דרך נכונה לעשות דברים"
תחום התוכנה הוא אחד מהתחומים הכי חופשיים שיש (זה קצת בלתי אפשרי עבור הממשלה להגביל את הכניסה לתחום, ואין שום חסמי כניסה מוחשיים מלבד הצורך במחשב אישי...) - אך בכל זאת, בשנים האחרונות נראה שפסיכופתים מצליחים יותר ויותר להרוס את התחום היפה הזה. למרות שתכנות זהו תחום מאוד פשוט (ממש כמו אינסטלציה, אם אתם שואלים אותי, רק בלי לכלוך), רוב החברות מציבות מהמורות ומכשולים רבים בפני המתראיינים. במקום להתרכז בשלושת הפרמטרים החשובים באמת: ידע, ניסיון ומוטיבציה, חברות כיום מסננות החוצה את רוב המועמדים מלבד 2 סוגי אנשים: אלו שזוכרים את כל החומר מקורס תכנות למתחילים (אותם התרגילים שלא משקפים את המקצוע בפועל) ואלו שמוכנים לשנן יום-יומיים מראש את כל החומר, רק בשביל להתקבל ולעבוד תחת מנהלים שמציבים להם סטנדרטיים מגוכחים ומעצבנים. אחרי שהם יתקבלו, הם ימשיכו להתמודד עם מהמורות ומכשולים מיותרים. הסיבה למבחנים היא הפרנויה שחס-וחלילה לא נגייס מישהו לא מספיק טוב לתפקיד. מישהו שלא זוכר את כל חומר הלימודים האקדמאי בעל פה, מישהו שלא עושה דברים בדרך שלימדו אותנו בביה"ס. גם אחרי שיתקבלו לעבודה, המתכנתים יאלצו לעבוד "על פי הספר" ו-"בדרך הנכונה" שוב, בגלל אותה פרנויה שמקורה היא שיטת החינוך הציבורי של חלוקה לכיתות, תוכנית לימודים אחידה ומבחנים. השיטות האלו הוכחו שוב ושוב ושוב ושוב כגרועות. וזה לא נפסק, ועדיין זה נראה שרוב האנשים בתחום מתכוונים להמשיך עם זה עוד ועוד ועוד. כאמור, רוב האנשים הם סתירות הולכות ומדברות - ובעוד שביל גייטס, מארק צוקרברג ועוד הרבה מפורסמים מעידים על כך שבמקצוע הזה אין צורך בלימודים פורמליים או ב-"דרך נכונה לעשות דברים" - כיום, אפילו אצלם במייקרוסופט, פייסבוק וגוגל - לא תתקבל לעבודה ללא הפגנת ידע אקדמאי ויכולת לעשות דברים ב-"דרך הנכונה".
כיום, מה שקורה ב-99% מהחברות זה שאנשים נמדדים על פי החולשות שלהם ועל פי החוזקות של מי שמנהל אותם באופן ישיר. מאחר ורוב האנשים הם קונפורמיסטים שנכנעו למערכת ולשיטה, ויתרו על האישיות של עצמם לטובת מה שאמרו להם לעשות, לחשוב ולומר - מי ששרד את כל זה הפך למכונת שינון וחזרה. אז ללא ספק יש שוחד גדול בשוק לטובת אנשים בעלי זכרון טוב וכן לאנשים ששמים לב לפרטים קטנים, ואין שום סוג של דגש על אנשים ששמים לב לתמונה הגדולה. זה לא מרשים אף אחד אם אתה יודע להימנע מבעיות שפסיכופתים יודעים לפתור. ללא ספק זו בעיה, כי העובדה שחברות נמצאות בהליכי חיפוש בלתי פוסקים ומראיינות המון מועמדים לכל משרה מראה שיש משהו שהם חוששים ממנו.
“אנחנו רוצים לבחון את הידע שלך"
אף אחד לא מבלה שנים של כתיבת Javascript מבלי לדעת מה זה if ומה זה for, אבל יתכן בהחלט מצב בוא מישהו במשך שנים לא משתמש באופרטור ===, או שבתחום פיתוח מסויים לא הייתה שום חשיבות לסקופ של משתנים ולכן מפתח לא ידע\יזכור את ההבדל בין להגדיר משתנים עם var או בלי. כל אלו כמובן דברים שלוקח פחות מדקה ללמוד, וזה מוכיח עד כמה ראיונות עבודה כיום נעשים בצורה בלתי מקצועית, שרירותית ומשפילה. לדעת את כל הביטס ובולטס של Javascript זו לא הוכחה שאתה מתכנת יותר טוב.
מתכנתי ג'אווה וסי# יכירו את השאלות בנוסח "מבלי להשתמש ב-system.collections..." למה לא להשתמש בסיסטם קולקשיין בשביל למיין? איזה מתכנת שפוי ימציא את הגלגל מחדש?
הדבר העצוב הוא שאף אחד כמעט לא מתעניין ביידע שלך. נניח פיתחת אפליקציית שיתוף קבצים ומימשת פרוטוקולים מסובכים, לאף אחד לא אכפת. הרוב המוחלט של המראיינים מתעניינים רק ביידע של עצמם, והם באים לבחון כמה מתוך מה שהם יודעים, אתה לא.
למרות שיש אינספור משרות שכוללות הכשרה לשפת פיתוח חדשה, ולמרות שזה לא אמור לקחת יותר מידי זמן ללמוד טכנולוגיות חדישות – עדיין יש כאלו שמסננים מועמדים שאין להם ידע ספציפי בטכנולוגיות כמו Angular. זה מגוכח, מאחר ולמתכנת Javascript לא אמור לקחת יותר מיומיים בכדי להתחיל לתכנת, ולא יותר מחודש על מנת לשלוט במרב היכולות של אנגולר. האם עקומת הלמידה כה קריטית ששווה למשוך את הליך הגיוס כשבועיים, ולבזבז שעות על ראיונות ולהטריח ולהשפיל לא מעט מתכנתים? ובכן, אם מה שחשוב לך כמראיין זה להרגיש טיפת אופוריה ועליונות רק בגלל שאתה יודע משהו שהוא סתם מסובך, לא נותן כלום, וגם ככה ישתנה ויהפוך לפשוט בעתיד – אז כן, זה שווה את זה.
"אנחנו רוצים לראות איך אתה חושב"
נכנסתי לראיון עבודה והשאלה הראשונה שנשאלתי הייתה: "יש לך מחסנית, וזיכרון של תו אחד בלבד". המראיין שמשומה שואל אותי שאלה שבטח למדתי באוניברסיטה והספקתי לשכוח, לא היה מספיק כנה בכדי לומר "חיפשתי באינטרנט שאלות של ראיון עבודה ובחרתי כמה שנראות לי קשות\קלות מספיק. גם קראתי את הפתרונות ואני עכשיו אבדוק האם אתה יכול להגיע לפתרון בעצמך, בלי לקרוא. אם תגיע לפתרון, אני אניח שכמוני, קראת את התשובה וזכרת. אם לא, אוכל להרגיש תחושת עליונות ואופוריה בהקשר לביטחון התעסוקתי שלי.”
אם השאלות קלות, הרי שהמראיין מזלזל בך ובכל מי שהעסיק אותך בעבר. זה כמובן לא אומר שהוא לא הולך כמו סתירה הולכת ומדברת להתקשר אח"כ לאותם מעסיקים ולבקש המלצות עליך. אם השאלות קשות, זה כמובן רק אומר שהמראיין הוא פוץ, אוהב להשוויץ – והוא בכל מקרה כנראה לא הגיע לפתרונות בעצמו, אלא סתם מחפש להרגיש שווה יותר על ידי הורדת הביטחון העצמי שלך. אחרי הכל, אף אחד לא המציא את כל הגלגלים מחדש. את רוב הידע שצברנו בחיים, וזה נכון לכולנו, קיבלנו בירושה מאחרים. ולא רק זה, אלא שזה מגוחך מאחר וברגע שאתה חוקר טיפ טיפה אתה יכול לעבור את המבחנים האלו בכל מקום.
כמה אתה מוכן להשקיע בשביל משרת מתכנת גנרית?
מאחר ורוב האנשים כיום הם קונפורמיסטים, הגישה הנפוצה היא לקבל את מרות המראיינים ולראות בשיטה הזו מעין דבר לגיטימי. זה אומר שאנשים לא רק יגידו "אין מה לעשות, ככה זה, צריך להתכונן לפני ראיון. הם רוצים להיות בטוחים שהם מקבלים מישהו שיודע את החומר" (למרות הסתירה שלוקח ערב אחד ללמוד את החומר הנשאל). אבל העניין הוא כזה, וזה עקרוני: כמות המשרות תואמת לכמות הדורשים. כן, יש מיתוס שעל פיו זה לא ככה - אבל זו עובדה. ואין פה מפסידים ומרוויחים - כולם מרוויחים. באם המצב היה שזו משרה כה מעולה ויוצאת דופן, נניח, אם אתה אוהד שרוף של התוכנית "פרויקט אין מדינה בישראל" ואתה רוצה להתקבל לעבוד בהפקת התוכנית - זה הגיוני שתשקיע שבוע שלם בהכנה של קטע שירשים אותי ויגרום לי לקבל אותך. אחרי הכל, זה חלום חייך. בשביל חלום חייך אפילו חודש, זה לא שיש כמה מקומות כאלו - יש רק אחד. אבל ברגע שיש איזון בביקוש והיצע, ובהייטק בהחלט יש, אין שום סיבה שבנאדם ישקיע ויתכונן ערב לפני על הנושאים הספציפיים שהולכים לשאול אותו.
“זה אמור לקחת לך שעה, לא יותר."
ואם יש משהו שממש מזלזל בידע ובניסיון שלי, זה כאשר מבקשים ממני לבצע "עבודות בית". פה המעסיק הפוטנציאלי אפילו לא מבזבז מהזמן שלו, ויתכן והוא "מעסיק" ככה 5 מתכנתים. כנראה זו הערכה זהירה מאוד. הזמן הממוצע שעבודות הבית האלו לוקחות זה חצי יום. הם יגידו לך שזה לא אמור לקחת יותר משעה, אבל אתה צריך סביבה... וגם בלי זה זה עדיין לא שעה. שעה זה אם אתה "חם", אם התעסקת בתחום הספציפי של המבחן וכבר כתבת קוד ממש זהה - אז זה שעה. ברוב המקרים התרגיל כולל 4-5 עניינים שאין לך ניסיון איתם, וזה מצריך מחקר - וזה פשוט לא הוגן. זה לא הוגן שמתכנת יקח קוד שלו אישית לוקח שעה, ויצפה מכל מתכנת אחר לבצע אותו בשעה. רוב התרגילים שקיבלתי, אילו הייתי עושה אותם – היו לוקחים לי 4-5 שעות כמו כלום.
יש גם את התרגילים הקלים, אתה מרגיש שמח שסיימת אותם מהר - אך ברוב המקרים לא חוזרים אליך להמשך תהליך - כנראה בגלל שהאידיוט שניסח את התרגיל הפשוט לא מרגיש עכשיו בטוח. או שבגלל שהוא קל וקצר, האידיוט הרגיש חופשי לשלוח אותו ל-20 אנשים. לפחות.
“תכתוב לי סינגלטון"
ועוד משהו, מצטער להרוס את הרושם הזה, אבל שאלות "פיז-ביז" הם גם רעיון רע. אתה מזמין מתכנת עם 15 שנות ניסיון ומבקש ממנו לכתוב סינגלטון - מצד אחד זה כמו להזמין פסיכולוג ארגוני לראיון ולשאול אותו אם זה בסדר להרביץ לעמיתים - ומצד שני, מה אם הקורבן המסכן של המראיין, במקרה לא השתמש בסינגלטון בחייו? זה אמנם הפטרן הקל ביותר והידוע ביותר, והרבה פעמים שואלים את השאלה (רוצים לראות אם אתה יודע שצריך פעמיים איף, לפני הלוק ואחרי). פעם אחת לא ידעתי, ואז המראיין האדיב הסביר לי, לא קיבל אותי - אבל מאז אני מצליח עם השאלה הזו בראיונות. עוד אחד מהדברים שלוקח חצי דקה ללמוד, אך פסיכופתים מתנשאים ועילאיים מודדים את עצמם לפי הידע שלהם של דברים פשוטים כאלו.
Fuck you, pay me
בגרמניה יש חוק (סעיף 670 לחוק האזרחי) שמחייב חברות לשלם הוצאות נסיעה ואוכל למרואיינים. אני אמנם נחרצות נגד התערבות ממשלתית בשוק החופשי, אך לדעתי באם נגיע למצב הזה שחברות ישלמו למרואיינים, ואני בעד שזה יקרה ובעד שישלמו לא רק הוצאות נסיעה ואוכל אלא גם בעבור הזמן המבוזבז - ראיונות עבודה יהפכו להרבה יותר מכובדים, וחברות יטרטרו הרבה פחות מועמדים. כאשר אני גייסתי אנשים, נהגתי לבחור בקפידה את קורות החיים, וב-100% מהפעמים קיבלתי את מי שהזמנתי. אני לא עושה סיפור לאנשים, לכל אחד יש יתרונות וחסרונות - אין באמת מתכנתים גרועים. לא נתקלתי בכאלו. כן נתקלתי ב(מעט מאוד)מתכנתים שנתנו להם עבודה שלא מתאימה להם, וב(הרבה מאוד)מתכנתים שלא היו צריכים לתת להם לנהל מתכנתים אחרים. אני לא חושב שצריך חקיקה בעניין, אלא שאם כמה חברות יתחילו להציע תשלום - זה די ברור שמחפשי עבודה יעדיפו ללכת לראיון בתשלום. יש גם את היתרון שמשלמים לך, וגם את היתרון שאתה יודע שלא מבזבזים לך את הזמן כי זה עולה להם כסף. רווח כפול, ויחסית לעלות הקליטה של עובד, ולרוב גם עלות התיווך - זה כלום כסף. אז ברגע שחברה אחת תתחיל עם זה, יהיה לה יתרון בגניבת המוחות הטובים, וזה יוביל לעוד חברות שיצטרפו ויתחילו להציע תשלום והוצאות בעבור הגעה לראיון עבודה.
“היה ממש כיף! ...אבל קבעתי לי השבוע עוד כמה דייטים,
אז אני אודיע לך בתחילת שבוע הבא בכל מקרה אם ממשיכים."
אז אני אודיע לך בתחילת שבוע הבא בכל מקרה אם ממשיכים."
לי יש דרך מאוד פשוטה לראיין מועמדים - אני שואל אותם מה הם יודעים, באופן כללי - מה הם עשו, אני רק בודק שאין חסמי מוטיבציה כגון לימודים אקדמיים ברקע (בניגוד מוחלט לחדירה לפרטיות שנעשית היום כאשר מראיינים מנסים למדוד את מידת המוטיבציה שלך ומצפים שתהיה להוט לעבוד תחתם). וזהו. אולי יש לי פשוט יותר מידי כבוד לאנשים זרים, שאני לא רואה את עצמי מזמין 5 אנשים סתם בשביל לבחור אחד. אני לא רואה באנשים כחפצים. ושוב, אני לא בוחן, אלא רק שואל האם יש ניסיון, ומהו הניסיון. אני בשום פנים ואופן לא עושה תחרות נוסח "האח הגדול" או "הישרדות". זה דבר מחורבן. אם הייתי יוצא לדייט ואומר לבחורה שהשבוע אני יוצא להרבה דייטים, ואני אודיע לה אם היא עוברת לסבב השני... שלישי... רק בחורה שבורה לגמרי הייתה בסוף מוכנה לצאת איתי.
...
אז לאנשים האלה יש ציפיות גבוהות ממך, והם רוצים שתדע המון דברים בעל-פה. הם לא יעריכו את זה אם תחפש את התשובות לשאלות שלהם בגוגל, ממש לא. אבל כשהם מודיעים לך שהם לא חושבים שאתה מתאים, או שהם פשוט מתקדמים עם מועמד אחר - זה תמיד באותו הנוסח. הם בטח לא אלתרו את זה בעצמם, הם פשוט חיפשו בגוגל איך כותבים "Applicant Rejection Letter" ובחרו באחת מתוך ה-5,370,000 תוצאות - כי זה היה להם יותר מידי פאקינג מסובך לחשוב בעצמם איך לכתוב לך שהם לא רוצים אותך, או שהם פשוט בחרו מישהו אחר מתוך כל הפראיירים שבזבזו את זמנם לחינם.