התלבטות לגבי משרת סטודנט(פלוס דיון לגבי משרות תוכנה בחברות חומרה)

elad1234512

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

בנוסף קיבלתי זימון בצ'ק פוינט לתפקיד Security Analyst Student ואני לא ממש בטוח כמה התפקיד הזה הוא באמת פיתוח וכמה הוא יקדם אותי בעתיד, מה דעתכם ?

אלה הפרטים על התפקיד:


Your Team​

As part of our focus to provide the best real-time threat prevention service to our customers, our team works on analyzing current cyber security threats and developing protections within Check Point Threat Prevention products. Precise intelligence regarding current activity is crucial in order to provide excellent protection from broadly distributed threats, as well as targeted attacks.​


Your Impact & Responsibilities​

Analyze new threats, and provide real time protection against them within Check Point threat prevention products:
  • Analyze cyber activity world-wide, based on Check Point’s thousands of sensors, to identify current campaigns and potential detection gaps​
  • Monitor open sources (OSINT), including security blogs and publications, and report on trends in the threat landscape​
  • Provide technical analyses of suspicious and malicious files and communications​
  • Address alerts and requests coming from internal field representatives and customers regarding threat coverage, and provide immediate mitigation for active attacks​
  • Develop tools and automated processes for internal use, to improve coverage, speed and efficiency of the various analyses​
תודה רבה על העזרה!
 

vinney

Well-known member
אלה משרות שונות מאוד. אחת היא משרת פיתוח והשניה היא משרת אנליסט (מנתח/חוקר).

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

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

Nuke1985

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

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

choo

Active member
"קצת" באיחור, כי קיוויתי שיענו אנשים שיותר "מהתחום" הרלוונטי:

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

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

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

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

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

קלייטון.ש

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

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

elad1234512

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

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

קלייטון.ש

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

elad1234512

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

קלייטון.ש

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

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

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

River2020

New member
הייתי הולך למשרת פיתוח רגילה ואז בסוף התואר תחליט אם מתאים לך תכנות או שאתה מעדיף ללכת יותר לכיוון של data scientist ואלגוריתמים
לא הייתי הולך על 2 המשרות שרשמת פה אבל זה העדפתי האישית להיי לבל
 

elad1234512

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

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

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

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

הייתי הולך למשרת פיתוח רגילה ואז בסוף התואר תחליט אם מתאים לך תכנות או שאתה מעדיף ללכת יותר לכיוון של data scientist ואלגוריתמים
לא הייתי הולך על 2 המשרות שרשמת פה אבל זה העדפתי האישית להיי לבל
האמת שהתראיינתי בעוד מקומות למשרות שהן יותר היי לבל, לצערי לא עברתי ראיון ראשון/שני למרות שעניתי על השאלות leetcode כמו שצריך(אחרי זה נכנסתי לאתר ובדקתי ואכן הייתי במקסימום יעילות ואלגנטיות בפתרון) אולי כי בראיונות אני מאוד לחוץ ומתנהג מוזר ... אין לי מושג- כשביקשתי פידבק נתנו לי תשובות ג'נריות בסגנון של אין לי מספיק ידע רלוונטי, "התרשמנו ממך מאוד אבל מצאנו מישהו יותר מתאים ונשמח להיות בקשר לעתיד" וכו. כרגע אין לי עוד ממש משרות באופק הקרוב ומצד שני זה לא שמשעמם לי, אני יכול להעלות עוד את הממוצע. לא מספיק השקעתי בשבילו עקב משברים נפשיים שקרו לי לאורך התואר וכמעט את כל הקורסים למדתי בכמה ימים לפני המבחן (מזל שהכל מוקלט בימינו כי לפני ההקלטות הייתי נאלץ להשלים מסיכומים קורסים שלמים וקשים)

תודה רבה על התגובות!
 

קלייטון.ש

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

Nuke1985

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