אתמול Kent C. Dodds העלה סרטון עם שאלה פשוטה: מה הוא היה עושה אם היה מתחיל היום מאפס בתוכנה. הוא פותח במשפט "Everything's changed", ומדבר על שני כישורים שהוא היה עובד עליהם עכשיו ועל כישור אחד שנשאר בעל ערך לא משנה כמה ה-Agents ישתפרו.

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

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

1. הייתי בונה משהו שמישהו אחר משתמש בו, כבר מהחודש הראשון

פעם הדרך המקובלת הייתה ללמוד שפה, לעשות כמה תרגילים, לבנות to-do list ואז אולי פרויקט. היום עם AI אפשר להגיע לאפליקציה שעובדת תוך ערב. זה כבר לא מה שמבדיל בין אנשים.

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

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

2. הייתי מתאמן לקרוא קוד יותר מאשר לכתוב אותו

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

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

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

3. הייתי לומד להגדיר מה זה "עובד"

הדבר הכי קל היום הוא לבקש מה-AI "תוסיף טסטים" ולקבל חמישים בדיקות ירוקות. הדבר הקשה הוא לדעת אם הן בודקות משהו שחשוב.

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

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

4. ועדיין הייתי מתכונן לראיון כמו פעם

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

והאמת שיש בזה יותר הגיון ממה שנדמה. מי שמבין מה זה hash map ולמה binary search מהיר יותר, קורא קוד של Agent אחרת. הוא שם לב כשמשהו נראה תמים אבל ירוץ לאט על מיליון שורות.

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

5. הדבר שלא משנה כמה ה-AI ישתפר

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

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

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

לסיכום

אם הייתי מתחיל היום, הייתי בונה משהו לאנשים אמיתיים, מתאמן לקרוא קוד, לומד להגדיר מה זה "עובד", לא מזלזל בראיונות, ובעיקר לומד לקחת אחריות על מה שאני משחרר.

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