מה עושה מהנדס תוכנה
ראשית, זה דבר שמשתנה מחברה לחברה ומתפקיד לתפקיד. יש כאלו שאכן רק כותבים קוד כל הזמן. יש כאלו שעושים יותר מזה. עכשיו אתה שואל "מה זה יותר מזה?" . למשל: - צריך להגדיר את הדרישות המדויקות מהתוכנה (זה נקרא "ניתוח ואיפיון"). בחלק מהמקרים יעשה את זה מהנדס תוכנה. - צריך לתכנן ולעצב את התוכנה (זה נקרא Design). את זה תמיד יעשה מהנדס תוכנה. אפשר לומר שזה השלב העיקרי בעבודה של מהנדס התוכנה. - מחקר. (איך מיישמים את דרישות התוכנה? בהרבה מקרים יש צורך ללמוד טכנולוגיה ספציפית בשביל לפתח מוצר או פיצ'ר מסוים במוצר). - כל מה שכלול בעבודת צוות. לסיכום, סדר יום של מהנדס תוכנה יכול לכלול: - לימוד חומר (בד"כ לימוד עצמי, ע"י קריאה של חומר מהאינטרנט/ספרים/קוד של אחרים/ניסויים עצמיים). - תכנון. זה השלב המחשבתי/יצירתי. בשביל זה אתה נקרא "מהנדס"... - כתיבת מסמכים. (מסמכי איפיון ומסמכי design) - עבודת צוות: השתתפות בדיונים על המסמכים שאתה כתבת ושכתבו אחרים, סיעורי מוחות, פתרון בעיות, התיעצות ויעוץ לאחרים. - כתיבת קוד. - Debugging. (צוות הבדיקות מוצא באגים במוצר ועליך למצוא אותם בקוד ולתקן). - ארוחת צהריים
כאמור, יש מהנדסי תוכנה שעושים את כל הדברים האלו ויותר (נסיעות לחו"ל להדגים את המוצר אצל לקוח... לדוגמה), יש כאלו שעושים פחות. זה תלוי מאוד בחברה. לשאלתך: האם ניתן לצמוח מתחום זה לתחומים נוספים כמו גרפיקה ממוחשבת, מולטימדיה, עיצוב ובניית ממשקים ואתרי אנטרנט. - התשובה היא שאלו תחומים שונים ונפרדים לגמרי. אם אתה מעוניין בדברים האלו, אז אין שום היגיון בללמוד הנדסת תוכנה, אלא לך ולמד גרפיקה ממוחשבת וכד'. מי שהלך להיות מהנדס תוכנה, לא יראה בזה "צמיחה" לעבור לגרפיקה ממוחשבת אלא להיפך... האם מהנדס תוכנה גם מתעסק בחזות של המוצר אותו הוא בונה? כלומר הממשק אותו רואה הצרכן/הלקוח ? לעיתים כן ולעיתים לא. זה מאוד תלוי בסוג המוצר, בחברה, ובעוד דברים.