Sniperoonie
משתמש סולידי
- הצטרף ב
- 17/2/20
- הודעות
- 24
- דירוג
- 21
אני סוגר בקרוב שנתיים בעבודה הנוכחית שלי כמפתח Linux embedded שגם נגע ביצירת backend עבור אחת המכונות שלנו(בשפה שהיא high level).
זה בדיוק זמן טוב להתחיל עבודה חדשה בשביל להיחשף לדברים חדשים ולהקפיץ שכר/ כאשר חיפשתי את מקום העבודה הראשון שלי בעיקר רציתי להכניס רגל בדלת ובאותה המידה שבה לקחת תפקיד של embedded הייתי לוקח תפקיד מעולם ה-web. החשיבה שלי אז הייתה שאם אני יודע שפה X אז צריך ללכת לעבודות שמצריכות את השפה X.
אני כרגע פועל על סמך כמה הנחות(מוזמנים לעשות חורים ישירות בהנחות או דרך השאלות שעלו לי לקראת החיפוש עבודה).
הנחה ראשונה - domain
לא רק ששפה זה רק ה"פטיש" שאיתו מכים ב"מסמר" אלא שיש הבדל בין מפתח שכותב feature כללי בתוך domain לבין מפתח שכותב לוגיקה שקשורה ל-Domain עצמו.
יש הבדל בין מפתח C++ שכותב -Firmware עבור מכונה ספציפית לבין אחד שכותב את הקוד של דפדפן כמו Chrome שככל הנראה נותן מענה לבעיות שבהם נתקלים גם בדפדפן כמו Firefox. יש הבדל בין מפתח backend שכתב את ה-parser של Netflix לבין המפתח שהתמקד בחלק של הלוגיקה שאחראית לטפל בעומס הבקשות שאיתו מתמודד השירות וה-scale שרק הולך וגדל עם הזמן. לא רק שהמפתח השני מתמודד עם אתגר מעניין יותר(לדעתי) זה בעצם domain משל עצמו שרלוונטי לחברות web שרוצות לשרת מיליוני לקוחות בו זמנית.
הנחה שניה - לחברות הגדולות עדיף להיכנס כשאתה כבר senior
אני מניח שרמת המשימות שיקבל junior בחברה גדולה כמו facebook ברוב המקרים תהיה פחות מורכבת מהמשימות אותם הוא יקבל בחברה קטנה. זה נכון לא רק לגבי המשימות עצמן אלא גם לגבי ה-ownership שיוכל לקחת ומשתי הנקודות האלה נגזרים הדברים אותם תוכל ללמוד מהעבודה עצמה.
הנחה שלישית - עולם ה-web זז הרבה יותר מהר מעולם ה-embedded
אני בא מתחום של embedded (ומודע לזה שיש לי bias ) שלגמרי בסדר עם לעבוד עם C++11 ולא רואה סיבה לרדוף אחרי טכנולוגיות חדשות. בזמן שכשאני
מדבר עם מפתחי web מרגיש לי שהם כל הזמן צריכים ללמוד שפות וכלים חדשים שלעניות דעתי הם הטפל של עולם הפיתוח תוכנה.
חברות B2B ביחס ל חברות B2C
ברגע שמדובר בחברת B2B, ככל הנראה הקוד רץ באיזה מקום מרוחק אצל הלקוח(לפעמים בלי חיבור אינטרנט) זה אומר שמרווח הטעות מאוד קטן, כי deployment של גרסה חדשה או תיקון באג היא כאב ראש בניגוד לחברה שהיא B2C שאצלה לרוב דוחפים את התיקון לענן ומאוד גמיש ונוח לתקן באגים. מכאן אני גוזר שיש הרבה מאוד לחץ בחברת B2B בסמוך לשחרור גרסה. מעבר לזה חברות B2B יכולות בקלות רבה להפוך תלויות בלקוח גדול אחד שבמקרה כזה הופך מלקוח למנהל מה שיכול להתנגש עם החזון המקורי של החברה(להכניס לח. על קצב שחרור המוצר...). מרגיש לי גם שבחברות B2B יש יותר שריפות שצריך לכבות.
שאלות
1. האם בעצם חברות קטנות שמתמקדות במוצר embedded שאפשר להגדיר אותן כ-B2B הן מראש מקום פחות טוב ללמוד ולגדול בו כי יש יותר סיכוי שיהיו הרבה יותר שריפות לכבות, הרבה יותר לחץ להוציא גרסה והרבה יותר סיכוי שיהיה לקוח גדול שהגחמות שלו יהיו בראש סדר העדיפויות?
2. לדעתי מפתח טוב הוא מפתח שאכפת לו מ-clean code ו-best practice עד כמה לדעתכם זה באמת מוערך בתעשיה שלנו או שכל מה שמעניין זה כמה מהר אתה יכול "to deliver" והאיכות לא מעניינת?
3. האם עולם ה-web באמת יותר כאוטי ביחס ל-embedded או שזה נטו ה-bias שלי?
4. בסוף כולם פותרים בעיות(כותבים לוגיקה, פותרים באגים, מרחיבים מוצר קיים..), כשאתם מדברים על "לעשות וללמוד דברים מעניינים", למה אתם מתכוונים והאם לדעתם זה קשור ישירות בלעסוק ב-domain?
5. עד כמה לדעתכם משחק התפקיד של front או back כאשר מתרגמים לחשיבות לארגון וגוזרים ממנו שכר בעולם ה-web?
6. שאלה קצת פילוסופית , אבל לאן צריך לכוון מעבר לעבודה הראשונה בשביל לתרגם את הנסיון לחשיבות לארגון ושכר? האם הכיוון צריך לחפש להתמקד ב-domain?
זה בדיוק זמן טוב להתחיל עבודה חדשה בשביל להיחשף לדברים חדשים ולהקפיץ שכר/ כאשר חיפשתי את מקום העבודה הראשון שלי בעיקר רציתי להכניס רגל בדלת ובאותה המידה שבה לקחת תפקיד של embedded הייתי לוקח תפקיד מעולם ה-web. החשיבה שלי אז הייתה שאם אני יודע שפה X אז צריך ללכת לעבודות שמצריכות את השפה X.
אני כרגע פועל על סמך כמה הנחות(מוזמנים לעשות חורים ישירות בהנחות או דרך השאלות שעלו לי לקראת החיפוש עבודה).
הנחה ראשונה - domain
לא רק ששפה זה רק ה"פטיש" שאיתו מכים ב"מסמר" אלא שיש הבדל בין מפתח שכותב feature כללי בתוך domain לבין מפתח שכותב לוגיקה שקשורה ל-Domain עצמו.
יש הבדל בין מפתח C++ שכותב -Firmware עבור מכונה ספציפית לבין אחד שכותב את הקוד של דפדפן כמו Chrome שככל הנראה נותן מענה לבעיות שבהם נתקלים גם בדפדפן כמו Firefox. יש הבדל בין מפתח backend שכתב את ה-parser של Netflix לבין המפתח שהתמקד בחלק של הלוגיקה שאחראית לטפל בעומס הבקשות שאיתו מתמודד השירות וה-scale שרק הולך וגדל עם הזמן. לא רק שהמפתח השני מתמודד עם אתגר מעניין יותר(לדעתי) זה בעצם domain משל עצמו שרלוונטי לחברות web שרוצות לשרת מיליוני לקוחות בו זמנית.
הנחה שניה - לחברות הגדולות עדיף להיכנס כשאתה כבר senior
אני מניח שרמת המשימות שיקבל junior בחברה גדולה כמו facebook ברוב המקרים תהיה פחות מורכבת מהמשימות אותם הוא יקבל בחברה קטנה. זה נכון לא רק לגבי המשימות עצמן אלא גם לגבי ה-ownership שיוכל לקחת ומשתי הנקודות האלה נגזרים הדברים אותם תוכל ללמוד מהעבודה עצמה.
הנחה שלישית - עולם ה-web זז הרבה יותר מהר מעולם ה-embedded
אני בא מתחום של embedded (ומודע לזה שיש לי bias ) שלגמרי בסדר עם לעבוד עם C++11 ולא רואה סיבה לרדוף אחרי טכנולוגיות חדשות. בזמן שכשאני
מדבר עם מפתחי web מרגיש לי שהם כל הזמן צריכים ללמוד שפות וכלים חדשים שלעניות דעתי הם הטפל של עולם הפיתוח תוכנה.
חברות B2B ביחס ל חברות B2C
ברגע שמדובר בחברת B2B, ככל הנראה הקוד רץ באיזה מקום מרוחק אצל הלקוח(לפעמים בלי חיבור אינטרנט) זה אומר שמרווח הטעות מאוד קטן, כי deployment של גרסה חדשה או תיקון באג היא כאב ראש בניגוד לחברה שהיא B2C שאצלה לרוב דוחפים את התיקון לענן ומאוד גמיש ונוח לתקן באגים. מכאן אני גוזר שיש הרבה מאוד לחץ בחברת B2B בסמוך לשחרור גרסה. מעבר לזה חברות B2B יכולות בקלות רבה להפוך תלויות בלקוח גדול אחד שבמקרה כזה הופך מלקוח למנהל מה שיכול להתנגש עם החזון המקורי של החברה(להכניס לח. על קצב שחרור המוצר...). מרגיש לי גם שבחברות B2B יש יותר שריפות שצריך לכבות.
שאלות
1. האם בעצם חברות קטנות שמתמקדות במוצר embedded שאפשר להגדיר אותן כ-B2B הן מראש מקום פחות טוב ללמוד ולגדול בו כי יש יותר סיכוי שיהיו הרבה יותר שריפות לכבות, הרבה יותר לחץ להוציא גרסה והרבה יותר סיכוי שיהיה לקוח גדול שהגחמות שלו יהיו בראש סדר העדיפויות?
2. לדעתי מפתח טוב הוא מפתח שאכפת לו מ-clean code ו-best practice עד כמה לדעתכם זה באמת מוערך בתעשיה שלנו או שכל מה שמעניין זה כמה מהר אתה יכול "to deliver" והאיכות לא מעניינת?
3. האם עולם ה-web באמת יותר כאוטי ביחס ל-embedded או שזה נטו ה-bias שלי?
4. בסוף כולם פותרים בעיות(כותבים לוגיקה, פותרים באגים, מרחיבים מוצר קיים..), כשאתם מדברים על "לעשות וללמוד דברים מעניינים", למה אתם מתכוונים והאם לדעתם זה קשור ישירות בלעסוק ב-domain?
5. עד כמה לדעתכם משחק התפקיד של front או back כאשר מתרגמים לחשיבות לארגון וגוזרים ממנו שכר בעולם ה-web?
6. שאלה קצת פילוסופית , אבל לאן צריך לכוון מעבר לעבודה הראשונה בשביל לתרגם את הנסיון לחשיבות לארגון ושכר? האם הכיוון צריך לחפש להתמקד ב-domain?
נערך לאחרונה ב: