⬅ חזרה לאינדקס

מפתח תוכנה שרוצה לעשות יותר הנדסת תוכנה, רק גאמפ״א?

🕒 פורסם בתאריך: 27/07/2024 22:12
אמ;לק - מפתח תוכנה עם כ-7 שנות ניסיון רוצה לעשות יותר הנדסה ״נכונה״ שוקל את הצעד הבא.



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



״אז מה אתה רוצה?״



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



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



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



בנוסף קיימים חסרונות נוספים במקום הנוכחי (לפי סדר חשיבות):



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



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



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



״אז מה עכשיו?״



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



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



[חלק מהמידע שונה מעט על מנת לשמור על אנונימיות כלשהי, אך רוח הדברים מתכתבת עם המציאות]
🕒 פורסם בתאריך: 27/07/2024 23:02
מנסיוני ב- 2 חברות גאמפא, זה מאוד תלוי, אבל בממוצע בהחלט תקבל את מה שאתה מחפש.



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



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



תרגיש חופשי לשאול שאלות יותר קונקרטיות, אני מרגיש שעניתי קצת בנפנופי ידיים
🕒 פורסם בתאריך: 28/07/2024 23:47
כן, בחברות הרציניות תקבל את מה שאתה מחפש. הנדסה יותר טובה, יותר סדורה, ויותר שכר. לא תמיד בכל צוות, אבל אפשר לעבור בין צוותים לאחר מספר שנים, אם יהיה צורך.
🕒 פורסם בתאריך: 03/08/2024 19:08
האם אתה משקיע בלימוד עצמי ?



ניסית ללמוד את מה שאתה מדבר עליו לבד ? (בדגש: ארכיטקטורה)



"איך מוסיפים יכולות מדידה לחלקים שונים במערכת על מנת שאפשר יהיה לאסוף מספרים ועובדות על מנת לנמק אילו חלקים יש לשפר\לשנות על מנת להביא תועלת למוצר\לקוחות." - זה מקבל מענה במידת מה, כמעט בכל ספר על ארכיטקטורה, בדרכ בהתחלה.
🕒 פורסם בתאריך: 06/08/2024 14:25
אני לא עובד בגאמפ״א אבל יצא לי לחוות חברה ישראלית בינונית\קטנה וסניף של קורפורייט אמריקאי גדול.



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



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



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



יש הגדרות מאוד ברורות, למשל לפחות אצלנו מפתחים לא עושים design זה לא שזה לא קורה(בטח אם אתה מפתח principle) אבל בשביל זה יש ארכיטקטים. אתה יכול לנסות ליזום אבל הכל זה uphill battle לכל פיסת קוד יש owner ויש subject matter expert... והגל נמרח.



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



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



אני לא נגד קורפורייט, ואני בטוח שגם בחלק יש צוותים בסנון skunk works שרצים מאוד מהר. פשוט צריך לקחת בחשבון את הדברים שהם backed in בחברות כאלה ביחוד אם מה שמעניין אותך זה להתפתח מקצועית. אם זה הקורפורייט הראשון שלך אז אני בטוח שתקבל פרספקטיבה חדשה גם אם היא לה תהיה חיובית.
🕒 פורסם בתאריך: 11/08/2024 17:07
תודה רבה על התגובות!



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



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



כן

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



מעבר בין צוותים בחברות גאמפ״א גורר סבב ראיונות בדומה לקבלה?



אה, זה אחד החששות המרכזיים שלי במעבר לחברה מסד״ג של גאמפ״א. כלומר אני מבין שזה הכרחי בגלל הגודל של החברה, אבל קשה לתמחר עצמאות והתחושה של הצלחה אחרי ש״זורקים למים״.
🕒 פורסם בתאריך: 11/08/2024 21:02
זה קצת קשה להגיד. יש צוותים שהם מאוד hard core שזה ברור שהם יהיו חזקים (כמו תשתיות חשובות, קומפיילרים, דברים כאלה).



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



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

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



מה שבזבז זמן היה כל מיני חוקים \ מדיניות פנימית. כמה דוגמאות:



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



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



* אגב אינטגרציה, זה אולי הדבר שהכי כואב. כמה זמן יקח לך לפתח עמוד web של מחשבון? בוא נגזים ונגיד 3 שעות. אבל עכשיו אומרים לך - אתה צריך לעשות לו אינטגרציה עם ה login, עם ה- tracking cookies, עם מנגנון שמירת ההיסטוריה, ואחרי זה לקבל אישור privacy, אישור legal, אישור לשים לינק למחשבון שלך בעמוד אקראי כלשהו של החברה. זה נשמע בקטנה, נכון? אבל לא, כל דבר כזה הוא סרט. זה לא כמו open source שנועד להיות נוח וקל לשימוש. אלה כלים פנימיים שאמורים להגן על החברה מכל מיני דברים שלא היית חושב עליהם בכלל.



* ואחרי שעברת את כל אלה - אתה צריך להשיג compute resources. כמה שרתים צריך בשביל השירות שלך? ואם פתאום הוא יהיה מאוד פופולרי, אבל יקח חודשיים לבקש משאבים להגדיל אותו?



בקיצור, הלוואי שהפגישות היו הסיבה לבזבוז זמן :lol:
🕒 פורסם בתאריך: 11/08/2024 21:23
לא. בד״כ מבוצע ראיון או מקסימום 2-3 מול הצוות הקולט, ואז יש מסלול ניהולי שפונים לצוות הקודם לשחרר את האדם תחת לוחות זמנים ואילוצים סבירים. ההנהלה הבכירה דורשת שקיפות, כדי שהצוות הקודם לא יוכל לחסום סתם. ברור שיש אנשים שלא מסתדרים עם הצוות הקודם, ואז או שיעברו צוות או שיעזבו, והאינטרס של החברה זה לאפשר את המעבר.