המשך קריירה

wasteoftime

New member
המשך קריירה

שלום,
כחלק מעיסוקי כמתכנת עבדתי עם מגוון פלטפורמות ופריימוורקס
עשיתי GUI, כתבתי services, client-server, קצת web
שפות עיקריות: CPP (פרויקט אחד), C#, JAVA

יש לי היכרות שהייתי מגדיר כ"סבירה"/"טובה" עם פרוטוקולי תקשורת והבנה בסיסית במערכות הפעלה.

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

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

תודה
 

BravoMan

Active member
אתה די ענית לעצמך כשכתבת:

"אין לי ניסיון מעשי בנושאים האחרונים".

רוב הצעות עבודה בתחום ה-ebedded שיצא לי לראות דורשות כמה שנים של ניסיון.

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

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

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

kerneliminal

New member
זה לא מדוייק

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

BravoMan

Active member
אשמח אם תרחיב בעניין:

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

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

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

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

בנוסף לכך, נפוצות בתחום ה embedded הן: Nucleus, ThreadX, QNX, MQX ועוד שמות. מדובר על מיקרו-קרנלים למערכות שהן באמת embedded, לא מכשיר ניווט (שמבחינתי זה מחשב לכל דבר, לא מערכת embedded).
 

BravoMan

Active member
תודה!

לא הכרתי את אלה, (חוץ מ-VxWorks) אבל אני מכיר יותר מערכות מבוססות ARM למיניהן (טלפונים, מסופונים, PND), שבהחלט אפשר להגיד שהן מערכות מחשב לכל דבר, במיוחד היום, למרות שיש מי שמכנה אותן "embedded".

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

כמובן, כל אחד והעדפות שלו...
 

kerneliminal

New member
קוד תאחלס זה לא רק אמבדד

אמבדד זה תחום מגוון , תתפלא גם מערכות אמבדד יכולות להריץ GUI למשל שרת וweb המשמש לשליטה על המוצר וקנפוג שלו,
יש המון אפליקציות שיכולות לרוץ על מערכת אמבדד,
אגב פון סלולרי גם הוא מערכת אמבדד שיכולה להיות מסועפת,
יש גם מערכות פשוטות יותר שאינן מריצות מערכת הפעלה,
שם הקוד מוגבל יותר, ויותר באוריינטציה של החומרה,
הקוד לא בהכרח יהיה פשוט יותר אבל יהיה לו פחות בשר,
השאלה מה בדיוק תעשה בתחום האמבדד ועל מה בדיוק תהיה אחראי,
התחום בהחלט מגוון,
כך בחשבון שאם תעבוד מול חומרה הקוד שלך יהיה פחות גמיש,
וכנראה פחות אלגוריתמי, יש אומרים פשוט יותר,
מה שכן אם מעניין אותך מה קורה מהרגע בו הפרוססור מתעורר ועד שהוא מריץ אפליקציה זה יכול להיות מאד מעניין,
אישית זה התחום שלי, אני עובר על כל המסלול הזה החל מ bootstrap
Boot loader , kernel user space
 

BravoMan

Active member
אני לא לגמרי בטוח אם התגובה הזו מכוונת עלי

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

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

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

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

wasteoftime

New member
מעניין. תודה

 
VxWorks שולטת בתעשייה הביטחונית

אני מניח שזה נתח משמעותי (אולי אפילו רוב [1]) מהפיתוח המשובץ הנעשה בארץ.

[1] במונחים של מספר המפתחים.
 

kerneliminal

New member
למה מענין אותך להשתלב בתחום ?

לעיתים כתיבת דרייבר הוא תחום צר,
ניסית פעם לכתוב דרייבר ?
 

wasteoftime

New member
שאלה טובה

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

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

אבל אני יותר קרוב בידע/ניסיון ל-high level.
 

kerneliminal

New member
כן גם חשבתי כך

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

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

בקיצור לחצוב ביטים.
 

kerneliminal

New member
ממממ... דרייבר של מקלדת זו לא אינטראקציה ?

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