CodeGym /בלוג Java /Random-HE /איך זה להיות מפתח בכיר. מדריך קצר לתפקיד
John Squirrels
רָמָה
San Francisco

איך זה להיות מפתח בכיר. מדריך קצר לתפקיד

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

מיהו מפתח בכיר?

במאמרים כאלה על מקצועות והתמחויות בפיתוח תוכנה עלינו תמיד לעשות איזשהו כתב ויתור, להסביר שהתפיסה וההבנה של תפקיד מסוים עשויות להשתנות מאוד, בהתאם לחברה, לתעשייה בה היא פועלת וגורמים נוספים. . יש אנשים, בעיקר אלה שנוטים להיות מעט שמרניים, מאמינים שמותר לך לקרוא לעצמך קשיש רק אם יש לך למעלה מ-10 שנות ניסיון בקידוד, וזה אחראי. כלומר, רק שנים שבהן בעצם קידדתם כמספר עובדים במשרה מלאה, אינכם יכולים להתחיל לספור מרגע שניסיתם לראשונה לתכנת ב-Basic בגיל 12 (כפי שמקודדים צעירים רבים נוטים לעשות, ומעצבנים מתכנתים בכירים אמיתיים. ). בהיותם פחות שמרניים, אנשים רבים מאמינים שיותר מחמש שנים של עבודה במשרה מלאה כמפתחי תוכנה מאפשרת לך לקרוא לעצמך בכירה. מצד שני, ניסיון של שנים הוא רק מספר, מה שחשוב באמת הוא ידע, כישורים וניסיון ישים. זה המקום שבו אתה צריך באמת לספק כדי להגיע לתואר הבכיר, כי מפתח בכיר נתפס לעתים קרובות כאשף קידוד יודע כל, כל יכול. בתפיסת ההנהלה, Senior הוא בדרך כלל זה שיודע לפתור כל משימה הקשורה לפרויקט או איך לכתוב את הקוד הנדרש. אבל אחת התפקידים החשובים ביותר של מפתח בכיר בפרויקט פיתוח תוכנה ספציפי הוא הכרת הפרויקט עצמו על כל הנושאים, הצרכים, הניואנסים שלו וכו'. היכולת לעבוד אוטונומית היא תכונה חשובה של קשיש. המשמעות היא שהבכיר יודע מה ומתי לעשות, ואינו זקוק לפיקוח על מנת לספק את העבודה שהוא מצפה לעשות. וזו תכונה חשובה למדי בעיני כל מעסיק, שכן זה אומר שאתה יכול לתת למפתח הזה משימה הקשורה לפרויקט ולהשאיר לו/ה את כל השאר. כאשר "כל השאר" הוא: להבין את הצרכים, הדרישות והמגבלות להשלמת המשימה, להגיע לגישה הנכונה, מציאת מכשירים מתאימים, חלוקת המשימה הגדולה למשימות קטנות יותר ומתן אלו לרמה בינונית וג'וניור מפתחים וכו'. ישנו היבט מרכזי נוסף שמבדיל בין ה-Seniors לבין קודנים בינוניים וג'וניורים. זה כתוב בקוד שהם כותבים, ובדרך שבה הם עושים את זה. בכיר בדרך כלל הוא וצריך להיות זה שכותב את הקוד הכי ברור, פשוט ותמציתי. לפעמים במידה שבה הקוד הזה נראה פשוט מדי ובסיסי באופן פרימיטיבי. הסיבה לכך היא כי על Senior לשקול לא רק את השלמת המשימה כתוצאה הסופית, אלא את ההשפעה הכוללת של הקוד החדש על בסיס הקוד של הפרויקט. מפתחים בכירים כותבים את הקוד שלהם מתוך מחשבה על תחזוקה ומדרגיות, וזו החוזק העיקרי שלהם, שיכול לבוא רק עם ניסיון ולא שום דבר אחר.

מהן תחומי האחריות של מפתח בכיר?

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

דרישות למפתח בכיר

