הכשרת מפתחים מתחילים

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

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

זהו פרדוקס הניסיון: אי אפשר להשיג ניסיון בלי עבודה, אי אפשר להשיג עבודה בלי ניסיון.

בבלוג של וויקס, בפוסט שכותרתו How to pass an interview at Wix, כתב אחד המפתחים את רשמיו בנוגע לתהליך הקבלה של סיניורים:

During the last couple of months I’ve interviewed a quite a few people for Senior Developer/architect positions here at Wix (Java). A complete surprise to me and my colleagues was the high number of inadequate candidates that applied to the position. Here at Wix we do have very high hiring standards, and we did turn down some highly capable candidates because we weren’t sure they a good match for our team, but most of the people who came to the interviews didn’t match even the basic requirements.

מכאן מתחילה רשימה של טיפים מתובלים ב"הומור":

You should be able to write a basic recursion on a piece of paper. In your sleep, with both hands tied behind your back. Calculate a factorial, for example. There is no excuse for you if you can’t. All recursion takes is an understanding of the programming language that you’re writing with, your most basic tool, works. It doesn’t matter if you never ever used recursion in your career. (I had, by the way). You never know when this pesky recursion will be the most effective way to do something, and anyway – we all going to write in functional languages soon enough, right ;-)?

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

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

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

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

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

אם זה המצב אצל מפתחים מנוסים, מה יגידו ג׳וניורי הקיר?

הכשרת ג׳וניורים והפיכתם למפתחים מנוסים ויעילים נראית לכולם (כלומר, לחלק מכולם) כמו תיק – ואולי גרוע מכך: פאוץ׳ – שאף אחד לא מוכן לקחת על עצמו.

אפשר להבין למה אף אחד לא ירצה פאוץ׳, זה מכוער פצצות ומטאפורה ביזארית.

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

אפקט הגולם

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

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

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

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

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

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

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

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

קחו דקה לעכל את זה.

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

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

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

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

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

אז מה לעשות?

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

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

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

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

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

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

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

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

סליחה על המניפסט הקפיטליסטי, ושכל הג׳וניורים יהפכו לפרפרים במהרה.

7 תגובות בנושא “הכשרת מפתחים מתחילים”

  1. מה הכוונה לעבוד מרחוק?

    ויש תכניות אינטנסיביות לאנשים שכבר למדו בתכנית לא כזאת אינטנסיבית? P:

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

  2. "אם אין במקום אווירה תחרותית רעילה, למה להעביר מסרים כאלה?" – למה את חושבת שאין?

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

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

  4. הי לך יקירה
    כתיבה מדהימה!

    האם את מכירה פתרונות / חברות אשר מכשירות להייטק בתהליך מובנה +השמה מובטחת? בארץ או בעולם ?

    האם את מכירה חברה אשר מתמחה בג'וניורים? בארץ או בעולם?

    תודה

כתיבת תגובה

האימייל לא יוצג באתר.

14 + twelve =