אילו מהנדסי תוכנה קיימים? סקירה של 14 סוגי מתכנתים

סוגים של מהנדסי תוכנה

אילו מהנדסי תוכנה אתם?

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

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

תוכן עניינים

מודעה

"..הרי אף מעסיק לא יקח אותך בגלל שסיימת איזה קורס..."

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

הנדסת תוכנה היא תחום רחב המחולק לכמה תתי-תחומים.

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

עבור כל תפקיד נדרשות מיומנויות שונות – קודם כל, כישורים טכניים כמו הבנה של שפות תכנות, בסיסי נתונים או פריימוורקס. אבל בנוסף גם מיומנויות “רכות” שאינן בלעדיות לתפקיד של מהנדסי תוכנה.

לצפייה בסרטון – סקירת 11 תפקידי פיתוח תוכנה בהייטק:

11 סוגים של מהנדסי תוכנה

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

#1 – פרונט אנד – Front End

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

שפות נפוצות לפיתוח פרונט אנד: HTML, CSS, Javascript, React, React Native, Vue, angularJS

לקריאה נוספת: 11 קורסי פרונט אנד שהכניסו אותי להייטק >>


#2 – בק אנד – Back End

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

שפות עיקריות שרלוונטיות למפתחי בק אנד: php, python, ruby, java, .NET, javascript. מעבר לכך, מהנדסי בק אנד נדרשים להבנה טובה במאגרי נתונים (דאטה-בייסים)

#3 – מהנדס QA

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

השפות העיקריות שמהנדסי QA נעזרים בהן: Python, C++, JS, Java, C#, Dart

#4 – פולסטאק – Full Stack

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

שפות נפוצות למפתחי פולסטאק: Go, python, php (Hack), Javascript, Java, C++, R

לקריאה נוספת: 7 קורסי Full Stack מומלצים לכניסה לתעשייה >>


#5 – מהנדס דאטה – Data Engineer

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

השפות הנפוצות למהנדסי דאטה: Python, SQL/Presto. ומעבר לכך הם נדרשים להיכרות מעמיקה עם DBs (מאגרי נתונים).

#6 – דבופס – DevOps

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

שפות נפוצות למפתחי דבאופס: Python, JS, Ruby, perl, Go. ומעבר לשפות תכנות, אנשי דבאופס עובדים הרבה עם שרתי ענן, Databasesים, תיחזוק תהליך ה- Source Control ועוד. 

#7 – מהנדס מערכות לומדות – ML Engineer

מהנדס מערכות לומדות, או Machine Learning Engineer בונה מודלים של למידת מכונה ובינה מלאכותית, ומבצע אנליזות כדי לזהות תבניות בדאטה.

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

#8 – מפתח אפליקציות

בדיוק כמו שזה נשמע – מפתח אפליקציות הוא מתכנת שמפתח יישומם לאנדרויד ולאייפון 

שפות עיקריות לפיתוח אפליקציות: Java (Android Native), Object C, Swift, C#, React Native, Kotlin,

#9 – מהנדס פרודאקשן – Production Engineer

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

שפות עיקריות שמהנדסי פרודאקשן משתמשים בהן: php, Python, C++, Java

#10 – מהנדס וריפיקציה – Design Verification

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

השפות העיקריות של מהנדסי וריפיקציה: Verilog, C, C++, Python, Perl, Shell Scripting

#11 – מהנדס Enterprise Systems

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

כישורים עיקריים של מהנדסי אנטרפרייז כוללים: Linux, Apache, Oracle, Squid, MySQL, NFS, DHCP, SSH, DNS, SNMP, Ruby, php.

#12 – מהנדס אמבדד – Embedded Engineer

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

טכנולוגיות עיקריות של מהנדסי אמבדד: Rust, Assembly C, C++ ADA וטכנולוגיות כגון ThreadX, Nucleus RTOS

#13 – מפתח פירמוור – firmware engineer

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

שפות נפוצות: C/C++

#14 – מפתח אוטומציה

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

טכנולוגיות נפוצות: Selenium, C, C++


מודעה

"..הרי אף מעסיק לא יקח אותך בגלל שסיימת איזה קורס..."

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

המאמר עזר לך? כאן משתפים >>

רוצה להישאר בלופ?

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

*מבטיחים לא לחפור:)