HiTakeJobHiTakeJob

מפתח/ת Embedded בישראל: מה התפקיד עושה, שכר, ואיך נכנסים

זמן קריאה: 7 דקות

מפתח/ת Embedded כותב/ת את התוכנה שרצה על מעבד בתוך מכשיר פיזי - חיישן, מכשיר רפואי, בקר תעשייתי או רכיב תקשורת - עם זיכרון מוגבל, דרישות זמן קשיחות ובלי מערכת הפעלה מלאה. בלוח HiTakeJob פתוחות כרגע 91 משרות שמזכירות Linux ו-21 שמזכירות Embedded C.

למה המדריך הזה על הקריירה ולא על ההגדרה

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

שבוע עבודה טיפוסי

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

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

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

מי מגייס בישראל

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

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

סולם ההתקדמות במקצוע

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

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

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

מה נמצא על שולחן העבודה

רשימת הכלים שמופיעה כמעט בכל משרה בתחום, ומה שכדאי להכיר לפני ראיון:

  • שפות: C היא עדיין הבסיס; C++ במערכות גדולות יותר; Python לכלי עזר ולבדיקות; פה ושם אסמבלי בקוד האתחול.
  • סביבה: שרשרת כלים מבוססת GCC, כתיבת קובצי בנייה, ולינוקס כסביבת פיתוח - ולעיתים גם כמערכת שרצה על המכשיר עצמו.
  • מערכות זמן אמת: משימות, עדיפויות, סמפורים, ומה שקורה כשמשימה בעדיפות גבוהה נחסמת על ידי נמוכה.
  • פרוטוקולי חיווט: UART, SPI, I2C, ובעולמות מסוימים גם CAN.
  • ציוד: מנפה חומרתי, מנתח לוגי, אוסילוסקופ ומקור מתח.

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

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

טווחי שכר - הערכת שוק

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

רמת תפקידותק בתחוםשכר חודשי ברוטו (הערכת שוק)
ג'וניור0-2 שנים18,000-25,000 ש"ח (הערכת שוק)
ביניים2-5 שנים27,000-38,000 ש"ח (הערכת שוק)
בכיר5-8 שנים38,000-52,000 ש"ח (הערכת שוק)
ארכיטקט / ראש צוות8+ שנים48,000-65,000 ש"ח (הערכת שוק)

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

מסלולי כניסה מעשיים

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

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

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

מה פתוח בלוח כרגע

אפשר להתחיל מ-21 משרות שמזכירות Embedded C, מ-21 משרות שמזכירות C ומ-91 משרות שמזכירות Linux. ל-12 משרות מופיעה המילה Embedded בכותרת, ובשדה הקטגוריות של הלוח מסווגות 12 משרות תחת תוכנה משובצת.

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

שאלות נפוצות

חייבים תואר בהנדסה?

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

האם צריך לדעת אלקטרוניקה?

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

מה ההבדל מול מפתח קושחה?

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

אפשר לעבוד מהבית?

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

האם התחום יציב מבחינת ביקוש?

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

איזה לוח פיתוח כדאי לקנות ללימוד?

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

האם AI משנה את התחום?

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

מאמרים נוספים

המשרות באתר