עליית הסופר-מפתחים

גבריאל בן הרוש חסון, CTO במטריקס DevOps, ולאוניד פבזנר, מרצה בכיר בג'ון ברייס

מפתחים רבים כבר עושים שימוש שוטף בטכנולוגיית GenAI לקיצורי דרך בתהליכי העבודה. מתי התוצאה היא שיפור בפרודוקטיביות? איך נהנים מההזדמנות האדירה שמציגה המהפכה תוך גידור הסיכונים שלה? למה כל שוק הפיתוח נמצא בתהליך של Reskilling ו-Upskilling? והאם מפתח/ת תוכנה יהפוך מביצועיסט של קוד לדיג’יי של פתרונות אוטומציה ו-AI? ישבנו לשיחה עם גבריאל בן הרוש חסון, CTO במטריקס DevOps, ועם לאוניד פבזנר, מרצה בכיר בג’ון ברייס, על איך מהפכת ה-GenAI משנה בימים אלה את עולם פיתוח התוכנה

“כבר שנים שנעשה שימוש בכלים של AI לייעול ולקיצור תהליכי עבודה בפיתוח, זה לא חדש”, אומר גבריאל בן הרוש חסון, CTO במטריקס DevOps, “אבל עם ההתפתחויות האחרונות ב-GenAI חלה קפיצה אדירה ביכולות וגם בשימוש בהם. פתאום זה קל ונגיש, ואנשי מקצוע בעולם הפיתוח, שמאז ומתמיד היו שייכים למקדימים לאמץ טכנולוגיות (Early adopters), כבר משתמשים בכלים כמו Copilot באופן שוטף בעבודה שלהם. בחברות שהדברים לא מסודרים בהם באופן פורמאלי, זה קורה באופן לא פורמאלי ואז יש להן פחות יכולת לעשות את הדברים באופן מבוקר. זה הופך להיות קצת המערב הפרוע, וחייבים להכניס בזה סדר.”

44% מהמפתחים משתמשים בכלי AI בעבודתם, ו-25.5% מתכננים להשתמש בכלי AI בעתיד הקרוב  (סקר Stackoverflow, מאי 2023)

ואכן, על פי סקר המפתחים של אתר Stack Overflow, שנערך במאי 2023, בהשתתפות כ-90,000 מפתחים ברחבי העולם, השימוש בכלים של GenAI כסיוע בעבודת הפיתוח הוא כבר היום נפוץ מאוד. כך למשל, 44% מהמשתתפים בסקר הצהירו כי הם משתמשים בכלי AI בעבודתם ו-25.5% מהמשתתפים כי הם מתכננים להשתמש בכלי AI בעתיד הקרוב, כלומר סביר להניח שמאז מועד הסקר ועד היום, אחוז המשתמשים מקרב המפתחים כבר חצה את ה-50%. עוד עולה מהסקר כי 83% מהמפתחים משתמשים בכלי AI לכתיבת קוד, 49% לדיבוג ולקבלת סיוע ו-34% לדוקומנטציה. יחד עם זאת, במקביל לשימוש הנרחב, היכולת לסמוך על ביצועי ה-AI עדיין מוגבלת. כך למשל, רק 3% מהמשתמשים בכלי AI, העידו כי הם “סומכים מאוד” על הדיוק בתוצאות של כלי AI ו-39% מהמשתמשים העידו כי הם “סומכים במידת מה” על כלים אלה.

52% מהתשובות של ChatGPT למפתחים כוללות אי דיוקים (מחקר שנערך באונ’ Purdue, אוגוסט 2023).

“תחושת חוסר הביטחון בנוגע לתוצאות, היא לגמרי מוצדקת”, אומר גבריאל. למשל, באוגוסט האחרון, פורסמו תוצאות מחקר שערכו חוקרים מאוניברסיטת Purdue בארה”ב, במסגרתו נבדקו תשובות של ChatGPT ל-517 שאלות של מפתחי תוכנה שפורסמו באתר Stack Overflow. מהמחקר עולה כי 52% מהתשובות של ChatGPT כללו אי דיוקים, זה נתון מלחיץ. למרות זאת, המשתתפים העדיפו את התשובות של ChatGPT על פני תשובות של מפתחים אנושיים ב-39.34% מהפעמים. ChatGPT נותן תשובות מקיפות ומנומקות היטב כביכול, אנחנו מתפתים להאמין לו, ומוותרים על חוש הביקורת, שנחוץ לנו במיוחד במקרה הזה. הרי בנוסף על השאלה האם התוצאה מדויקת, קיימים חסמים נוספים שצריך לתת עליהם את הדעת כמו בעיות של אבטחת מידע, חשש מדליפה של קוד. לדוגמה, סיפור הדליפה של קוד המקור של אחד המוצרים החדשים של סמסונג עקב שימוש של המהנדסים ב- GenAI, או חשיפה לתביעות עקב שימוש בקוד שהמקור שלו אינו ידוע.

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

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