להלן רשימה של הדרישות הנפוצות והטיפוסיות ביותר למפתח בכיר שעליכם לעמוד בהן כדי לקבל עבודה זו. כמובן, הדרישות ישתנו בהתאם למדיניות העסקה של החברה, הטכנולוגיות המשמשות בפרויקט ושפת התכנות שלך.
  • ידע כללי נרחב בפיתוח תוכנה וטכנולוגיותיה;
  • ידע רב ב-Java;
  • ניסיון בתכנון, בנייה ובדיקה של יישומים ארגוניים;
  • ידע מעמיק במסגרות Java פופולריות כמו Spring, Spring Boot או Java EE, JSF ואחרות;
  • ניסיון בעיצוב מונחה עצמים (OOD).
אלו הן רק דרישות בסיסיות הקשורות לתכנות, אבל ידע טכני לעתים קרובות אינו מספיק כדי לקבל עבודה של מפתח בכיר, מכיוון שיש כל כך הרבה מיומנויות חשובות אחרות המרכיבות קשיש חזק. הנה כמה דרישות שאינן טכניות המוזכרות בדרך כלל למפתח האב.
  • כישורי העברת משלחת וניהול זמן טובים;
  • יכולות פתרון בעיות;
  • כישורי תקשורת טובים;
  • כישורי תקשורת כתובים ומילוליים חזקים;
  • יכולת עמידה בזמנים וחשיבה אסטרטגית.

כמה מפתחים בכירים מרוויחים?

כפי שאתה אולי יודע, כשמדובר במשכורות עבור משרות קידוד בארה"ב, עבור מפתח בכיר מנוסה, השמיים הם גבול, שכן ענקיות כמו גוגל, פייסבוק, אמזון, אפל ומיקרוסופט משלמות הרבה למהנדסי תוכנה . לדוגמה, בגוגל, מהנדס תוכנה ברמה 7, הנחשבת הגבוהה ביותר שאתה יכול לקבל כמפתח, יכול להרוויח 608,000 דולר בסך הכל בשנה. אבל בואו נעבור על נתונים ממוצעים. לפי Glassdoor , המתכנת הבכיר הממוצע בארה"ב מרוויח בסביבות 121,000 דולר לשנה, וזה גבוה במידה ניכרת בהשוואה לשכר של קודן בדרג בינוני של 71,000 דולר בשנה והשכר הממוצע של 63,502 דולר בשנה שמרוויחים ג'וניור devs בארה"ב. דוח של PayScale, מפתח בכיר עם ניסיון של 10-19 שנים מרוויח פיצוי כולל ממוצע של 109,122 דולר על בסיס 5,523 משכורות . בסוף הקריירה שלהם (20 שנים ומעלה), עובדים מרוויחים פיצוי כולל של 111,432 דולר. בגרמניה , לפי PayScale, מפתח תוכנה בכיר עם ניסיון של למעלה מ-10 שנים זוכה לפיצוי ממוצע כולל של 63,638 אירו. בצרפת , השכר הממוצע של קשיש הוא 54,982 אירו. כרגיל, כשזה נוגע למספרים בלבד, מתכנתים אמריקאים מקדימים את עמיתיהם באירופה ובמקומות אחרים. נקודה מעניינת נוספת שיש לציין היא שמתכנתים בכירים באמריקה מרוויחים משמעותית יותר מקודנים בינוניים. אולי, ניתן להסביר זאת בצורה הטובה ביותר מתוך הנחה שרוב המקודדים הבכירים המקצועיים והמנוסים באמת בארה"ב עובדים עבור ענקיות טכנולוגיה אמריקאיות, שהן מוציאות כוח העבודה המוביל בעולם בתוכנה.

פרספקטיבות קריירה

