Smore logo
remove_red_eye 1.2K
page background

ניוזלטר "באות" - אפריל 2020

קהילת נשים מנוסות במחקר ופיתוח במדעי המחשב

2020 לירפא -"תואב" רטלזוינבשחמה יעדמב חותיפו רקחמב תוסונמ םישנתליהק

מפתחות אמבדד

ראיינו אחת עשר מפתחות אמבדד מהקהילה.


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


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


הילה עמר מנהלת צוות פיתוח real time ברדווין. ״המוצר של החברה בגדול הוא יחידה שיודעת להעביר wifi (כמו router), רק שאנחנו יודעים לעבוד בטווחים מאוד גדולים ובקצבים יחסית גבוהים. המוצר שהצוות שלי ספציפית מפתח הוא העברת wifi לתחבורה ציבורית בזמן תנועה. על מנת לדמות את השטח אנחנו מסמלצים נסיעת רכבת, ממש מהירות, מרחקים בין היחידות, הפרעות וכו׳. בגלל שהסביבה מאוד דינאמית הריצות הן לא מספיק דטרמיניסטיות ולכן כאשר נתקלים בהתנהגות לא רצויה השחזור הוא לא טריוויאלי ולעיתים לוקח זמן להתמקד על הבעיה ולפתור אותה. האתגר השני הוא ב- Deployment. כל פרוייקט הוא לא דומה לפרוייקט הקודם ויוצא שבכל מקום אנחנו נתקלים בדברים חדשים שעוד לא הכרנו. זה מצריך מהמערכת להיות מאוד גנרית מה שלעיתים עלול לעלות באפקטיביות שלה. ברדווין יש הון אנושי מדהים שפשוט כיף לבוא לעבודה. המוצר, התפקיד - אני עובדת על המוצר הזה יחסית מתחילתו, הוא לעיתים מרגיש כמו הבייבי שלי וכיף ומספק לראות כמה הוא התפתח עם השנים. לפתור בעיה קשה או לממש פיצ'ר חדש ולשמוע שהוא עובד טוב בשטח וכולם מרוצים זה הסיפוק הכי גדול. דיבוג בשטח אצלנו הוא לא טריוויאלי שכן הרכבות כל הזמן בתזוזה ומאוד קשה לתפוס את הבעיה כמו שצריך, אבל כשזה קורה ואנחנו מצליחים זה הרגשה מעולה.״


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


ליאורה גולן היא מפתחת C++ באדוה. ״המוצר שלנו מיועד לסנכרון רשתות תקשורת. אנחנו צוות של 4 מתכנתים שמתעסקים בכתיבת דרייברים, ממשקי בדיקות לחומרה שלנו, הוספת פיצ'רים חדשים וכמובן תחזוקת הקוד הקיים ופתרון בעיות מורכבות. ביום יום אנחנו בעיקר חוקרים את הקוד ומנסים למצוא פתרונות אופטימליים לבעיות והאילוצים שלנו, ובנוסף אנחנו כותבים ממשקי תוכנה לכרטיסים החדשים במערכת. האתגרים הם פתרון בעיות בזמן המהיר ביותר, המון reverse engineering לקוד מסובך. העובדה שרשתות סלולר בכל העולם מתבססות על המוצר שלנו תורמת מאוד לסיפוק שבעבודה.״


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


הילה לסרי היא מהנדסת אמבדד בכירה בוואלנס, חברת סמיקונדקטור המפתחת צ'יפים המאפשרים העברה באיכות גבוהה של אודיו ווידאו לא דחוסים בטכנולוגיית HDBT, עבור Professional Audio Video ואוטומוטיב. באחד מתפקידיה לאחרונה, הייתה חלק מצוות מחקר ופיתוח ראשוני של צ'יפ חדש. ״תפקיד שאני מאוד גאה בו. בשנה זו עבדתי בקבוצה מצוצמצת ששילבה Chip Architects, מנהלי מוצר ומהנדסי חומרה ותוכנה. מטרת הקבוצה היתה לתכנן את בסיס הצ'יפ. תקופה זו היתה סופר מאתגרת וסופר מעניינת עבורי. הרגשתי שאני תורמת הרבה לידע של שאר הקבוצה וגם למדתי המון באותה תקופה. חוץ מזה, אלה אחלה אנשים אז גם היה נעים ומצחיק.״


