תפקיד משרה: מהנדס תוכנה

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 2 אַפּרִיל 2021
תאריך עדכון: 1 יולי 2024
Anonim
הנדסת תוכנה
וִידֵאוֹ: הנדסת תוכנה

תוֹכֶן


מקור: Dragonimages / Dreamstime.com

להסיר:

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

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

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

מחזור חיי פיתוח התוכנה

בכדי להבין את תפקידו של מהנדס התוכנה, כדאי לדעת על מחזור חיי פיתוח התוכנה (SDLC).

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

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


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

ואז יש קידוד: "מהנדסי התוכנה יכתבו את ההצהרות הספציפיות בקוד שייצרו את המוצר הרצוי העומד בדרישות הספציפיות", אומר קוויגלי על שלב הקידוד.

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

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

אתה לא יכול לשפר את כישורי התכנות שלך כאשר לאף אחד לא אכפת מאיכות התוכנה.

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


תפקידו המגוון של מהנדס התוכנה

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

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

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

"IT הוא תפעולי וחוזר על עצמו, ואילו הנדסה נסובה סביב בעיות חדשות שיש לפתור כפרויקטים ייחודיים", הוא אומר. "אנשי IT נוטים הרבה יותר לחפש אישורים מבוססי כלים נפרדים בגלל חזרה זו. בניגוד למשהו כמו הנדסת מחשבים נראית היכן שהדרישות מתקיימות - אישורי CE נוטים להתמקד בפתרון הבעיה עם חומרה, כאשר התוכנה תומכת בה. אנשי SE הם פותרים את הבעיה עם תוכנה, כאשר חומרה מספקת תמיכה. "

מהנדס התוכנה וצוותי הפרויקט

בחברות רבות, מהנדסי תוכנה מקובצים ומפקידים תפקידים בהתאם לחלקם בתהליך המורכב.

ברנן מיגר מתאר דוגמא מטל טראקינג, חברה שעולה לכותרות בחדשנות בתחום הבריאות ב- Fierce Healthcare, האמריקנית לרופאי חירום, ניהול נתוני בריאות, Healthcare IT News ועוד.

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

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

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

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

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

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