בואו נמצא עבודה
תפקידים בהייטק
6 ביולי 2021
בואו נמצא עבודה
6 ביולי 2021
ידעתם שבישראל פועלות כ-5,000 חברות סטארטאפ? לא רק זה אלא שגם מדי שנה נפתחות כ-500 חברות חדשות. מאות אלפי בני אדם עובדים בשוק הענק המצליח הזה. מדהים לא? 😱 אבל… אי פעם תהיתם לעצמכם מה בדיוק הם עושים? מה ההבדלים ביניהם? איפה שארפיז כמוכם נכנסים לתמונה?
בכתבה הזו אנחנו נספר לכם על המשרות הכי מגניבות, מיוחדות ומתקדמות בשוק, שעבורן חברות מגייסות שארפיז.
משרות פיתוח
מכיוון שיש מגוון רחב מאוד של מוצרים ופלטפורמות בשוק, כך גם יש צורך במגוון רחב של סוגי משרות. החל מפיתוח בשפת אסמבלי עבור הנדסת שבבים, שימוש בשפת C/C++ לתכנות בקרים, דרך Python, Java וC#- לתכנות Backend ועד Javascript ו-HTML עבור בניית אתרים.
משרות Backend ופיתוח תוכנה
במשרות פיתוח המטרה הראשית היא לפתח מערכות או פלטפורמות עבור החברה. בדרך כלל במשרות אלו כותבים בשפות High Level לדוגמת Python, Java, #C או אפילו C/C++. מטרת המערכת יכולה להיות מגוונת מאוד.
מספר דוגמאות למערכות: כתיבת אלגוריתמיקה למערכת AI, תמיכת Backend באתר אינטרנט, כתיבת תוכנה לרכיב סייבר שיושב ברשת לדוגמת Firewall, תכנות מערכת שתרוץ על מערכת הפעלה לא-סטנדרטית כדוגמת בקר (נקרא גם: תכנות embedded) וכעוד.
משרות Full stack/ Front-end
משרות Front End כוללות בדרך כלל שימוש ב-HTML,CSS וJavaScript- לטובת עיצוב ופיתוח אתרי אינטרנט. משרות Full Stack הן בעצם סוג של שילוב בין פיתוח אתרים ליכולות Backend ותמיכת שרת. מתכנתי Full Stack בעצם ידאגו לפתח פיצ'רים באתר (לדוגמת כפתורים), ולייצר מהם eventים שאחר כך יעברו לעיבוד בשרת שיתקשר למשל על Database. בדרך כלל מתכנתי Full Stack ישתמשו בפלטפורמות כמו Angular, React, Node.js ויצטרכו לשלוט היטב ב- JavaScript (או באחותה הערמומית והנחשקת TypeScript).
משרות Automation/ Verification/ Validation
נניח שיוסי השארפי גויס למשרת full stack ובנה אתר, ונניח שדניאלה השארפית גויסה למשרת Backend ובנתה תמיכה לאתר של יוסי. לפני שהחברה שמעסיקה אותם תפרסם את התוכנה ללקוח אמיתי, היא תרצה לוודא שהיא תקינה, נכון?
לשם כך הומצא תפקיד של בדיקת תוכנה. ישנם שני סוגים של בדיקת תוכנה: ידנית (QA=Quality Assurance שמפורט בהמשך) ואוטומטית. בתפקיד זה המתכנת יבדוק בצורה אוטומטית (כלומר בעזרת קוד) את התוכנה. המטרה היא לבדוק את תקינותה, את נכונותה ואת ביצועיה. גם כאן, בהתאם למערכת, המגוון הוא רחב מאוד ויכול להתפרש מבדיקת אתר, לבדיקת מגננות מערכת הגנת סייבר ועד בדיקת ביצועי רכיב מערכת הפעלה חדש שנבנה.
משרות טכנולוגיות
לא הכל זה קוד בחיים. אחרי שמפתחי הקוד (שעליהם פירטנו למעלה) סיימו לכתוב את המערכת שלהם, יש שני שלבים עד שהיא תהיה מוכנה לשימוש על ידי הלקוח: בדיקה ופרישה.
QA: המטרה של בודקי התוכנה היא לבדוק את נכונותה ותקינותה באופן יסודי ככל הניתן. עליהם לבדוק כל פיצ'ר שיש במערכת עד לפרט האחרון. לרוב, כמעט ולא תהיה התעסקות עם קוד אלא רק אולי עם כלי עזר טכנולוגים שמבצעים אוטומציה או ניתור פעילות התוכנה (דוגמא לכלי שכזה הוא Wireshark).
DevOps: הקיצור של DevOps מגיע משילוב המילים Development וOperations-. אופי התפקיד הוא בדיוק התיאור של שתי המילים הללו: תפעול התוכנה. המטרה של צוותי DevOps היא לעזור לצוותים לעבוד ביחד על פיתוח, בדיקות, הפצת הקוד, תפעולו והעלאת גרסאות.
אנשי DevOps ישתמשו בכלי אוטומציה ותשתיות שיאפשרו להם להריץ את קוד המערכת בסביבת Production, להרים ולהריץ VMים (או את התחליף המודרני שלהם: dockerים), לנהל גרסאות של המערכת עם הGit repository (CI/CD) ועוד. עיקר העבודה לא יהיה כתיבת קוד (אם כי כתיבת קוד היא כן חלק ניכר מחיי היומיום) אלא בעיקר עבודה בסביבות טכנולוגיות שונות ושימוש בהרבה כלים ופלטפורמות נפוצות כדוגמת Jenkins, Kubernetes, Dockers, Cloud (e.g. AWS/Azure) ועוד.
תפקידי מחקר
אלגוריתמיקה
תפקידי אלגוריתמיקה הם מגוונים ורבים והמטרה העיקרית בהם היא לבנות, לעצב ולהמציא את הBackbone/המוח/ החדשנות של המערכת. אמנם אלגוריתמיאים יכתבו לא מעט קוד במהלך עבודתם אבל מבחינתם הקוד הוא רק הדרך ולא המטרה. המטרה שלהם היא להמציא אלגוריתמים לפתרון בעיות, להבין האם הם feasible (כלומר ניתנים לביצוע), להבין את הביצועים שלהם ועוד. בדרך כלל לאחר שהם מייצרים איזשהו מוצר מינימלי שמוכיח את היתכנות הבעיה (נקרא גם POC= Proof of Concept), מעבירים את המשימה לצוותי הפיתוח כדי שיממשו את המערכת במלואה, ביעילות מירבית ויתנו התייחסות תכנותית למשימה. תפקידי אלגוריתמיקה הם רבים ומגוונים ויכולים להיות קשורים לנושאים של: עיבוד תמונה, Deep Learning, Machine Learning, מתמטיקה, סטטיסטיקה, רובוטיקה ועוד.
סייבר
הודות לצה"ל המכשיר לא מעט חיילים בתחום הסייבר (בקרוב אצלכם? 😊), מחקר סייבר הוא תחום חם מאוד בשוק הישראלי. המטרה הכללית במחקר סייבר הוא מחקר חולשות אבטחה בתוכנות, מערכות ואתרים. תפקידי מחקר סייבר יכולים לכלול קוד אך גם כאן, בדומה לפיתוח אלגוריתמים, הקוד הוא רק כלי לשם השגת היעד. כתיבת הקוד יכולה להופיע במהלך תהליך המחקר לשם חיפוש חולשות אוטומטי (כלומר אוטומציה של תהליכים), לשם שימוש בכלים של שפות תכנות (למשל קריאת קבצים ושימוש בספריות) או לשם השמשת חולשה (POC). תפקידי סייבר לדוגמא: Pen-Testing (Penetration Testing), Reverse Engineering, Malware analysis ועוד.
סיכום
משרה | מה צריך לדעת | יתאימו למשרה |
פיתוח תוכנה ו-Backend | תכנות ברמה גבוהה בשפות כמו Python, C, C++, Java, C# | שארפיז שכתיבת קוד זורמת בעורקיהם ורדיפת באגים עושה לכם את זה |
פיתוח Frontend/ Full stack | פיתוח ברמה גבוהה ב-Javascript, React, Angular, Node.js HTML | שארפיז שאוהבים לפתח אתרים ולעצב את חווית המשתמש במוצר |
Automation | ניסיון בפיתוח בשפות תכנות כלשהן לדוגמא Python או Javascript | שארפיז שרוצים לחוות פיתוח קוד במקביל להיות מחוברים לחווית הלקוח במוצר |
QA | זיקה טכנולוגית. בונוס: היכרות עם שפת תכנות כלשהי | שארפיז דקדקנים, קפדניים ומגדילי ראש שרוצים להיכנס לנעלי הלקוח |
DevOps | זיקה טכנולוגית חזקה והיכרות עם כלי DevOps נפוצים | שארפיז שמעוניינים להיות מחוברים מאוד לפן הטכנולוגי של מערכות מבלי לכתוב קוד כל היום |
אלגוריתמיקה | ידע רחב בתחום הרצוי (למשל Deep Learning) + ניסיון טוב בפיתוח בשפת תכנות כשלהי | שארפיז בעלי מוטיבציה ותשוקה לתחום המחקר |
סייבר | ידע רחב בתחום החקר סייבר + ניסיון בפיתוח בשפת C/C++, היכרות עם אסמבלי וPython | שארפיז בעלי תשוקה למחקר חולשות, pen-testing וwhite hacking |
השאירו תגובה
רוצה להצטרף לדיון?תרגישו חופשי לתרום!