טל קריג היא מהנדסת תוכנה real time embedded במחלקת מו"פ של חטיבת כלי טיס באלביט מערכות, שם היא מפתחת מערכת ראיה היקפית לטנקים. ״העבודה לא מתחילה ולא נגמרת בקיוביק לבד מול המסך. חלק ניכר מהפיתוח מתבצע במעבדה, בבדיקת התוכנה על גבי החומרה הייעודית ובאינטגרציות עם מהנדסים מדיסציפלינות שונות.

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

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

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


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

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


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


אולה כהן מפתחת real time באלוט. ״המוצר שלנו זו חומרה או תכנה שיושבת על תשתיות האינטרנט של חברות תקשורת ומנטרת אותן, אז יש לנו המון מידע שאפשר לעשות איתו דברים מגניבים, כמו זיהוי ועצירה של מתקפות סייבר על הרשת. הצוות שלי הוא חלק ממחלקה שאחראית על החלקים הכי לואו לבלים בחברה: תקשורת מול הקרנל, פיענוח של הפאקטות ושמירת המידע הרלוונטי. בתוך כל זה, הצוות שלי אחראי על מנגנוני ההחלטות לגבי קונקשנים במוצר: איזה תיעדוף מקבל הקונקשן, את מי לחייב על התעבורה בקונקשן, ויהיו גם כאלה שבכלל ייחסמו - למשל בגלל תוכן אסור. בתור ילדה הייתי ספורטאית והמשכתי לעסוק בזה כמעט כל החיים. באוניברסיטה למדתי ביוטכנולוגיה, אבל עם סיום התואר חזרתי לספורט בתור מאמנת וזה היה המקצוע שלי במשך עשר שנים כמעט. לאורך השנים האחרונות בתור מאמנת, ידעתי שאני ארצה לעשות הסבה לתכנות מתישהו, כמעט כל המשפחה שלי מתכנתות ומתכנתים. לפני כשנתיים הגיע השלב שבו החלטתי שזהו, שזה יקרה עכשיו. עשיתי הסבה דרך אינפיניטי. זה בוטקאמפ להסבת אקדמאיות ואקדמאים מצטיינותים, מאוד אינטנסיבי של "כל יום, כל היום", שבו לומדות לתכנת הארד קור. בארבעת החודשים הראשונים מתכנתות רק ב C ואחרי זה מתפצלות למסלולים. אני בחרתי להמשיך במסלול הלואו לבלי. בשביל להצליח, חייבות ללמוד המון- 12-14 שעות ביום בקלות. שזה ממש כיף, כי לתכנת זה כיף. אבל הקושי שלי היה שהבכורה שלי היתה אז בת שנתיים וחצי, ולא ראיתי אותה כמעט בכלל במשך חצי שנה. זה היה קשוח מאוד. החלק הטוב, הוא שגיליתי את הכוח שיש לי בקצות האצבעות. זה היה לי ממש מגניב! גיליתי עולם חדש: תחום שממש מעניין אותי, שהיה מתחת לאף שלי כל החיים ולמרות זאת לא ידעתי עליו כמעט כלום.״

Ola Cohen, RT Software Developer @ Allot

מה התפקיד שלך ואיפה?

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


מה הצוות שלך עושה?

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


איך הגעת לעסוק ב- rt?

הגעתי לפיתוח ול- real time בפרט באופן קצת שונה מהרגיל. בתור ילדה הייתי ספורטאית והמשכתי לעסוק בזה כמעט כל החיים. באוניברסיטה למדתי ביוטכנולוגיה, אבל עם סיום התואר חזרתי לספורט בתור מאמנת וזה היה המקצוע שלי במשך עשר שנים כמעט. לאורך השנים האחרונות בתור מאמנת, ידעתי שאני ארצה לעשות הסבה לתכנות מתישהו, כמעט כל המשפחה שלי מתכנתות ומתכנתים. לפני כשנתיים הגיע השלב שבו החלטתי שזהו, שזה יקרה עכשיו. עשיתי הסבה דרך אינפיניטי. זה בוטקאמפ להסבת אקדמאיות ואקדמאים מצטיינותים, מאוד אינטנסיבי של "כל יום, כל היום", שבו לומדות לתכנת הארד קור. בארבעת החודשים הראשונים מתכנתות רק ב C ואחרי זה מתפצלות למסלולים. אני בחרתי להמשיך במסלול הלואו לבלי. בשביל להצליח, חייבות ללמוד המון- 12-14 שעות ביום בקלות. שזה ממש כיף, כי לתכנת זה כיף. אבל הקושי שלי היה שהבכורה שלי היתה אז בת שנתיים וחצי, ולא ראיתי אותה כמעט בכלל במשך חצי שנה. זה היה קשוח מאוד. החלק הטוב, הוא שגיליתי את הכוח שיש לי בקצות האצבעות. זה היה לי ממש מגניב! גיליתי עולם חדש: תחום שממש מעניין אותי, שהיה מתחת לאף שלי כל החיים ולמרות זאת לא ידעתי עליו כמעט כלום.