כשמדובר בפרספקטיבות קריירה, למפתחים בכירים יש אותן בהחלט. אבל הדבר המצחיק הוא שרובם לא באמת מחפשים. תפקידים כמו Team Lead ו-Tech Lead יהיו בין האפשרויות העיקריות להסתכל קדימה על הגעה לרמה הבכירה. כמו גם אפשרויות שונות בניהול טכנולוגיה. עם כנראה תפקידי CTO ומנכ"ל של חברת טכנולוגיה כהישגים הגבוהים ביותר בקריירה של מפתח בכיר. CTO הוא תחום ריאלי יותר כמובן, שכן אפילו בתעשיית הטכנולוגיה, לרוב המנכ"לים למעשה אין רקע טכני או מוגבל מאוד.

איך זה להיות מפתח בכיר. דעות

באופן טבעי, כשמדובר בעמדת מפתח בכיר באופן כללי, רוב הדיונים נוטים להתמקד בשני נושאים מרכזיים שהמפתחים פשוט רוצים להתווכח עליהם: מה באמת הופך אותך למפתח בכיר וכמה מהר אתה יכול להתחיל לקרוא לעצמך בכיר. "זה עשוי להפתיע אנשים מסוימים, אבל המשרות בדרג הבכיר ביקשו מהמועמדים להיות בעלי ניסיון של בין 5 ל-8 שנים. היו כמה שביקשו 10 שנים או יותר, אבל לא הרבה. כמפתח בכיר, חברה תצפה ממך להיות מסוגל לקחת רעיון מעורפל, לפרט אותו, לתכנן את הפיתוח, לערב צוות ולעקוב אחריו עד להשלמתו. הואיל ומפתח ביניים, בדרך כלל, צפוי לבצע, ללא פיקוח, את המשימות האישיות שהוטלו עליו, לעבוד בצוות ולבצע חונכות מסוימת. אבל לא בהכרח לשלוט על כל התהליך מתחילתו ועד סופו," ג'ון מוריס, מתכנת בכיר עם למעלה מ-10 שנות ניסיון, שותף לדעה שלו. "עם מפתח בכיר, אני יכול לתת מטרה ברמה גבוהה/עמומה יותר והם יכולים לפרט את זה, ליצור תוכנית לביצוע, להפעיל את זה על ידי, ואז ללכת ליישם את זה עם כמות מינימלית של החזקת יד. אז כשאתה מרגיש בטוח שאתה יכול לקחת רעיון מעורפל ולהביא אותו לסיומו במלואו, אתה מפתח בכיר. שים לב שזה לא אומר שאתה אף פעם לא מבקש עזרה, כי כולם עושים את זה מעת לעת, אבל אתה יכול להניע את התהליך מבלי שאצטרך לעשות לך בייביסיטר", אומר אריק וייז, מייסד שותף ומנכ"ל Wise Telemetry. ובואו נסיים את זה בציטוט די טוב זה של פבלו אוליבה, מפתח תוכנה מנוסה מגרמניה: "למפתחים הבכירים שעבדתי איתם נראה היה שיש חגורת כלים ענקית, כביכול. בכל פעם שהתעוררו בעיות, היו להם הרבה משאבים לפנות אליהם. הם הכירו היטב את הכלים והשפות שבהם השתמשנו ביום יום, וידעו היכן לחפש כשהם לא יודעים משהו (יש הבדל בין חיפוש בגוגל ללא מטרה לבין מעבר לדף המדריך הנכון בניסיון הראשון). הידע הזה על פתרונות ישנים ובקיאות בחיפוש אחר פתרונות חדשים גרמו להם להערכה רבה על ידי עמיתיהם, שלעתים קרובות היו פונים אליהם להצעות. הם גם, בתורם, ידעו מתי להפסיק לחפש לבד ולבקש עזרה מעמית. לחלקם היו אישורים, לחלקם לא. חלקם סיימו לימודים, חלקם לא. אבל הם תמיד היו נקודת התייחסות עבור הקבוצות שלהם (ואפילו עבור אנשים בקבוצות אחרות, עבור כמה מפתחים בכירים מרהיבים במיוחד). אז כמה אנשים חושבים לבקש ממך עזרה כשהם נתקעים?"
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION