התלבטות בין תפקידים בין חברת שבבים גדולה-כלים מול דרייברים

ThreadPool

New member
התלבטות בין תפקידים בין חברת שבבים גדולה-כלים מול דרייברים

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

choo

Active member
ברמה שטחית - נשמע שפיתוח דרייברים יותר יקדם אותך

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

ThreadPool

New member
דרייברים זה לינוקס קרנל

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

choo

Active member
גם בלי "באמת פיתוח" זה יכול להיות מאוד מלמד במשך שנה-שנתיים

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

ThreadPool

New member
מה לגבי רמת העניין בתחום?

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

choo

Active member
לא כל עבודת דרייברים היא "רק תיקון באגים"

&nbsp
יש עבודות דרייברים שהן כתיבה של הרבה תוכנה (לפעמים מאפס, לפעמים הוספת פיצ'רים מהותיים לתוך דרייברים קיימים). ברמה האישית עשיתי את אותו התפקיד במשך כשנתיים, ולמרות שחשש הראשוני שתוך כמה חודשים אתחיל להשתעמם - זה המשיך להיות מעניין ומאתגר לאורך אותן שנתיים. למעשה, הבעיה בעבודה בסביבת קרנל שחלק לא זניח מהבאגים ממשיכים להיות קשים ומאתגרים גם אחרי כמה שנות נסיון בתחום :0
&nbsp
(אישית עזבתי את התחום גם בגלל מחסור בתעסוקה בתחום בצפון, וגם בגלל שאני מעדיף אתגרים אלגוריתמיים ולוגיים, על פני אתגרים טכניים - ורוב העבודה בתחום של דרייברים היא של דרייברים לחומרה עם אתגרים טכניים, פחות עבודה של כתיבת software drivers עם לוגיקה מורכבת). מאותה סיבה לא הלכתי לעבוד על אפליקציות גנריות ונשארתי בתחום התשתיות
&nbsp
הגישה של "להתחיל מאפס", בטווח הארוך, לוקה גם בחסרונות - כי בהתחלה מאפס כותבים שוב ושוב את אותם דברים בסיסיים שרק אחרי שהם קיימים אפשר להתחיל לכתוב את "הדבר האמיתי". זו היתה התחושה שקיבלתי בסטארטאפ האחרון שהייתי בו.
 

ipv6

Member
מבין 2 האופציות שלך

נשמע לי שהמשרת פיתוח דרייברים תהיה בחירה משתלמת יותר.
היכרות אינטימית עם מערכת ההפעלה יכולה להיות גם מאד רלוונטית למשרות security ולמינהן[1] ובכלל תתפס כניסיון "איכותי" יותר מאשר עבודה בצוות Tools.

עניין זה דבר נורא סובייקטיבי וקשה לענות על זה..

[1] למעשה בכל משרת system programming שכהמוצר רץ על לינוקס.
 

ThreadPool

New member
תודה, חשבתי גם

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

יבגניי34

New member
רק להבין - אתה לא מזומן לראיונות כי ״לא מוצר״ או שאתה לא

עובר או... מה הבעייה בעצם? ברוב המקומות נותנים למרואיין לבחור באיזו שפה הוא פותר שאלות לא?
 

ThreadPool

New member
לא מוזמן לחברות הגדולות

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