ניהול קריירה וכו

Epsilonia

New member
ניהול קריירה וכו

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

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

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

choo

Active member
אם זה יותר מפרויקט של 2-3 חודשים - משהו מתנהל לא נכון

&nbsp
אני לא מכיר ספציפית את gradle (כן הכרתי את ant לפני הרבה שנים) - אבל כל כלי ה-build למיניהם עובדים באותה שיטה עקרונית (פשוט השפה אחרת). מי שמבין טוב את העקרונות שעליהם הכלים הללו מבוססים, ובהינתן פרוייקט פיתוח עם כמות מפתחים כמו שתארת - יוכל להגיע תוך חודשים ספורים לסביבה עובדת, שדורשת מעט מאוד תחזוקה (הכוונה להשקעה של לא יותר מיום עד יומיים בחודש). אם את לא יכולה להגיע לזה אחרי שיש לך כבר כמה שנות נסיון בפיתוח - כנראה שחסרה לך הבנה בסיסית של מערכות שהן rule-based, או שאת פשוט סובלת מבטחון עצמי נמוך ו/או מנסה ללמוד הכל לפני שאת מתחילה "ללכלך את הידיים".
&nbsp
ברמה העקרונית, הכרות עם כלי build ברמה של יכולת לבנות סביבות כאלו מאפס היא יתרון עצום למי שרוצה לעבוד בסטארטאפים ו/או להרים פרוייקטים חדשים בחברות גדולות יותר. השקעה של כמה חודשים בנושא היא השקעה מוצלחת, לטעמי האישית. לעומת זאת, אם מדובר בלעבוד על זה באופן בלעדי במשך שנה שנתיים קדימה - זה מוציא אותך לכיוון של "configuration management" - שזה מקצוע אחר לגמרי (ופחות מתגמל מפיתוח תוכנה, ולדעתי גם משעמם לטווח ארוך).
&nbsp
עוד דבר שלא הבנתי - איך זה קשור ליציבות המשרה שלך?
 

Spacekoala

New member
לי יצא לעשות את זה

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

Epsilonia

New member
תודה על העידוד


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

Spacekoala

New member
הסקריפטים לא ממש גדולים

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

user32

Well-known member
מנהל
לדעתי את חוששת לשווא

קודם כל, זה משהו שמאוד שווה לדעת (gradle, ant, בילד ומה שביניהם). מסוג הכלים שמשדרגים את הקו"ח והאטרקטיביות של המתכנת.
המשימה נשמעת לי הגיונית וגם מוצדק "להפיל" את זה על אחד המתכנתים גם אם הם לא מכירים את התחום. כמו שאמרו, לומדים goovy, מנתחים את הסקריפטים, בונים מה שצריך וזהו. אני משער שאחר כך את תהיי ה"אחראית בילד", סוג של CM או DevOps שבחברות קטנות בדרך כלל אחד המתכנתים לוקח על עצמו את התפקיד. זה יתפוס לך אולי 10% מהזמן ולדעתי זה דווקא יתרון.

בהצלחה
 

h a j b i

New member
זה לא מעבר מ JAVA ל - Gradle

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

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