5 טיפים למבחני בית טובים יותר

26/11/2023

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

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

1. פיצ'ר עדיף על פרויקט מלא

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

אל תשלחו אותם לכתוב דברים שממילא הם לא יכתבו בעבודה אצלכם. הכינו מראש פרויקט עם רשימת פיצ'רים מעניינים וכל פעם שצריכים לתת למישהו מבחן בית תנו לו לממש את אחד הפיצ'רים מהרשימה.

2. סטארטר עדיף על להתחיל מאפס

ואם כבר מדברים על הפרויקט שהכנתם שימו לב לבנות אותו בהתאמה לקוד שהייתם רוצים לקבל חזרה. חשוב לכם מבנה קבצים ותיקיות מסוים? השתמשו במבנה זה בפרויקט. חשוב לכם שהקוד יכלול בדיקות? כתבו בדיקות לחלקים המוכנים בפרויקט. חשוב לכם שמועמד ישתמש ב TypeScript עם כללי בדיקה מסוימים (למשל בלי any)? שימו מראש את הקובץ tsconfig.json שלכם בפרויקט.

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

3. כמה שיותר קונטקסט יותר טוב

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

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

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

4. התשתית עלינו

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

גם את כל קבצי העיצוב או כל דבר אחר שצריכים כדי להשלים את המשימה עדיף לחלק מראש.

5. נסו את זה בבית

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

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