מה להשלים מקצועית?

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

אחרי התקופה המאוד אינטיסיבית הזו, ואולי גם בעקבות הקורונה - אני מרגישה שיש הרבה פחות משרות שפתוחות בפני, ואני רואה שיש לא מעט משרות שאני כמעט מתאימה להן (כמי שעסקה בשנים האחרונות בתכנות C++ Server side / backend) - אבל תמיד יש תנאי או שניים שנמצאים ברשימת הדרישות שפוסלים אותי. אני בגדול מתלבטת לגבי השלמה טכנולוגית, רק אני מרגישה שיש בגדול שני כיוונים שהייתי רוצה לתעדף מבחינת יכולת וזמן הלימוד שלי.

יש כיון אחד של השלמה של כל הטכנולוגיות שאני זקוקה להן כדי להמשיך ולעבוד ב server side. בגדול מדובר על שדרוג של שפה (רוב המשרות דורשות Java או פייתון, GO ו PHP גם מוזכרות לא מעט), רענון ועדכון הידע שלי בכל מה שקשור לעבודה מול databases, ולמידה של טכנולוגיות שלא הכרתי (כמו למשל עבודה מול ענן). מצד אחד, מדובר פה על לא מעט ידע שאני צריכה להשלים - אבל מצד שני זה עדיין התחום שיותר מעניין אותי מבחינה מקצועית.

הכיוון השני הוא מעבר ללינוקס - שרוב משרות ה C++ נמצאות בו. מצד אחד נשמע שיהיה לי יותר קל להשלים פה את הידע, אבל מעבר לעובדה שרוב המשרות בתחום הזה פחות מעניינות אותי (לרוב מדובר על embedded / RT), הרוב המכריע של המודעות בתחום דורשות "ניסיון מוכח של X שנים מעל לינוקס".

אשמח לשמוע אם יש פה למישהו תובנות בנושא.
תודה!
 

choo

Active member
עבדת ב-++C על windows? השאלה מה אהבת בזה?
&nbsp
יש הרבה עבודה בתחומים של תיכנות מערכות ב-++C מעל לינוקס, שאינה קשורה לזמן אמת ולא למערכות משובצות. לרוב יהיה מדובר בפיתוח תוכנה עתירת ביצועים, בתחומים תשתיתיים. ספציפית אצלנו בחברה יש כמה עשרות מפתחים שעובדים במספר תחומים ב-C++ מעל לינוקס, וממש לא מדובר במערכות משובצות (שרתים בעלי כמה מאות ג'יגה זכרון ומעל לעשרה מעבדים בכל אחד).
&nbsp
לגבי המעבר לעבודה בלינוקס - אם הנסיון המקצועי שלך הוא מדומיין דומה לזה של החברה המעסיקה, זו תהיה בעיה קטנה יחסית מבחינתם. אם הנסיון המקצועי שלך הוא בדומיין מאוד שונה - אז כל דבר נוסף מהווה מכשול.
&nbsp
נ.ב. כשיש במשרה עשר דרישות, אם את עונה על חצי מהן בצורה טובה - שלחי קורות חיים. הארגון שעומד מאחורי המשרה היה שמח למצוא מישהי שעונה על כל הדרישות, אבל מאחר ואין בנמצא - הוא יוותר על חלק מהדרישות עבור מועמד שהיה חזק מספיק בראיונות.
 
נושא הדומיין הוא בעייתי...
עסקתי בשנים האחרונות בתחום ה PLM, אבל אני לא בטוחה אם יש עוד חברות בארץ שעוסקות בזה, ולכן אין לי ידע שהוא ספציפי לדומיין רלוונטי. אמנם יש כמה דומיינים שנשמעים לי מעניינים (סייבר, עיבוד תמונה) אבל אין לי ידע או ניסיון בהם.

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

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

choo

Active member
זה הזמן להפעיל קשרים - להעביר קורות חיים דרך חברים ומכרים
&nbsp
זה יעזור לך לעקוף את המחסום הראשון ולהגיע לראיון.
&nbsp
ובפעם הבאה - השתדלי לא להידחק לתחום שאין בו מגוון מספיק של מעסיקים.
 

סימבה8881

New member
התחום של פיתוח תוכנה עתירת ביצועים בתחומים תשתיתיים
שהם לא Real Time/Embedded עובר מ C++ ל Go.
הבינו שב Go הרבה יותר קל ונוח לפתח מאשר ב C++ וגם Go לא כ״כ רחוקה מ C++ מבחינת ביצועים + פיצ׳רים של השפה כמו פוינטרים.
&nbsp
 

choo

Active member
שמעתי את הסיפורים הללו בעבר לגבי ג'אווה - נחיה(?) ונראה
 

eveik

New member
לא הייתי מהמר על זה..
לא עבדתי המון עם Go אבל נראה שהיא אחלה כשאתה רוצה לבנות APIs וקצת פחות כשאתה רוצה לבנות אפליקציה שלמה עם business logic מורכב.
&nbsp
אם כבר, נראה שהעולם הולך לtypescript כרגע, אבל כמו שאתה אומר - נחיה ונראה..
 

סימבה8881

New member
אני כמובן לא מהמר על העתיד בתחום התוכנה
ההתרשמות שלי נובעת מזה שחברות כמו גוגל ופייסבוק משתמשות ב Go בשביל פרויקטים תשתיתיים מהסוג ש choo דיבר עליהם. ייקח המון זמן עד ש C++ תיעלם (אם זה יקרה בכלל) גם בסוג הספיציפי הזה של הפיתוח.
 

ipv6

Member
בכל פרויקט מודרני יש הרבה שפות
שמשמשות להרבה צרכים.
עדיין,
ה-heavy lifting ב-GCP ("תשתיות עתירות ביצועים", בערך רבע מהעובדים בגוגל) נעשה ב-C/C++..
 

סימבה8881

New member
Java is here to stay
יש לה עכשיו ילדה קטנה וחוצפנית קוטלין שנוגסת בה.
אבל בתכלס קוטלין זה ג׳אווה (עם כל האקוסיסטם של ג׳אווה והסביבה של JVM) רק עם סינטקס יותר נוח.
הוורבוסיות של ג׳אווה הולכת וקטנה מגרסא לגרסא.
לפחות ב Java 14 יש Record (שזה בול data class בקוטלין או case class בסקאלה).
 

hadooper

New member
אמממ... אני בספק...
Go בהחלט צוברת פופולריות ונכון ל2019 היא המובילה בגובה השכר למפתחים לפי סקר של stackoverflow.
&nbsp
אם מדובר ב on-prem, אז לעתים היא גם יכולה מאד לסייע בייעול צריכת משאבים (עם דגש על זכרון, בעיקר ביחס לג'אווה).
 

eveik

New member
כמה זמן את עובדת שם?
הכל אצלכם on premise? ואין לכם באפליקציה שום עבודה עם דאטהבייסים?
&nbsp
לא חושב שיצא לי לראות אף חברה שמשתמשת ב c++ לבקאנד (זה לא אומר שאין, את מוכיחה שיש, אבל כנראה שמעט מאוד).
&nbsp
אם אין לך שום ניסיון בעבודה עם קלאוד, שום ניסיון בשפה "יותר עדכנית" ולא עבדת עם דאטהבייס - אנשים יתהו מה כן עשית. כמו שאת בעצמך רואה שיש לך לא מעט פערים להשלים, גם המגייסים שלך ייראו את זה, ויתהו אם "להמר" על זה שתצליחי להשלים את כל הפערים האלו בזמן סביר, שזה בכלל לא טריויאלי.
 

ipv6

Member
הדומיין יותר חשוב מהשפה
לדעתי הבעיה שלך היא לא השפה עצמה (לא קשה לעבור מ-C++ לJava או פייתון, את האחרות אני פחות מכיר) וההרגשה שלי (מהסתכלות על השוק רגע לפני פרוץ הקרונה) שמעסיקים נותנים הזדמנות.
לתפקידי backend של מערכות web/mobile ירצו שתכירי גם את העולם הזה: עבודה עם DB-ים מסוגים שונים, ארכיטקטורות רלוונטיות, שירותי קלאוד פופולאריים(אמזון\גוגל\מיקרוסופט) תכנון מערכות לסקייל גדול וכו'. לדעתי זה המכשול הגדול שלך ולא זה שאת באה מרקע של CPP.

C++ משמשת בעיקר לפיתוח-
1. פיתוח תשתיות (למשל מערכות Storage) שבו נושא הביצועים קריטי.
2. מערכות security, בעיקר לווינדוס.
3. מערכות בנקאיות\פיננסיות (קיים במידה מעטה בארץ).
4. משחקי מחשב (לדעתי לא קיים כמעט בארץ, אבל אולי אני לא מכיר מספיק).

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

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

hadooper

New member
לגבי גיימינג
כיום רוב החברות הן מובייל גיימינג, אבל אני מתקשה להאמין שמישהו שם עדיין כותב משהו בC++ (אם כן אז מעטים מאד). לרוב משתמשים ב unity שמאפשר שימוש בC# או JS.
&nbsp
וכן, אני לא זוכר כמעט חברות גיימינג בארץ, להבדיל כמות הגיימינג שקיימת במדינה בה אני חי (שאולי יש שיקראו "מעצמת גיימינג").
 

ipv6

Member
התכוונת למשחקים כמו Call of Duty
שרצים על PC עם גרפיקה כבדה.
 

הפרבולה

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

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

asdf96

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

hadooper

New member
למה קבעת שלא?
זה בהחלט המצב.

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

זה נכון שהרבה פעמים שפה מסויימת מגיעה באותה חבילה עם איזו נישה ספציפית, למשל C++ מגיעה עם low lever, וסקאלה (השפה הכי מתגמלת ב2019 בארה"ב) מגיעה עם פרדיגמת התכנות הפונקציונאלי. אבל מהנדס חזק אמור להיות במצב שבו הוא מספיק גמיש ופתוח-חשיבתית להיכנס מהר לנישות כאלה די ללמוד אותן לעומק.
 
למעלה