Full stack בפיתוח טכנולוגי מתייחס למערכת מחשבים או אפליקציה שלמה מה-front end (מול הלקוח או מול המשתמש) ל-back end (טכנולוגיית "מאחורי הקלעים", כמו מסדי נתונים ואדריכלות פנימית) וקוד התוכנה המחבר את השניים.
בפיתוח תוכנות מחשב ופיתוח יישומים, מפתחי full stack הם בעלי הכישורים והמומחיות לנהל עובדים ופרויקטים ולפתח את הקוד שייצור או ייעל את האינטגרציה בין מערכות ה-back end ל-front end.
פיתוח front end כולל יצירה או אופטימיזציה של חלקים גלויים באתרי אינטרנט או אפליקציות שמשתמשים רואים ומתקשרים בהם עם דפדפני האינטרנט שלהם או במכשירים הניידים שלהם. אפליקציות ואתרי אינטרנט אלה נוצרים בדרך כלל בעזרת כלים כמו HTML, CSS ו- JavaScript.
לעומת זאת, פיתוח back end כרוך ביצירה ושכלול קוד תוכנה שמשלב ומתקשר עם מסדי הנתונים, התוכנה והתשתיות האחרות של הארגון (סוף השרת) כך שאתרי האינטרנט ו / או האפליקציות המובילים יוכלו לספק את המידע שהמבקרים או הלקוחות זקוקים לו.
אילו מיומנויות ושפות תכנות אתה צריך כדי להיות מפתח full stack?
מי שמעוניין להמשיך בקריירה כמפתח full stack או מהנדס full stack יצטרך להיות בקיא במגוון שפות תכנות מחשבים. מפתחי full stack צריכים להיות בקיאים בשפות המשמשות לפיתוח חזיתי כמו HTML, CSS, JavaScript וספריות של צד שלישי ותוספים לפיתוח אינטרנט כגון JQuery, LESS, SASS ו- REACT.
עבור מפתחי full stack, שליטה בשפות תכנות אלה לא מספיקה ויש לשלב זאת עם ידע בעיצוב ממשק משתמש וכן בעיצוב חווית לקוח ליצירת אתרים ואפליקציות מיטביים.
מפתחים ומהנדסים full stack צריכים גם לדעת כיצד לכתוב קוד בשפות back end כמוJAVA, PHP, Ruby, Perl, Python ו- C על מנת להבטיח שאתרי האינטרנט והיישומים הבנויים ב-front end שלהם יוכלו להשתלב עם ה- Back end של אפליקציות ותשתיות עסקיות. הכרת מסדי נתונים ושפות לצורך אינטראקציה עם מסדי נתונים כמו MySQL, Oracle ו- Microsoft SQL Server היא חיונית גם למפתחי full stack.
מפתח full stack: מרוויח מכל הצדדים / מאסטר של אף אחד?
חשוב לציין כי מפתחים ומהנדסים full stack לא צפויים להיות מומחים בכל שפות התכנות הללו; במקום זאת, אלו שתפקידם הוא פיתוח full stack צריכים להיות בעלי מיומנות איתנה באחת או יותר משפות אלה, תוך הבנה כיצד טכנולוגיית ה-front end וטכנולוגיית ה-back end צריכות להשתלב ולעבוד יחד ביעילות.
full stack לעומת Technology Stacks
המונח full stack מתבלבל לפעמים עם מונח קשור, Technology Stacks. Technology Stacks מתייחסות לאוסף של כלי תוכנה וטכנולוגיות ספציפיים שניתן לשלב ביניהם לפיתוח אתרי אינטרנט, אפליקציות ותוכנות אחרות.
Technology Stacks הן שילובים של כלי תוכנה וטכנולוגיות ספציפיים המסייעים בפיתוח תוכנה, ואילוfull stack הוא מונח שחל על פיתוח כולל של פרויקטים המשלבים מערכות front ו-back, וכולל את כל תהליך הפיתוח מהקונספט והתכנון, כל הדרך עד לקידוד, בדיקה ואופטימיזציה של מערכות קיימות.