C++ Developer

מס' משרה: 241329
אזור בארץ: שפלה
תעשייה: Defense
סוג משרה: משרה מלאה

תחומי אחריות עיקריים:

  • פיתוח ותחזוקה של ספריות ויישומים ב־C++ עבור Linux.
  • בנייה וניהול של קבצי ‎.so (ספריות משותפות בלינוקס) וחשיפתם לשימוש מתוך C# באמצעות P/Invoke, C++/CLI או שיטות אינטגרציה אחרות.
  • הסבת קוד C++ קיים מ־Windows ל־Linux (שימוש ב־GCC/Clang).
  • אופטימיזציה של קוד C++ קיים לשיפור ביצועים (עומסי CPU ועומסי קלט/פלט).
  • כיוונון שימוש בזיכרון, צמצום דליפות זיכרון וביצוע פרופיילינג ודיבאג באמצעות כלי Linux.
  • הבטחת תאימות, יציבות וביצועים גבוהים של מודולי C++ על פני הפצות Linux שונות.
  • שיתוף פעולה עם מפתחי C# כדי להבטיח אינטגרציה חלקה והתאמה בין הממשקים.
  • כתיבת קוד נקי, מתועד היטב ומכוסה בבדיקות יחידה (Unit Tests).

דרישות חובה:

  • שליטה חזקה ב־C++ (C++11/14/17) וניסיון בשיטות פיתוח מודרניות.
  • ניסיון מוצק בפיתוח לינוקס: קומפילציה עם GCC/Clang, עבודה עם Makefiles/CMake, שימוש בכלי דיבאג ופרופיילינג כמו gdb, valgrind, perf, gprof או heaptrack.
  • ניסיון ביצירה ותחזוקה של ספריות משותפות (.so) בלינוקס.
  • ניסיון באינטגרציה בין מערכות: עטיפת ספריות native לשימוש באפליקציות C# באמצעות P/Invoke, SWIG, C++/CLI או שיטות אחרות.
  • ניסיון בהסבת פרויקטי C++ מ־Windows ל־Linux.
  • יכולות אופטימיזציית ביצועים: ניתוח CPU וזיכרון, שיפור אלגוריתמים והפחתת השהיה.
  • ניסיון בכיוונון זיכרון וזיהוי דליפות זיכרון בלינוקס.
  • ניסיון עם מערכות ניהול גרסאות (למשל Git).

יתרונות (רצוי):

  • היכרות עם פיתוח C++ ב־Windows ואתגרי מעבר מ־Windows ל־Linux.
  • ידע ב־.NET או C# וניסיון באינטגרציה של מודולים native בתוך סביבות מנוהלות (managed).
  • היכרות עם כלי קונטיינרים כמו Docker לפיתוח ובדיקות.
  • ניסיון עם CI/CD לפרויקטי C++.
  • הבנה בתכנות רב־תהליכי (multithreading), תכנות מערכות נמוך־רמה או מערכות זמן אמת.