באיזו שפת פיתוח כדאי לבחור?

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

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

האם כדאי לבחור ב++C, C#, C או JAVA?

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

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

למה דווקא JAVA

למה לא? הייתם קהל נהדר, תודה והיו שלום, עד הפעם הבאה. וברצינות, וקצת יותר לעומק, לשפת JAVA הוותיקה יש מספר יתרונות:

  • כמה קל להכנס למשרה כשאין ניסיון - הכניסה למשרות Java היא יחסית קשה, בהיעדר ניסיון. בלי תואר, רצוי מאוניברסיטה, רצוי מאוניברסיטה טובה, ולא פעם בממוצע גבוה (85 לפחות) היא דרישה די בסיסית במשרות של Java, וכ-52% מהמשרות שלנו דרשו תואר ראשון בהיעדר ניסיון.
  • עבודה בגיל מאוחר - שנות הניסיון הממוצעות של מהנדסי ה-JAVA, על פי בדיקה שערכנו לאחרונה, עומדות על כ-6.9 שנים. היו לא מעט מהנדסים עם הרבה מעל 10 שנות ניסיון, והרבה עם בין 0-2 שנות ניסיון, כך שהממוצע לא לחלוטין מייצג. כמהנדסי JAVA לא תהיה לכם בעיה למצוא עבודה, גם שתהיו מבוגרים יותר.
  • שכר - השכר הממוצע של מהנדסי ה-JAVA עומד על כ-20,200 ₪, והוא גבוה ביחס לממוצע בתעשיית ההייטק.
  • כמות המשרות - כמות המשרות ב-JAVA היא גדולה באופן עקבי. יש ב-JAVA מספר משרות זהה לכמות המשרות של C#, ופי שתיים יותר מכמות המשרות שיש ל++C.


למה דווקא DotNet

למפתחי דוטנט יש כמה יתרונות על פני מפתחי ++C או Java:

  • כמה קל להכנס למשרה כשאין ניסיון - משרות Dotnet (או C#) מגיעות עם דרישות פחות נוקשות בהקשר של התואר, כשאין לכם ניסיון. ראשית, לא יעמדו על כך שיהיה לכם תואר מאוניברסיטה, ושנית, פחות מ-50% מהמשרות דורשות שיהיה לכם תואר.
  • עבודה בגיל מאוחר - בבדיקה שערכנו, מצאנו שהגיל הממוצע של המפתחים עומד על כ-6 שנים. קבוצת "חסרי הניסיון" (בין 0-2 שנות ניסיון) היתה גדולה, אבל חלק נכבד של מהנדסי דוטנט עם מעל ל-10 שנות ניסיון (השיא – 20 שנות ניסיון). משמעות הדבר היא שמפתחים שנותרו קרוב לברזלים, לא יתקשו למצוא עבודה גם בגיל "מבוגר".
  • שכר - השכר הממוצע הוא הנמוך מבין שלוש השפות, עם זאת, אבל לא בצורה משמעותית, והוא עומד על כ-17,500 ₪ לחודש "בלבד".
  • כמות המשרות - כמות המשרות בתחום היא גדולה מאוד, והיא זהה בכמות המשרות ל-JAVA ופי שתיים מכמות המשרות של ++C, מה שאומר שזו שפה נדרשת, ושקל יחסית למצוא בתחום עבודה.
    חושבים ש-C# היא שפה קשה? אנגלית יותר...

למה דווקא ++C

למפתחי ++C יש כמה יתרונות:

  • כמה קל להכנס למשרה כשאין ניסיון - החסרון הראשון הוא הדרישה לתואר. אחוז עצום (76%) מהמשרות לשפת ++C מגיעות עם דרישה לתואר ראשון חובה. הדרישה הזו נפוצה גם בקרב משרות בשפת JAVA, והרבה פחות במשרות בשפת C#, שלא פעם מסתפקות רק בניסיון.
  • עבודה בגיל מאוחר - בבדיקה שערכנו, מצאנו שהגיל הממוצע של המפתחים בשפת ++C עומד על כ-8 שנים בקירוב. זהו הממוצע הגבוה ביותר מבין שלוש שפות הפיתוח הללו, והוא נובע ספק מהעובדה ששפת ++C היא וותיקה יותר, וספק מהעבודה שמשרות בתחום מחפשות ניסיון רב יותר. ++C כמו גם C, משמשות לפיתוח קרוב לחומרה לא פעם (Embedded) ובתחום זה הגיל הממוצע גבוה מאוד, ולא נדיר למצוא שם עובדים בני 50+, מה שעשוי גם כן להסביר את העובדה שהגיל הממוצע בקרב מפתחים בשפה זו הוא גבוה.
  • שכר - גם השכר של מפתחי ++C גבוה יותר, והוא עמד בממוצע על כ-21,300 ₪ לחודש. ניתן להסביר גם את הנתון הזה בעבודה שהגיל (ושנות הניסיון) בשפה זו הוא גבוה יותר בהשוואה לשתיים האחרות.
  • כמות המשרות - ומה לגבי כמות המשרות? כמות המשרות בתחום היא גדולה יחסית לתעשיית ההייטק, אבל קטנה יחסית למשרות בשפות JAVA או C#. בשפת ++C יש רק כמחצית מכמות המשרות ב-JAVA, או ב-C#.


כפי שניתן לראות, לכל אחת משלוש "מלכות התוכנה" יש את היתרונות והחסרונות שלה, וכעת נסכם:

כניסה - שלוש השפות דורשות תואר במדמ"ח / תוכנה, אבל בעוד שרוב מוחלט של משרות בשפת ++C ידרוש תואר, רוב קטן של משרות בשפת Java ידרוש את זה, ופחות ממחצית המשרות בשפת C# תדרושנה תואר.

שכר – ב-++C מרוויחים מעט יותר (21,300 ₪ בממוצע). JAVA במקום השני (20,200 ₪ בממוצע) ו-C# מגיעה במקום השלישי (17,500 ₪ בממוצע).

כמות המשרות –ב-++C יש רק חצי מכמות המשרות שיש בכל אחת משתי השפות האחרות. ב-JAVA וב-C# יש פחות או יותר את אותה כמות משרות. כמות המשרות בשלושתן היא גדולה, ביחס לכמות המשרות בתחומים אחרים בתעשיית ההייטק, כך שלמי שיבחר להתמחות בכל אחת מהשלוש, לא צפוי מחסור בעבודה.

שנות ניסיון – שנות הניסיון הממוצעות של מהנדסי השפות השונות עמד על 6 שנים [C#, השיא 20], 7 שנים [JAVA, השיא 15] ו-8 שנים [++C, השיא 28!]. באף אחת מהשפות לא תהיה לכם בעיה למצוא עבודה גם בגיל "מבוגר", כל עוד תשארו קרובים לברזלים.