תחומי האחריות של DevOps
מפתחי DevOps מתעסקים בתהליכים רבים ומגוונים, המתבססים על שיטת העבודה הנותנת דגש על שיתוף פעולה בין כל אנשי הצוות בארגון:
- ניהול משאבים – ארגון המשאבים הזמינים לשימוש ויצירת מערך ניצול אופטימלי שלהם בהתאם לדרישות והצרכים השונים של כל המשתמשים, למשל מסדי נתונים, שירותי החברה, משאבי ענן ועוד
- פיתוח כלים ואוטומציות – פיתוח הכלים והאוטומציות המאפשרים לאנשי הצוות לתכנן קוד, לבדוק אותו ולהטמיע אותו בקלות וביעילות, כדי לאפשר פעילות שוטפת ותקינה של המוצר או השירות שהחברה מציעה ללקוחותיה. זה כולל גם מה שידוע בתחום כ-CI/CD – פיתוח תהליכי אינטרגציה, הפצה והטמעה מתמשכים, המספקים למפתחים משוב מיידי על הקוד שלהם כדי שהם יוכלו לשפר ולתקן אותו עוד לפני שהוא מופץ ללקוחות
- ניטור תקלות – מפתח DevOps עוזר למפתחי הקוד לגלות תקלות עוד לפני שהן מגיעות מצד המשתמשים
- אבטחה – המפתח עובד בשיתוף פעולה עם צוות האבטחה של הארגון כדי לוודא שפרוטוקול האבטחה מוטמע כראוי בתהליכי הפיתוח וההפצה של המוצר
התפקיד מבוסס על שיטת עבודה באותו השם, השואפת ליצור אינטגרציה ושיתוף פעולה חלק יותר בין הצד המפתח שבחברה לצד האופרטיבי שלה.
היתרונות של מפתח DevOps
מפתח DevOps עוזר לגשר על הפערים בין המפתחים לאנשי ה-IT, ומספק יתרונות רבים המייעלים את העבודה בארגון ואת שרשרת הפיתוח של הקודים והמוצרים של החברה:
- מחבר בקלות בין שני הצדדים – למפתח DevOps יש ידע נרחב בשני הקצוות של השרשרת, ולכן הוא מסוגל לעזור לכל צד לעשות את עבודתו היטב וגם לחבר ביניהם כדי ליצור זרם עבודה תקין ויעיל
- הסתכלות על התמונה המלאה – כבעל תפקיד שיש לו ניסיון רב תחומי, מפתח DevOps עוזר לארגון להתבונן בתמונה המלאה של תהליכי הפיתוח ולשפר אותם
- הוצאה מהירה של מוצרים לשוק – היכולות שמפתחי DevOps מביאים איתם לחברה מאפשרות להן לפתח ביעילות ובמהירות רבה יותר את המוצרים שלהן, ולהוציא לשוק מוצרים גמורים לפני המתחרים
האתגרים של מפתח DevOps
עם כל הטוב שיש בתפקיד הוורסטילי הזה, מול מפתחי DevOps עומדים כמה אתגרים מקצועיים:
- התעדכנות בחידושים – זהו אחד התחומים המתעדכנים ללא הרף, ומדי יום המפתחים יכולים למצוא את עצמם קוראים על תוכנה חדשה או על מערכת שכמעט הקריסה חברה שלמה. ההתעדכנות השוטפת עלולה לפעמים להיות אתגר של ממש, כי עם הקריאה צריכים להגיע גם ההבנה והיישום של החידושים. כאן באה לידי ביטוי היכולת של המפתח ללמידה עצמית והמוטיבציה שלו להשתפר ולעמוד בחזית הפיתוח
- נדרש ידע רב לפעילות אופטימלית – המפתח צריך להכיר היטב את כל התחומים שהוא מתעסק בהם, הן מאזור הפיתוח והן מאזור ה-IT של החברה. כל אחד מהתחומים האלו מכיל בתוכו נושאים רבים, וזה יכול להיות אתגר של ממש עבור המפתחים, הנדרשים ליישם ידע רב בזמן קצר
- שינויים בתרבות הארגון – יישום תהליכים שמפתח DevOps עובד עליהם יכול ליצור שינויים במבנה החברה או בצורת העבודה שלה, מה שיכול להיות אתגר שכל הצוות יצטרך להתמודד איתו בהובלת המפתח
מהו השכר של מפתח DevOps?
השכר החודשי של מפתח DevOps ג'וניור מתחיל בדרך כלל בסכום של 18,000 ש"ח, אך יש חברות המציעות למפתחים בלי ניסיון גם סכומים גבוהים יותר. ככל שהוותק נצבר כך גם השכר עולה, ומפתחים עם 5 שנות ניסיון יכולים להרוויח כ-30,000 או 35,000 ש"ח, ומהנדסים בכירים בעלי 8 שנות ניסיון או יותר ירוויחו באזור 50,000 ש"ח בחודש. רוצים לדעת איפה התפקיד הזה עומד ביחס למשרות אחרות בשוק? מוזמנים לפנות לעמוד טבלאות שכר בהייטק באתר שלנו ולהתרשם מההצעות בתחום ולראות את טווח ההצעות של כל תפקיד לפי שנות הוותק.
דרישות התפקיד DevOps
לפניכם רשימה של דרישות לתפקיד DevOps שתוכלו למצוא במגוון מודעות הדרושים בתחום. הדרישות האלו מתחלקות לדרישות חובה וליכולות שהן יתרון קריטי למועמדים.
דרישות חובה:
- ניסיון בפיתוח תהליכי אוטומציה וכלים רלוונטיים
- ניסיון עם תהליכי CI/CD
- ניסיון בסביבת פרודקשן
- ניסיון בסביבת לינוקס או Windows
- ניסיון בניהול תשתיות ענן שונות כמו AWS, GCP, Azure ועוד
- ניסיון בניתוח נתונים כמו מדדי ביצועים
- ידע בתכנות בשפות שונות – פייתון, Bash, Powershell, C# ועוד
- ידע בעבודה עם כלים שונים כמו Git, Bitbucket, Jenkins, Sonarqube, Nginx ועוד
- ניסיון בכתיבת IAC
יתרונות חשובים:
- יכולת תגובה מהירה
- תקשורת בין אישית ברמה גבוהה
- יכולת הסתגלות לשינויים
- ראייה מערכתית רחבה
- יכולת למידה עצמית
ומה הלאה? מסלול ההתקדמות מפיתוח DevOps
כיוון שיש למפתחי DevOps ידע רב בתחומים שונים, מסלול ההתקדמות שלהם מכיל מגוון אפשרויות. הינה כמה דוגמאות למשרות המשך מבוקשות:
- תפקידי ניהול שונים – מפתחי DevOps בעלי תקשורת בין אישית גבוהה ויכולות ניהול מוכחות יכולים לעבור ולנהל צוותים משלהם, בין שהם רוצים להישאר בתחום ה-DevOps או לנהל צוותים באחד התחומים הרלוונטיים, למשל IT
- מהנדס תשתיות – מהנדסי תשתיות מתמקדים בתכנון וניהול תשתיות IT, הכוללים את התשתית המקומית או תשתיות בענן
- מהנדס אוטומציות – אוטומציות הן חלק חשוב בתפקידו של מפתח DevOps, ובהמשך הקריירה הוא יכול להתקדם לתפקיד המתמקד בניואנסים של האוטומציות ולהתמקצע בתחום
- מהנדס מכונות למידה – מכונות למידה תופסות עוד ועוד מקום בעולם הפיתוח והטכנולוגיה, ומהנדסי מכונות למידה לומדים לתפעל אותן כראוי ולהטמיע אותם בצורה יעילה ונכונה בארגון
לסיכום
מפתח DevOps הוא תפקיד מפתח בחברות טכנולוגיות ועבודתו מקרינה לרוב על שיתוף הפעולה וזרימת העבודה בין צוות הפיתוח לצוות ה-IT בחברה. יש לו אחריות רבה והוא צריך להיות בעל ידע נרחב בשני התחומים האלו, דבר שמאפשר בצידו גם שכר מתגמל. אנשי DevOps הם בדרך כלל אוטודידקטים בעלי ניסיון בפיתוח וגם ב-IT, בעלי תקשורת בין אישית טובה ויכולת להתבונן בתמונה המלאה כדי לשפר את תהליכי העבודה בארגון.