כך התנתקו מדעי המחשב באקדמיה מעולם ההייטק שבחוץ

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

סטודנטים בספריה / צילום: שאטרסטוק
סטודנטים בספריה / צילום: שאטרסטוק

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

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

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

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

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

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

מה עם לימודי ענן? או גיימינג?

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

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

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

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

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

צריך להתנסות, ולעשות טעויות

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

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

עוד קודם לכן, אומר ר'זינסקי, הוא למד את הבסיס באינטרנט: בעזרת האתר codeschool, שעתיר באנימציות, סיפורים, שירים ותרגילים. "לדוגמה, היה שם סיפור על משפחה עם חנות תכשיטים שצריך לבנות לה אתר. קודסקול בנוי בצורה מאוד טובה: הסטנדרטים גבוהים, למדתי מזה הרבה". למי שרוצה להיכנס לעולם הזה הוא מייעץ "קודם כל ללמוד HTML, ג'אווהסקריפט ו-CSS. חשוב לזכור שמתכנתים הם לא רופאים. זה עולם שמותר לעשות בו טעויות. אפשר להתחיל מלמטה, ללמוד לבד, לנסות, ומקסימום לפשל. יש מקום למתכנתים מתחילים וזוטרים, כי הם עושים את העבודה השחורה. פעם, פעמיים, 30 פעם. בסוף לומדים".

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

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

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

■ הכותב הוא סטודנט לניהול ומדעי המחשב באוניברסיטה הפתוחה ומתכנת ווב באסותא