מה האתגרים בתפקיד?

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


מה כיף לך בעבודה?

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


איך את לומדת דברים חדשים?

אני לומדת הרבה מ- stack overflow. קוראת פוסטים של אנשים, שומעת הרצאות ביוטיוב. הקהילה של ה- rt והאמבדד היא לצערי קהילה פחות פעילה ברשת מאשר קהילת הווב. גם כמות המיטאפים והכנסים היא מוגבלת. אני חדשה בתחום, ולכן בכלל לא יצא לי להגיע לאף לכנס. ממש חיכיתי ל core cpp, אבל קורונה... בהקשר הקהילתי, החלום שלי זה להרים פודקסט בתחום הזה.


למי כדאי לנסות?

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


איך אפשר להגיע?

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

Ayelet Or, Real time embedded software engineer @ Elmo Motion

מה התפקיד שלך ואיפה?
התפקיד שלי זה מפתחת embedded בחברת אלמו שמיצרת מערכת בקרה למנועים.
האחריות שלי היא לקבל משימה ולהבין את כל הדרישות עד להשגת היעד, לתכנן (Design) מודל התוכנה על פי הדרישות, להציג את התכנון (Design Reivew) לקודד מודל תוכנה (Coding) בצורה יעלה על פי Code convention. לדבאג ולעשות בדיקות.

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

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

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

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

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

Hila Amar, Real Time Software Development Team Lead @ RADWIN

מה התפקיד שלך ואיפה?

הטייטל הרשמי הוא Real time sw team leader - בפועל מנהלת את צוות הפיתוח של מוצר ה- Transportation. המוצר של החברה בגדול הוא יחידה שיודעת להעביר wifi (כמו router), רק שאנחנו יודעים לעבוד בטווחים מאוד גדולים ובקצבים יחסית גבוהים.

המוצר שהצוות שלי ספציפית מפתח הוא העברת wifi לתחבורה ציבורית בזמן תנועה. השימוש של זה כיום הוא גם להעביר יכולות wifi לנוסעים, אבל גם החברות שמפעילות את הרכבות זקוקות לכך לצרכים שונים - לדוגמא פרסומות לנוסעים, מצלמות אבטחה, שליטה ובקרה ועוד. הצוות כיום מורכב מ-4 מפתחים (תותחים =)), אנחנו מפתחים ב- ++C ו- Python, ועובדים Agile. בשוטף אנחנו מטפלים גם מדי פעם בבעיות מהשטח, ולפעמים נוסעים ללקוחות.

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


איך הגעת לעסוק בכך?

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


מה האתגרים?

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


מה כיף לך בעבודה?

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


איך את לומדת דברים חדשים?

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


למי כדאי לנסות ואיך אפשר להגיע?

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

Inbal Levi, Embedded Software Engineer @ SolarEdge

מה התפקיד שלך ואיפה?

אני מפתחת אמבדד בחברת SolarEdge, שמייצרת מערכות סולאריות.

המוצר שעליו אני עובדת נקרא Inverter וכשמו כן הוא - ממיר ממתח DC ל- AC כנקודת ההשקה של הפאנל הסולארי למערכת בבית. הצוות שלי כולל 4 אנשים, אך המחלקה כולה היא 25 אנשים (וגדלים כל הזמן). יש תחומים שונים בטיפול צוותים שונים, אבל הרבה פעמים יש חפיפה וכולנו עובדים על משימות ביחד. אנחנו עובדים בסגנון agile אבל של ספרינטים ארוכים יחסית, ולפעמים משימות נמשכות על כמה ספרינטים. הצוות צעיר ומגוון, והשעות הרבות (יחסית) גורמות לנו להכיר טוב אחד את השני, וגם לצבור הרבה חוויות :)


