3743413079 מה זה בכלל מפתח Full Stack? | גיקטיים

סוכן חכם
אישי ודיסקרטי

לוח משרות ההיי-טק
והטכנולוגיה של ישראל.

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

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

מה זה בכלל מפתח Full Stack?

סוג חדש של מהנדס תוכנה מוזכר לאחרונה יותר ויותר - ה-Full Stack Developer. מה זה, מי נחשב מוסמך ואיך מתפתחים לשם? כל הפרטים בפנים

developers getty images

קרדיט צלם\תמונה: PeopleImages, Getty Images Israel

מאת אלון ערב, ארכיטקט תוכנה באינטל

לאחרונה אנחנו עדים לסוג חדש של מהנדס תוכנה, ה-Full Stack Developer, בטח נתקלתם בו בפרופיל LinkedIn או בזמן חיפוש משרת פיתוח תוכנה. מה זה, מי נחשב מוסמך ואיך מתפתחים לשם? אנחנו פה עם כל התשובות

fullstack

איור 1 – מתאר ארכיטקטורת לקוח-שרת נפוצה

צמד המילים Full Stack מתאר את כל התוכנה מכף רגל ועד ראש. כלומר, את כל שכבות התוכנה מצד השרת (Server) ועד צד הלקוח (Client).

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

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

לדוגמה: ניתן לבנות אתר אינטרנט Full Stack בעזרת טכנולוגיות כגון: HTML5, CSS, JavaScript (for Client & Server Implementations) and Ajax.

מאידך, אפליקציית אנדרואיד, שמעבירה נתונים לשרת שנבנה על בסיס JAX-RS, גם היא תיחשב Full Stack אבל תדרוש ידע בשפת תכנות אחת בלבד – Java. למרות זאת, גם כאן יידרש ידע עצום לא פחות.

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

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

הדרך ל-Full Stack

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

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

  • הדבר הראשון והכי חשוב שיש לעשות הוא להתמקצע ולהפוך למומחה בשפת פיתוח אחת לפחות. זה ייקח זמן, וכדי להגיע ליעד זה עליכם להכיר לעומק מושגים בתכנות מונחה עצמים ו-Design Patterns (אם מדובר בשפת פיתוח מבוססת OOP), פרקטיקות קידוד טובות, מוסכמות קוד וארכיטקטורת תוכנה. אלה יספקו כלים לכתוב ולתכנן קוד טוב יותר, נכון יותר וגם יתנו פרספקטיבה רחבה יותר על הקוד. בהמשך, העמיתים והמנהלים יזהו את המקצועיות שלכם, תקבלו משימות מאתגרות ורחבות יותר בתוכנה ותוכלו להכיר וללמוד טכנולוגיות וכלים נוספים.
  • עברו לצד השני: אם התחלתם כמפתחי צד שרת, עברו לתקופה לצד הלקוח ולהפך. חכו להזדמנות הנכונה ולכו על זה. הזדמנות טובה יכולה להיות למשל פרויקט משותף בין הצדדים או בזמן לחץ כשיש צורך לתגבר את אחד הצוותים. מעבר כזה יצריך  לעשות שינוי ולצאת מאזור הנוחות, אך בתמורה תעשו קפיצה בדרך למפתח Full Stack. עם הזמן תצברו ביטחון באזורי קוד שלא היו מוכרים לכם ותיחשפו לטכנולוגיות שהיו  מחוץ לתחום שלכם.
  • היו עם אצבע על הדופק בכל מה שנוגע לטכנולוגיות וחידושים בתחום שלכם, כלומר ב-Stack שלכם, ואפילו נסו להטמיע אותן בקוד, זו דרך מצוינת ללמוד ולהתמקצע.

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

נהנתם מהכתבה? בואו לשמוע את אלון ערב בפסטיבל המפתחים

אלון ערב, ארכיטקט תוכנה באינטל, הוא אחד הדוברים שלנו ב-Geektime Devfest שיתקיים ב-20 בנובמבר 2016 במלון "דיוויד אינטרקונטיננטל" בתל אביב, כחלק מפסטיבל הטכנולוגיה הראשון של ישראל בשיתוף לאומיטק, ויש לנו מקום לעד 1,200 מפתחים בלבד. רכשו כרטיסים עוד היום!

DEVFEST

תודה לשותפים שלנו

תודה רבה לספונסרים ולשותפים שלנו שמלווים אותנו ומהווים חלק בלתי נפרד מכנס המפתחים הגדול ביותר בישראל ה-Geektime DevFest 2016

Leumi Tech, LeumiIBM IsraelElevation Academy, Sela, Oracle, Amdocs, CiscoCodeValueWebpalsWalkMe, FeedvisorRedis Labs, JFrog.

כתב אורח

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

הגב

10 Comments on "מה זה בכלל מפתח Full Stack?"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
גרגמל
Guest

בקרוב! דרוש מפתח אפליקציה. דרישות: סרבר, קליינט, DB, DevOps, Web, Android, IOS, תואר שלישי בפילוסופיה, תואר תשיעי ברפואה.

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

אחד שיודע
Guest

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

יואל
Guest

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

אחד שלא יודע
Guest
אחד שלא יודע

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

מנוח
Guest

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

אצולת ההייטק
Guest
אצולת ההייטק

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

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

סטארטאפיסט
Guest

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

אגב, יש לדעתי כבר רמות יותר גבוהות של Full Stack למשל בIoT. היו לי פרוייקטים שהיה צורך לפתח תוכנת RT על כרטיס, לחבר אותו לרסברי ולכתוב עליו סקריפטים בפיתון (סוג של Middleware), אפליקציית אנדרואיד שתתממשק למערכת הזו, ממשק ניהול web, ושרת עם DB וכו' לניהול מרחוק.
איך קוראים למי שמפתח את כל הנ"ל? עשיתי לפחות 3 פרוייקטים כאלה. אני קורא לו "מתכנת".

בובי
Guest

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

דובי
Guest

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

דונאלד דאק
Guest

מפתח פול סטאק = Jack of all trades, master of none.
חברה שרוצה לפתח מוצר רציני ומורכב בלוח זמנים הגיוני, לא יכולה להסתמך על 3 אנשים שיעשו עבודה של 6. אם מדובר בבניית אתרים פשוטים, אז כן, אפשר להפקיד את המשימה בידי "מפתח פול סטאק".
כל מה שמורכב יותר מצריך עבודה של צוות שמורכב מאנשים שכל אחד מומחה בתחומו.
תמיד עדיף, ורצוי שתהיה למפתח הבנה בסיסית של מה שמתרחש בצד השני של הפיתוח, אבל להיות מקצועי ומומחה גם בקליינט וגם בסרבר זה לא ישים, ובלתי אפשרי לטווח הארוך.

wpDiscuz

תגיות לכתבה: