פרויקטים לפורטפוליו שמרשימים מגייסים באמת
זמן קריאה: 4 דקות
מגייס לא בודק פרויקטים כדי לראות אם אתם יודעים לכתוב קוד. הוא בודק אם אתם יודעים לקבל החלטות, לסיים, ולהסביר. רוב הפרויקטים בקורות חיים נכשלים בשלושת המבחנים האלה, וזו הסיבה שהם לא עוזרים.
מה מבדיל פרויקט שעובד מתרגיל
ההבדל אינו במורכבות הטכנית. תרגיל מקורס עושה בדיוק את מה שהוגדר, לכולם באותו אופן, ואין בו אף החלטה שלכם. פרויקט אמיתי מתחיל בבעיה, ובדרך לפתרון היו כמה צמתים שבהם בחרתם - וזה מה שמייצר שיחה בראיון.
שלושה סימנים שמעידים על פרויקט אמיתי: יש בו החלטה שאתם יכולים להסביר ולהצדיק; הוא נתקל בבעיה אמיתית ומתועד איך נפתרה; ומישהו מלבדכם הפעיל אותו. פרויקט עם שלושת אלה שווה יותר מחמישה תרגילים מרשימים.
איך בוחרים נושא
הכלל הפשוט: בחרו בעיה מהעולם שאתם מכירים. מי שהגיע מתחום אחר מחזיק כאן יתרון שאין לאף בוגר קורס - הוא יודע איפה כואב. מנהל מסעדה שבונה כלי לניהול מלאי, מורה שבונה מערכת למעקב אחר תלמידים, איש תמיכה שבונה כלי לניתוח פניות - כולם מספרים סיפור שאי אפשר להעתיק.
הבחירה הזו עושה שלושה דברים בבת אחת: היא מבדלת אתכם, היא מקלה על הסיום כי אתם מבינים את הדרישות, והיא הופכת את הראיון לשיחה על משהו שאתם מומחים בו. זה הפוך ממה שרוב האנשים עושים, ולכן זה עובד.
אם אתם עוד בשלב הלמידה, המסלול המלא נמצא במאמר על ללמוד תכנות לבד, והפרויקט אמור להיכנס בו ברבעון השני.
מה חייב להיות בפרויקט
| רכיב | למה הוא נבדק | מה קורה בלעדיו |
|---|---|---|
| README שמסביר מה ולמה | זו הדרך היחידה שמישהו יבין | הפרויקט לא ייפתח בכלל |
| הוראות הרצה שעובדות | סימן שחשבתם על משתמש | נראה כמו קוד שנזרק |
| היסטוריית קומיטים סבירה | מראה תהליך, לא העתקה | קומיט אחד ענק נראה חשוד |
| בדיקות, ולו בסיסיות | מבדיל חובבן ממקצוען | שאלה לא נוחה בראיון |
| החלטה מתועדת אחת לפחות | זה מה שמדברים עליו | אין על מה לדבר |
ה-README הוא הרכיב שהכי מזניחים והכי משתלם. מי שקורא אותו צריך להבין בתוך שלושים שניות מה הפרויקט עושה, למי הוא נועד ואיך מריצים אותו. אם הוא לא מבין, הוא סוגר.
כמה פרויקטים צריך?
שניים טובים עדיפים על שישה בינוניים, וההסבר מעשי: מגייס פותח לכל היותר אחד. שישה פרויקטים מעידים בדרך כלל על שישה תרגילים, ואילו שניים עם עומק מעידים על מישהו שסיים משהו פעמיים.
החלוקה שעובדת: פרויקט אחד שמדגים רוחב - מקצה לקצה, כולל ממשק, מסד נתונים ופריסה. ופרויקט שני שמדגים עומק בתחום שאליו אתם מכוונים, למשל עיבוד נתונים, אוטומציה או אינטגרציה מול שירות חיצוני.
שימו לב שכלי העבודה עצמם הם חלק מהמסר: 68 משרות בלוח מזכירות Docker ו-68 מזכירות AWS, ולכן פרויקט שרץ בסביבה ארוזה ופרוס איפשהו אומר יותר מפרויקט שרץ רק על המחשב שלכם.
אילו פרויקטים דווקא מזיקים?
- התרגיל מהקורס, בלי שינוי. מגייס מזהה אותו מיד, ולפעמים ראה אותו כבר עשר פעמים באותו שבוע.
- פרויקט לא גמור. עדיף קטן וסגור מגדול ונטוש; הרושם הוא שאתם לא מסיימים.
- קוד שהודבק בלי הבנה. שאלה אחת בראיון חושפת את זה, וזה הנזק הגדול ביותר.
- מאגר בלי README. הוא נחשב כאילו אינו קיים.
- העתק של מדריך פופולרי. אם אלפים בנו אותו באותו סדר, הוא לא מבדל.
- פרויקט שמפר סודיות של מעסיק קודם. זה נורה אדומה מקצועית ולא רק משפטית.
איך מציגים את זה בראיון
הכינו מראש שתי דקות מסודרות: מה הבעיה, מה בניתם, איפה נתקעתם ואיך פתרתם. החלק השלישי הוא זה שמעניין, ולכן אל תדלגו עליו כדי להישמע חלקים. מרואיין שמספר על באג שלקח לו יומיים נשמע אמין; מי שמספר שהכל עבר חלק נשמע כמו מי שלא בנה.
הכינו גם תשובה לשאלה "מה היית עושה אחרת". היא נשאלת כמעט תמיד, והיא בודקת אם למדתם מהפרויקט או רק סיימתם אותו. אם אתם מתכוננים לשלב שלפני כן, המאמר על ראיון סינון מול HR מכסה את השיחה הראשונה.
שאלות נפוצות
האם GitHub הוא חובה?
הוא הדרך המקובלת להראות קוד, ובלעדיו קשה למגייס להעריך אתכם. מה שחשוב אינו הפרופיל עצמו אלא שיהיה בו לפחות מאגר אחד מסודר; פרופיל עם עשרים מאגרים ריקים גרוע מפרופיל עם אחד טוב.
האם תרומה לקוד פתוח שווה יותר מפרויקט אישי?
לעיתים קרובות כן, כי היא מוכיחה עבודה בתוך קוד של אחרים ועמידה בסטנדרט חיצוני - בדיוק מה שחסר למי שלמד לבד. גם תיקון קטן נחשב, בתנאי שאתם יודעים להסביר אותו.
כמה זמן להשקיע בפרויקט?
מספיק כדי לסיים, ולא יותר. פרויקט שנמשך חצי שנה בדרך כלל מעיד על היקף שנבחר גדול מדי. עדיף שניים של חודש-חודשיים מאשר אחד אינסופי.
האם לפרסם פרויקט שנעשה עם כלי AI?
כן, בתנאי שאתם מבינים כל שורה ויכולים להגן עליה. ההנחה בראיון היא שנעזרתם בכלים, וזה לגיטימי. מה שאינו לגיטימי הוא להציג קוד שאינכם מבינים.
מה עושים אם אין לי רעיון?
קחו כלי שאתם משתמשים בו ובנו ממנו גרסה מצומצמת, או אוטומציה למשהו שאתם עושים ידנית כל שבוע. שני המסלולים האלה מייצרים פרויקט עם משתמש אמיתי - אתם - וזה מספיק.