איך הגעת לעסוק בכך?

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


מה האתגרים?

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


מה כיף לך בעבודה?

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


איך את לומדת דברים חדשים:

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

כל שכבה מעמיקה את הידע, ולרמות ידע שונות יש מקורות שונים.


לגבי ++C: אני מאוד ממליצה על האתר: cppreference כנקודת התחלה כדי ללמוד על פונקציה / keyword, וכמובן תמיד מומלץ לכתוב קטע קוד קצר ולהבין איך הוא עובד.

אני גם מאוד ממליצה לצפות בהרצאות מכנסים כמו CppCon, CppNow, וכמובן CoreCpp (דיסקליימר למטה) ואחרים. מוזמנות גם להיכנס לאתר: isocpp.org בו ניתן למצוא את כל הכנסים בתחום.


האם את מרצה או כותבת?

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


למי כדאי לנסות ואיך אפשר להגיע?

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

Sivan Itescu, Team leader @ Radwin

מה התפקיד שלך ואיפה?
אני עובדת בחברת רדווין, כמפתחת בכירה/ ראש צוות ללא אנשים.
פיזית אני עובדת מהבית בברלין מאוגוסט 2018 בעקבות רילוקיישן של המשפחה.
רדווין מחברים לקוחות לאינטרנט בכל המקומות שלא כלכלי לחבר אותם בצורה פיזית. מוכרים ציוד לחברות תקשורת כמו בזק במדינות אחרות שאין להם תשתיות קוויות. המוצר הוא קופסא -out door unit, שיש בה בין היתר מודם/ים של WIFI, שנעשות עליו התאמות ברמת החומרה והתוכנה על מנת שיוכל לשדר למרחקים גדולים יותר, קצבים גבוהים יותר ועם עמידות גבוהה להפרעות גם בתדרים שהם unlicensed – ביחס לWIFI סטנדרטי.
עד לפני כשנה וחצי ניהלתי צוות של 4 אנשים, ובעקבות רילוקיישן של המשפחה לברלין המשכתי לעבוד מרחוק ללא ניהול צוות. אני מדווחת ישירות לראש הקבוצה ועובדת יחד עם צוותים מקבילים.

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

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

מה האתגרים?
אני חושבת שהאתגר הכי משמעותי ב- Eembedded הוא שבמקרים מסויימים את נתקלת בבעיה שאין לך מושג מה גרם לה, ואי אפשר פשוט להריץ את הקוד במצב debug - step by step ולתפוס את זה. בהרבה מקרים גם קשה להגיע לשיחזור של הבעיה, ואז צריך לשבור את הראש ולהתחיל לחשוב מה אולי היה יכול לגרום לזה. אם צריך, עושים brain-storming ביחד ומנסים כל פעם לפענח עוד חתיכה בפאזל , עד שמוצאים בסוף את הבעיה, ובסוף זה מאוד מספק.

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

איך את לומדת דברים חדשים?
המוצר ובעקבותיו הטכנולוגיות איתן יצא לי לעבוד השתנו במהלך השנים וכפועל יוצא מכך גם למדתי הרבה מאוד כמפתחת וכמנהלת. התחלנו עם מערכת הפעלה VXworks single threaded, והיום אנחנו עובדים עם מערכת הפעלה LINUX multi threaded. עברנו לעבוד עם git לראשונה בגירסה שניהלתי כראש צוות. בימים אלה אני מפתחת בעיקר בpython אחרי שכל השנים פיתחתי ב++C.
הלמידה ברובה נעשית תוך כדי עבודה, מהמנהל שלי ועמיתים.ות, לפעמים קורסים מקצועיים בעבודה, אבל הכי הרבה מחיפוש בפורומים רלוונטיים.
כשגרתי בארץ השתתפתי במספר מפגשים של באות, כולל תוכנית מנהלות. בברלין יצא לי בינתיים ללכת למפגשים של ישראלים בתעשייה כאן, בהמשך אני מקווה למצוא פה איזה כנס מעניין.

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

Tal Krig, Software Engineer @ Elbit Systems

מה התפקיד שלך ואיפה?

מהנדסת תוכנה real time embedded במחלקת מו"פ של חטיבת כלי טיס באלביט מערכות.

המוצר המרכזי שאני מפתחת הוא מערכת ראיה היקפית לטנקים.

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


איך הצוות נראה? איך נראית העבודה?

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

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

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

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

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


איך הגעת לעסוק בתחום?

במקור אני מהנדסת ביו רפואית. לאחר מספר שנים שעבדתי בחברות סטארטאפ שמפתחות מכשור רפואי, החלטתי לעשות הסבה לתוכנה.
בחרתי לעשות את ההסבה בקורס ייעודי למפתחי Real time באקספריס. בקורס למדנו את שפות התכנות הנפוצות בפיתוח low level, למדנו על מערכות הפעלה Real time והתנסינו בכתיבת דרייברים. בסיום הקורס התחלתי לעבוד באלביט בצוות של מפתחי embedded ומאז אני בתחום.


מה האתגרים?

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

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


מה כיף לך בעבודה?

בעיניי החלק המספק ביותר בעבודה הוא לראות את המוצר שפיתחת מגיע אל הלקוח ונותן לו ערך מוסף.

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


איך את לומדת דברים חדשים?

למזלי אני עובדת בחברה גדולה עם מאות מפתחי תוכנה מהם ניתן ללמוד.

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

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


למי כדאי לנסות ואיך אפשר להגיע?

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

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

לפני כן, כדאי להעמיק ככל הניתן את הידע בתקשורת ובמערכות הפעלה ולשלוט בשפות low level (C/CPP).

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

Hila Lasri, Senior SW RT Embedded Engineer @ Valens

מה התפקיד שלך ואיפה?

אני מהנדסת תוכנה, RT Embedded Engineer, עוסקת בעיקר בפיתוח פרוטוקולי תקשורת (HDBT, Ethernet, xPON).

אני עובדת כיום בוואלנס. ואלנס היא חברת סמיקונדקטור המפתחת צ'יפים המאפשרים העברה באיכות גבוהה של אודיו ווידאו לא דחוסים בטכנולוגיית HDBT שפותחה על ידה. הצ'יפים מיועדים לשני תחומים: האחד, שהוא הביזנס העיקרי ובו אני עובדת, זה ה- PRO-AV [Professional Audio Video]. התחום השני הוא אוטומוטיב.
בעוד ה-Pro-AV הוא תחום מכניס, תחום הרכבים הוא בעצם סטארטאפ.

את השנתיים וחצי שלי בואלנס אפשר לחלק לשני תפקידים:

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

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


מה כיף לך בעבודה?

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

בתקופה שבה עבדנו על הצ'יפ החדש, היינו יושבים בישיבות חותכות ארגון (product, projects, VLSI, SW, architecture), לומדים ובונים משהו חדש. מכל ישיבה כזאת הייתי חוזרת עם המון חומר ללמוד ולהתעמק. גם הרגשתי שאני תורמת הרבה לידע של שאר הקבוצה וגם למדתי המון באותה תקופה. חוץ מזה, אלה אחלה אנשים אז גם היה נעים ומצחיק. לעיתים גם היינו נפגשים עם ספקים מחו"ל, חוויה שגרמה לי להבין מה אני אוהבת בתחום ולאן ארצה להתפתח.


איך את לומדת דברים חדשים?

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


איך אפשר להגיע?

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


איך הגעת לעסוק בכך?

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

Dafna Mordechai, Senior RT Embedded Software Engineer

ספרי על הניסיון שלך בפיתוח אמבדד?

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

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

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


איך הגעת לעסוק בכך?

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


מה את אוהבת בעבודה?

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


מה האתגרים?

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

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


איך את לומדת דברים חדשים?

האמת היא שיש המון דרכים ללמוד ואני אוהבת לגוון וגם לא בוחלת באמצעים :)

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

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

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


יש לך המלצות ספציפיות?

לפני כמה שנים למדתי דרך יוטיוב Reverse Engineering בערוץ של Open SecurityTraining. למדתי לזה כדי להתכונן לסדנאת ריברסינג וסקיוריטי מאוד מגניבה בשם blackhoodie ששמעתי אליה דרך "באות" והשתתפתי בה שנתיים עם חברות מ"באות". אני חושבת שכל מי שרוצה להעמיק את הידע שלה במדעי המחשב, ובעיקר מי שכבר עובדת בתחומים שהם יותר low level תצא נשכרת מללמוד רברסינג. אם יוטיוב פחות מדבר אלייך, יש גם את האתר המופלא של אופיר הרפז.


לפעמים כשרוצים ללמוד משהו לעומק ובלי הצורך לסנן, כדאי להירשם לקורס או לקרוא ספר. בעיני זה בעיקר נכון כשלומדות משהו חדש לגמרי. כשנכנסתי לתחום של IoT ורציתי ללמוד Bluetooth Low Energy הדרך הנוחה ביותר להתחיל היתה לקרוא ספר. יש גם ספר שאני תמיד שמחה להמליץ עליו בהקשר של מערכות אמבדד, והוא Making Embedded Systems.


מאחר וכשלמדתי באוניברסיטה התואר הציע יחסית מעט קורסים בתחום של למידת מכונה, השלמתי חלק מהידע הזה באופן עצמאי במהלך הזמן. עשיתי כמה קורסים בתחום של data science, חלק בקורסרה בתחום יותר קלאסי של למידת מכונה, ובחצי השנה האחרונה עשיתי שני קורסים פרונטליים בלמידה עמוקה, אחד מהם הוא הקורס של fast.ai והשני הקורס של MLDI שמבוסס על cs231n של סטנפורד.
מי שרוצה קצת ידע תאורטי ולא יודעת איך להתחיל בתחום של למידה עמוקה - אני מאוד ממליצה על הפלייליסט הזה של MIT 6.S191 שמאוד נהנתי ללמוד ממנו.


האם את מרצה או כותבת?

כשיש לי זמן והזדמנות, אני מעבירה סדנאות ארדואינו, MicroPython ו-Circuit Playground Express.
את אחת הסדנאות שלי העלתי בשלמות לרשת באתר הזה, אז אם בא לכן להתחיל לשחק עם אלקטרוניקה תבדקו אותו :)

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

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

Talia Salamon, Software Team Leader and Scrum Master @ Intel

מה התפקיד שלך ואיפה?

אני מובילה צוות מולטידיסיפלינארי ואחראית על פיתוח תוכנה לצ'יפ בטכנולוגיית WiFi בתקן החדש ביותר, WiFi-6 802.11ax-R2 בחברת אינטל. אינטל מפתחת router ביתי והצוות שלי אחראי על מודם הWiFi שנמצא בrouter.

הצוות הינו cross-functional כולל אנשי תוכנה בתחום הembedded שמפתחים דרייברים ואלגוריתמים לחומרה וכאלה שכותבים בopen-source ל kernel ובנוסף אנשי QA. הצוות הוא גם cross-geo, יש מהנדסים בארץ, בהודו ובלטביה.

עבודת הצוות כוללת פיתוח פיצ'רים חדשים בתוכנה. העבודה נעשית בשלב ה- pre-silicon של הצ'יפ מה שמאפשר כבר בשלב האינטגרציה לגלות באגים בחומרה עוד לפני שהצ'יפ יוצא ל- tapeout. כל באג שמתגלה בצ'יפ לא יוכל להיות מתוקן ולכן הדבר קריטי להצלחת המוצר. אני מובילה את כל הפעילות הזו תוך קביעת משימות וסנכרון של המשימות בתוך הצוות ובין הצוות לבין צוותים אחרים כגון: צוותי סיסטם, חומרה, research ועוד. המשימה שלי היא לתעדף משימות תוך ראיה מערכתית של המוצר, צרכי לקוח ויכולת לעבור בדיקות סרטיפיקציה של WiFi Alliance (WFA). בנוסף אני קובעת לוחות זמנים ואחראית על עמידה בהם.

אנחנו עובדים במוד Agile framework ובמסגרת זו אני Scrum Master והצוות הוא כאמור מולטידיסיפלינארי. לאחרונה פרסמתי פוסט בנושא Practical Thoughts on Effectiveness in Today’s Agile Work Environment.


איך הגעת לעסוק בכך?

