יום שלישי, 19 ביולי 2016

מדעי המחשב - כל מה שאתם צריכים לדעת

Google Glasses
"אנשים לא מבינים את זה, הם לוקחים את זה כמובן מאליו, אבל מהפכת המחשוב היא המהפכה הגדולה ביותר ב-40 השנים הארונות.

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

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

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

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

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

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

מה בדיוק לומדים בתואר למדעי המחשב?

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

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

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

הקורסים התיאורטיים \ מתמטיים

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

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

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

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

הקורסים הפרקטיים

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

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

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

  • בסיסי נתונים - Data-Bases
  • רשתות תקשורת מחשבים
  • קורס בטכנולוגיות אינטרנט Java-Script, HTML, XML, CSS
  • פרוייקט גמר הכולל אפיון מלא של המוצר, תכנות צד לקוח, צד שרת
  • היכרות עם מערכת הפעלה Linux

למי התואר הזה מתאים?

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

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

למי מומלץ ללמוד באוניברסיטה?

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

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

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

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

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

למי מומלץ ללמוד במכללה?

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

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

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

באיזה מוסדות לימוד מומלץ לעשות את התואר?

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


מה עושים אם הפסיכומטרי / ממוצע בגרויות שלכם הוא נמוך?

לאחרונה באתר The Marker פורסמה כתבה מעניינת שעוסקת בין היתר בקשר בין גובה המשכורת לאחר התואר לבין מקצוע הלימוד והתגלה כי:

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

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

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

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

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

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

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

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

אפשרויות תעסוקה *תוך כדי* התואר

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

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

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

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

כמה צפוי להרוויח בוגר תואר עם ציונים טובים בשנים הראשונות?

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

במהלך התואר, משרות של תמיכה טכנית 30-40 ש"ח לשעה, משרות QA יקבלו 40-60 לשעה ומשרות תכנות 60-80 לשעה. כמובן שיש הטבות כמו מתנות לחג, כרטיסי אוכל Cibus, 10bis וכו'.

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

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