שאלה למפתחים

מעוין

New member
שאלה למפתחים

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

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

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

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

תודה מראש,
מ.
 

choo

Active member
בלי לראות את הקוד והדרישות לבדיקות קשה לדעת

&nbsp
רק לסבר את האוזן - בדיקה "קצה לקצה" של שרת web אפשר לעשות עם סקריפט שמריץ curl מבלי להבין כלל את מבנה המערכת. אם מדובר ברמה כזו של בדיקות - זה אפשרי.
&nbsp
אני חושב שהפתרון צריך להיות משהו כמו זה: תפוס את אותה אחת שהסבירה לך על הקוד, ובקש ממנה לשבת ביחד לכתוב את הטסט הראשון. ככה תראה מה בדיוק הם רוצים שיהיה בטסטים, תלמד איך להריץ את הבדיקות, ויותר מזה - אם היא לא תצליח לכתוב את הבדיקה (כולל להרית אותה ולראות שהיא עוברת) בתוך שעה וקצת - המשימה (15 בדיקות בתוך יומיים) אינה אפשרית.
&nbsp
אם היא תסיים את זה בתוך שעה ואתה תצליך לעקוב אחריה ולהבין מה היא עושה - יש לך סיכוי להצליח. מעבר לזה - כבר ראיתי מקרים שבהם הבדיקות מאוד דומות אחת לשניה ואפשר לעשות ביניהן העתק-הדבק (או יותר טוב - לכתוב קוד אחד דמופעל בכל פעם עם פרמטרים שונים שמשנים את ההתנהגות שלו).
&nbsp
לפעמים כשנמצאים במקום חדש, וגוררים איתך מילון מושגים מסוים, עלולים לגלות שהם משתמשים באותן מילים לתאר משהו אחר לגמרי. ולפעמים האנשים במקום החדש לא מחוברים למציאות ;)
&nbsp
ספר לנו שבוע הבא איך הלך.
 

מעוין

New member
לצערי זה מורכב...

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

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

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

tenen

New member
אולי יצרת את הרושם הלא נכון שהתקבלת?

אם אני קורא את ההודעות שלך בפורום:
&nbsp
באוגוסט 2013 היית מתכנת עם חודש ניסיון ושם רשמת שאתה עובד ב
WinForms כלומר צד לקוח ולא שרת.
http://www.tapuz.co.il/forums2008/viewmsg.aspx?forumid=831&messageid=171095135#171095135
&nbsp
באפריל 2015 עבדת בתחום האלגו ולפי זה שאתה מתאר עצמך כאיש צד שרת אני מניח שזו הייתה העבודה בצד שרת.
http://www.tapuz.co.il/forums2008/viewmsg.aspx?forumid=308&messageid=178300100#178300100
&nbsp
עכשיו אתה מספר, שעם פחות משנתיים ניסיון, התחלת עבודה חדשה, אתה מתקשה משום שאתה איש סרבר סייד ואתה מבואס כי "הייתי זה שמרים את המערכות מאפס".
&nbsp
כלומר מי שקורא את קורות החיים שלך רק ממה שרשמת בפורום יכול להתרשם שאתה כוכב עולה, תוך פחות משנתיים ניסיון כבר למדת WINFORM כך שיש לך ניסיון לקוח ולא רק צד שרת והרמת מערכות מאפס בתחום האלגו.
&nbsp
למה אתה מתפלא שהם מצפים ממך לתפוקה של כוכב עולה אם רשמת בקורות חיים שלך מה שרשמת כאן בפורום אז האדם הסביר היה מניח שאתה כוכב עולה.
&nbsp
עכשיו יכול להיות שהם באמת מגזימים, אני חושב שגם לאנשים מנוסים לוקח זמן להיכנס לטכנולוגיה ולוגיקה קיימת ואני לא הייתי מצפה מאדם, בטח לא אחד עם שנתיים ניסיון להיכנס כל כך מהר לעניינים.
&nbsp
בכל מקרה, אם אני הייתי אתה, הייתי הולך לקורס הוידאו הזה ואחרים ומבלה איתם ועם הVS את הסופש כי נראה שיש לך מספיק עבודה שבוע הבא ואתה לא צריך להיתקע גם על ללמוד את הטכנולוגיה אלא עדיף שבמשרד תשקיע בלוגיקה של המערכת עצמה.
 

מעוין

New member
בו נניח אני כוכב

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

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

יינון35

New member
צודק, אין מצב לעשות כלום תוך יומיים, זה לא הגיוני בעליל,

אם יש משהו כתוב להתבסס עליו וזה ברמת cut&paste אז בסדר, אבל להבין מערכת
שלמה תוך יומיים ולייצר בדיקות? לא ברור לי מה הסיפור של הראש צוות שלך,
או שהוא פשוט לא מקצועי,
&nbsp
תכתוב משהו כזה:
sleep(10000)
return success
 

tenen

New member
זה מאוד פרסונלי

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

zaske

New member
לדעתי שלושה חודשים זה זמן סביר

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

hadooper

New member
האמת היא שאתה מעלה נקודה מעניינת...

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

יינון35

New member
לא הייתי בונה את הקריירה שלי

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

hadooper

New member
.

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

hadooper

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

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

vinney

Well-known member
במייקרוסופט כבר מזמן אין את המדיניות הזאת

 

hadooper

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

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

hadooper

New member
ואגב

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

אילן די

New member
נכון. אין.

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