אם אני שם רגע זרקור על עבודת ה-DevOps, ניתן לפרק אותה לשלושה שלבים: התהליך של הביזנס ואיסוף הדרישות, הפיתוח עצמו כולל הבדיקות ובסוף האופרציות. בכל אחד מהם יכול להיות שיפור משמעותי בעזרת כלים של GenAI. למשל, אפשר להעביר ל-GenAI את תהליך הפירוק של מסמך הדרישות למשימות לפיתוח, כמו גם את הפיתוח של ה-test cases. מכונה תעשה את זה הרבה יותר מהר, גם אם נצטרך גורם אנושי שיבדוק לאחר מכן שהכול תקין. באופן כללי, בתוך תהליך CD/CI אם יש תקלות שחוזרות על עצמן, כלים אוטומטיים יכולים לזהות את התקלה ולתקן לבד. יחד עם זאת, חלק גדול מהעבודה הוא מול המערכת העסקית, ומצריך הבנה של סיטואציות מורכבות שהן יחסית ייחודיות, ופה היתרון הוא עדיין של הגורם האנושי.

טכנולוגיית ה-GenAI תעצים את יכולות ה-DevOps, והיא תאיץ תהליכי פיתוח. אבל חשוב לוודא שהמהירות אינה באה על חשבון האיכות. מאז ומתמיד יש שני עקרונות בסיס אשר מנחים אותנו ביישום DevOps, ועכשיו ביתר שאת: Quality at Speed – אנחנו מהירים, אבל לא על חשבון האיכות. כפי שראינו מהמחקר, במקרה של בינה מלאכותית, יש סיכון גבוה יותר שהמהירות תבוא על חשבון האיכות, ולכן חשובים במיוחד תהליכי בקרה. הסיסמה השנייה היא Stop the Line – אם פיתוח באמצעות AI ואוטומציה נותן לנו פס ייצור (Production line) ללא בקרת איכות מובנית, אז אנחנו נייצר הרבה יותר זבל, הרבה יותר מהר, ולכן בתוך התהליך אנחנו משלבים את כל סוגי הבדיקות. אנחנו “עוצרים את המכונה”, ולא נותנים לה להעביר קוד לא איכותי ו/או לא בטוח וכד’. באופן הזה, כשאנחנו מלווים ארגונים במסע להטמעת טכנולוגיית GenAI, אנו מאפשרים להם ליהנות מההזדמנות האדירה שמציגה המהפכה הזאת,  תוך גידור הסיכונים שלה.”

כל שוק הפיתוח נמצא בתהליך של Upskilling ו- Reskilling ועם ההכשרה המתאימה לשימוש בטכנולוגיה, יצמח פה דור של “סופר מפתחים”

לאוניד פבזנר, מרצה בכיר בג’ון ברייס, מסכים ומוסיף: “כל התלמידים אצלנו לומדים איך לעבוד עם Co-pilot. אבל זה לא מספיק לדעת לעבוד עם הכלי. נניח שהוא כתב לי שורת קוד, וזה אפילו עבר טסט, אבל האם זה בטוח? האם זה יעיל? שימוש בלעדי בכלי לא נותן לך את הכלים להבין ולשפר את מה שהוא כתב כמו שצריך. אז מצד אחד, נכון, כל תחום התוכנה עובר בימים אלה וצפוי להמשיך ולעבור שינוי דרמטי ויש כישורים שעוברים לקדמת הבמה כמו פתרון בעיות, כתיבת ספציפיקציות ומיומנויות של Code review. מצד שני, על מנת להשתמש בכלים האלה כמו שצריך, נדרש ידע מקדים, הכלים האלה מעצימים את היכולות של מפתחים, אבל הם לא מספיקים כשלעצמם. על מנת לעשות בהם שימוש נכון ולמצות את כל היכולות שלהם, צריך להגיע עם ידע, ולהבין את הדברים לעומק. צריך לתת למפתחים צעירים את הכלים להשתמש בטכנולוגיה באופן ביקורתי וחכם.

“תפקיד המפתח/ת ישתנה מביצועיסט של קוד  ל-דיג’יי של פתרונות אוטומציה ו-AI

ההשפעה של מהפכת ה-GenAI לא נוגעת רק לג’וניורים, אלא גם למפתחים מנוסים, שנדרשים לאמץ הרגלים חדשים לשימוש נכון בבינה מלאכותית. למעשה, כל שוק הפיתוח נמצא בתהליך של Upskilling ו-Reskilling ועם ההכשרה המתאימה לשימוש בטכנולוגיה, יגדל פה דור של “סופר מפתחים”. בעתיד, נראה גם שינוי יותר דרמטי בעבודת הפיתוח. מפתחים יצטרכו ללמוד לעבוד עם מודלים של GenAI, איך להתאים מודלים שכבר אומנו למשימות ספציפיות, איך עושים אופטימיזציה לאפליקציות של GenAI, איך מעצבים אפליקציות שמערבות שיתוף פעולה בין מפתחים אנושיים ו-GenAI וכך הלאה. יש תחומים בפיתוח שצפויים להעלם ואחרים יתפשו את מקומם. ההאצה של GenAI היא כה מהירה וכמות הפתרונות כבר היום היא עצומה, וצריך לדעת לעשות סלקציה ולהתאים את הפתרון הנכון בכל סיטואציה. מבחינת תפקיד המפתח/ת, זה יפנה יותר זמן לחדשנות וליצירתיות, ואולי התפקיד שלו ישתנה מביצועיסט של קוד ל-דיג’יי של פתרונות אוטומציה ו-AI.”

רוצים לשמוע עוד?

מלאו פרטים ונחזור אליכם בהקדם

כל השדות המסומנים ב * הינם שדות חובה

*
*
*
*