ראיונות עבודה בסטארט-אפים

{ פורסם ב: 04/12/11, מאת: אריק גלנסקי }
קטגוריות : כללי

לפני שהתחלתי עם ראיונות העבודה הייתי בטוח שאני בדרך לסיוט. כבר התחלתי לחשוב על כל המערכים שאני אצטרך למיין בעשרות צורות שונות, על כל מבני הנתונים שאצטרך לממש ועל כל השאלות המעצבנות בסגנון “אם אני יוצר anonymous inner class ומשתנה סטטי שמאותחל lazy….”.

שאלות מהסוג הראשון בוחנות היטב האם הקשבת בשיעורי אלגוריתמים ואלה מהסוג השני האם קראת לאחרונה את Thinking in Java. שניהם דברים בהחלט טובים לבדוק, אבל ממש לא החשובים ביותר כאשר באים להעסיק מתכנת.

למזלי, התבדיתי.

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

הדבר הראשון שעושים זה כמובן לעבור על מה שעשית בעברך. צפוי למדי, ובהתחלה חשבתי אפילו שהשלב הזה קצת מיותר בראיון “טכני” הרי כבר עשיתי אותו עם ה-HR. אבל היופי, כשאתה מדבר עם מישהו טכני (הרעיון תמיד נעשה ע”י ה-CTO או VP R&D, ככה זה בחברה קטנה) על דברים טכניים זה שהוא יכול לשאול שאלות. וכך אכן היה. אני אומר EJB3 ושואלים אותי למה ויתרנו על PLSQL Functions, מה היתרונות ומה החסרונות, והאם בכלל עדיף היה אולי Web Services? ואיזה? אומר HashMap ושואלים אותי איך הוא ממומש ומה ההבדל בינו ל ConcurrentHashMap ואיך הייתי מממש אותו בעצמי. אני מספר על פרויקט שהובלתי ומבקשים ממני להסביר את הארכיטקטורה שלו ולמה בחרנו את זה ומה עובר מאיפה ולאיפה ואיך ומתי וכמה זה יעיל וכמה זה יציב וכמה זה בלה בלה בלה בלה.

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

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

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

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

* במקום שמתעסק באינטרנט וניתוח נתונים נתנו לי לגשת למקור מידע מרוחק, להביא נתונים ולהמיר אותם לצורה נוחה לניתוח.

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

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

שיהיה בהצלחה.


רוצה להגיב?