מפתח תוכנה

מתוך הנקודאי
(הופנה מהדף מתכנת)

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

ידע הנדרש לעיסוק תכוף בפיתוח תוכנה

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

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

תארים מקצועיים נפוצים בקרב מפתחי תוכנה

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

  • סיס אדמין: מנהל סביבה (מערכת הפעלה) עם ידע וניסיון בעיקר ביצירת תוכנות קצרות, לרוב סקריפטים של דף בודד בשפת תפעול-התנהגות כגון שפת Bash
  • סקריפטר כללי: איש מחשוב עם ידע וניסיון בעיקר ביצירת תוכנות קצרות, לרוב סקריפטים של דף בודד בשפת תפעול-התנהגות כגון Bash ו\או בשפות התנהגות כגון שפת JavaScript
  • מפתח תוכנה מומחה ווב: מניסיוני מונח זה מתאר לרוב מפתח תוכנה שבאופן כללי איננו מתעסק עם שפות תפעול-התנהגות של סביבת מערכת הפעלה ומפתח התנהגות אפליקציות ווב בשכבות גבוהות יותר משכבת מערכת ההפעלה כגון עם שפת PHP ועוד לרוב תוך שימוש בסטאק הווב ← שפת HTML, שפת JavaScript ושפת CSS ולעתים גם שפות נוספות
  • אלגוריתמאי: מומחה פיתוח התנהגות ובעיקר אוטומציה בדגש על מערכות מכניות (כגון רובוטים); שפות נפוצות הן למשל C/Java/C#/Python

הגדרה אישית

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

תומכי IT

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

מפתח תוכנה לעומת הנדסאי תוכנה

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

מונח הדבאופ

החל משנת 2010 בערך, הלך ונעשה נפוץ מונח הדבאופ; בשנת 2020 עלה הביקוש מאד לדבאופים בתעשייה.

מתכנת ווב

מתכנת ווב אני מגדיר כמפתח תוכנה (מתכנת) מומחה לתחום הווב.

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

ראו גם

הערות שוליים

  1. ^ כגון GitHub
  2. ^ מניסיוני, כלל מפתחי התוכנה בקיאים בשתי שפות התנהגות לפחות (אפשר שבאחת באופן עיקרי ובשנייה באופן משני); לעתים שפות אלה דומות ומהוות לכאורה "ניבים" של אותה שפה כמו עם ספריית קוד או פריימוורק