למדתי תואר ראשון בהנדסת חשמל ואלקטרוניקה באוניברסיטת תל-אביב. במהלך התואר עבדתי בחברת סטרטאפ בתחום תקשורת DSL ואח"כ המשכתי שם כמהנדסת אלגוריתמים. לאחר מכן התחלתי ללמוד לתואר שני בהנדסת חשמל באוניברסיטת תל אביב בהתמחות מערכות ובמהלך הלימודים עברתי לעבוד בחברת סטארט-אפ בתחום תקשורת ה- WiFi כמהנדסת אלגוריתמים. במסגרת התואר השני גם עבדתי על תזה בתחום קוד לתיקון שגיאות. המשכתי לעבוד בחברה גם לאחר סיום התואר. החלטתי לעבור לעבוד בחברה גדולה בתחום התוכנה כי רציתי לראות יותר מערכת ועברתי לתחום ה- firmware בטכנולוגיית סלולר בתקן ה 4G. במהלך העבודה זכיתי לעבוד מול לקוחTier1 בקנדה ולתמוך בו ישירות במהלך הפיתוח של מודול מאוד חדיש שעבדתי עליו. בהמשך עברתי לאינטל לעבודה הנוכחית וכבר לאחר שנה מהגעתי קיבלתי הובלה של פרויקט מעניין וחדשני שעבדתי עליו במשך שנה והוא הצליח מאוד. כתוצאה מכך המשכתי לתפקידי הובלה נוספים ולפרויקט הנוכחי שאני מנהלת שקשור לצ'יפ החדש שאינטל מוציאה בתקן החדש ביותר שקיים היום WiFi 6 – R2.


מה האתגרים?

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


מה כיף לך בעבודה?

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

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


איך את לומדת דברים חדשים?

למקורות למידה אני פונה לאינטרנט לאתרים כמו StackOverflow ואתרים דומים. Airheads community הינו אתר מומלץ לתחום ה- WiFi. ישנם מאמרים שמפורסמים מטעם ארגון התקינה העולמי IEEE. על מנת להתקדם בתפקידי הובלה אני משתתפת בקורסים מטעם העבודה. באינטל לפני כשנתיים החלו בתוכנית ייחודית לנשים, Boost Your Career. התוכנית נועדה לנשים באינטל שסומנו על ידי המנהלים שלהם כבעלות פוטנציאל הובלה וניהול. אני נבחרתי להשתתף בסבב הראשון של התוכנית.


למי כדאי לנסות ואיך אפשר להגיע?

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

Nogah Frankel, Computer Engineer @ NextSilicon

מה התפקיד שלך ואיפה?

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


מה את עושה ביום יום?

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

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

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

יוצא לי לחקור המון על איך אפלקציות מדעיות, כמו למשל אלגוריתמים של nuclear fusion מתנהגות, מה שמצריך הבנה של המערכת בכללותה, מרמת מה הסימולציה מנסה לחשב, דרך חישוב יעיל של floating point ו machine instruction ועד לרמת החומרה עצמה.


איך הגעת לעסוק בתחום?

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


מה האתגרים שאת מתמודדת איתם בעבודה?

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

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

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


מה כיף לך בעבודה?

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

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


איך את לומדת דברים חדשים?

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

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


למי כדאי לנסות להשתלב בתחום ואיך?

לעבוד בתחום אומר לאהוב את שפת C.

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

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

Liora Golan, Software Engineer @ ADVA

מה התפקיד שלך ואיפה?
אני מתכנתת ++C בצוות low level בחברת ADVA. המוצר שלנו מיועד לסנכרון רשתות תקשורת. אנחנו צוות של 4 מתכנתים שמתעסקים בכתיבת דרייברים, ממשקי בדיקות לחומרה שלנו, הוספת פיצ'רים חדשים וכמובן תחזוקת הקוד הקיים ופתרון בעיות מורכבות.
ביום יום אנחנו בעיקר חוקרים את הקוד ומנסים למצוא פתרונות אופטימליים לבעיות והאילוצים שלנו בנוסף אנחנו כותבים ממשקי תוכנה לכרטיסים החדשים במערכת.

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

מה האתגרים?
פתרון בעיות בזמן המהיר ביותר, המון reverse engineering לקוד מסובך.

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

איך את לומדת דברים חדשים?
אני משתדלת להשתתף בכמה שיותר מיטאפים מעניינים בעיקר של באות, wtm ולפעמים גם נשים בהייטק. בזכות באות הייתי גם בכנס של core cpp שהיה מרתק.

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

close

Created with

Communicate quickly and effectively with interactive newsletters.

Smore empowers educators to connect with their community, streamline school communications,
and increase engagement.

Create a newsletter