לא מצאת תשובה לשאלתך? צריך עוד עזרה? צור קשר!
צור קשר!“ הדבר היפה בלמידה הוא שאף אחד לא יכול לקחת את זה ממך. ”
יש המון סיבות ללמוד לתכנת, אז בואו נדבר על כמה.
כל דבר שרק תחלמו עליו! קודם כל, אם תלמדו תכנות - תוכלו להתחיל את הקריירה שלכם בעולם ההייטק בתור תכניתן. בהיותך מפתח תכנה, תוכל לבחור בין חברות שתמיד חלמת לעבוד בהם. תוכלי לעבוד ב Apple 🍏, או אולי אתה מעריץ של אילון מאסק Tesla 🚗 ותמיד חלמת לעבוד על רכבים אוטונומיים? אם אתה טיפוס של חברות קטנות עם אווירת בית חמימה שעובדות על טכנולוגיות פורצות דרך מהגאראז׳ - זו גם אופציה! לא? אז אולי תמיד רצית להביא תועלת בעולם הבריאות, טכנולוגיית ספורט 🏈⚽, או לעבוד בחברה פיננסית ולפתח את ביטקוין הבא 💵? ישנם אנשים שחולמים לייסד סטארט-אפ בתחום המשחקים או טיולים ועוד... אם רכשת יכולות תכנות תוכל/י לעשות כל דבר, בכל עת ובכל מקום!
ועוד...
קודם כל, חשוב לזכור שיש המון שפות תכנות, וכל הזמן צצות שפות תכנות חדשות. לכן, אם בחרתם בקריירה של מתכנת, כנראה שתעבדו עם הרבה שפות תכנות שונות ומשונות. אבל החדשות הטובות הן שרוב שפות התכנות דומות מאוד באופן העבודה שלהן, כך שאם תבינו לעומק איך המחשב עובד, ואיך עובדת שפת תכנות אחת, תוכלו די בקלות לעבור משפת תכנות אחת לשניה. יחד עם זאת, ישנן קבוצות של שפות תכנות שנועדו לצרכים שונים. מבחינת חלוקה גסה, ניתן לחלק את שפות התכנות לשתי קבוצות עיקריות - high-level ו low-level. שפות שהן low-level כגון C/C++ משמשות לכתיבת קוד שצריך לרוץ מאוד צמוד לחומרה ולקבל שליטה גדולה על החומרה. בדרך כלל תפגשו קוד כזה בדרייברים, ציוד רשת (כגון נתבים), arduino וכו׳. בדרך כלל אלה לא שפות תכנות שתרצו ללמוד אותם בתחילת הקריירה (אם בכלל). סוג נוסף של שפות תכנות - high-level- כולל שפות תכנות כגון java, python, javascript, וכו׳ ואלה הם שפות שאיתם עובדים רוב המפתחים, ובאמצעותן פיתחו את רוב אפליקציות web המודרניות שאנחנו מכירים. בנוסף, שפות תכנות high-level מתחלקות לשפות שמשמשות לכתיבת צד שרת (back-end) וצד לקוח (front-end / UI). לנוחיותכם הבאנו כאן מספר שפות תכנות עם תיאור קצר של כל אחת מהן.
אחת משפות התכנות המובילות בכל דירוג. פייתון היא שפת תכנות בעלת יכולות רבות, קלה לפריסה, והכי חשוב - קלה ללימוד, במיוחד עבור מתחילים! פייתון הינה שפת קוד פתוח חינמית עם קהילת מפתחים עצומה, מה שמבטיח שבקלות תמצאו תשובה לכל שאלה בנוגע לקוד פייתון באינטרנט. לפייתון שימוש רחב לא רק בפיתוח אפליקציות web אלא גם בפיתוח אלגוריתמי בינה מלאכותית (Artificial Intelligence, Machine Learning, Deep Learning).
מוצרים מוכרים שנתכבו בפייתון: Youtube, Instagram, i-robot, Autodesk, Civilization IV (game)
C# בדומה לפייתון הינה שפת מונחית עצמים (object-oriented) שפת C# משמשת לפיתוח ב NET framework. (מוצר של Microsoft).
C ו C++ הינן שפות תכנות low ו middle level שמשמשות בעיקר לפיתוח דרייברים, מערכות הפעולה, משחקים עם גרפיקה כבדה ואפליקציות אחרות שדורשות יותר בקרה על חומרה בזמן שהקוד רץ. אלה הן שפות שיותר קשות למתחילים, ואנו לא ממליצים ללמוד אותם אם אין לכם נסיון בתכנות.
Javascript היא שפת תכנות המפורסמת ביותר בעולם. לפי w3techs כ-98% של כלל האתרים בעולם משתמשים ב Javascrpipt. בעזרת Javascript מפתחים את הלוגיקה של אפליקציות web. זוהי שפת תכנות high-level שקלה ללימוד ומצוינת למתחילים. בדרך כלל לומדים את Javascript ביחד עם HTML ו CSS כחלק מפיתוח front-end.
מוצרים מוכרים שפותחו עם Javascript: כל אפליקציית web שאתם יכולים לתאר לעצמכם.
HTML אחראית על הצגת תוכן של אפליקציות ווב או אתרי אינטרנט. בדרך כלל משתמשים ב- HTML, CSS ו Javascript בעת ובעונה אחת. הסינטקס של HTML קל מאוד ללימוד, ו- HTML היא אחת משפות התכנות שלומדים מפתחי פול-סטאק.
CSS הינה שפה פשוטה מאוד שמשתמשים בה בפיתוח ווב לצרכי הגדרת תצוגה של אלמנטים באפליקציית ווב, כגון צבעים, פונטים, גדלים וכו׳. היא אחת משפות התכנות שלומדים מפתחי פול-סטאק.
האמת היא שבימינו לא מפתחים אפליקציות ווב עם HTML, CSS ו Javascript טהורות (pure vanilla),
במקום זאת משתמשים בספריות או frameworks שמאפשרות פיתוח גמיש ונוח יותר של אפליקציות ווב מורכבות.
כלים אלה מבוססים על HTML, CSS, Javascript, ולכן חייבים ללמוד אותם לפני שניגשים ללמוד כלים שמתבססים עליהם.
ריאקט (React) נוצרה ע״י facebook והיא הספריה הנפוצה ביותר שעובדים איתה היום בפיתוח ווב.
לכן לדעת לעבוד עם React חובה לכל מפתח full-stack או front-end.
Angular נוצרה על-ידי Google והינה מתחרה של React. גם היא נוצרה על-מנת לאפשר פיתוח נוח של צד לקוח (UI). הרבה מאוד חברות משתמשות ב-Angular, אף על פי שבתקופה האחרונה נראה ש React מתחילה ״לנצח״ את Angular.
חלק בלתי נפרד מכל אפליקציה הוא עבודה עם נתונים - שמירה ושליפת נתונים לפי אפשרויות סינון ומיון שונות ומשונות. בדרך כלל הנתונים נשמרים במסדי נתונים שנועדו לתת מענה לדרישות אלה. SQL היא שפה שבאמצעותה עובדים עם מסדי נתונים (נותנים פקודות למסדי נתונים). בעזרת שפת SQL תוכלו למשל לתת הוראה למסד נתונים לשלוף מידע מטבלה מסוימת לפי פרמטרי סינון מסוימים. ידע בשפת SQL הינו הכרחי לכל המפתחים, בין אם את/ה מפתח back-end, front-end או full-stack.
מפתח פול-סטאק אחראי גם על פיתוח צד שרת וגם צד לקוח (User Interface), או במלים אחרות הוא מפתח גם את ה backend וגם את ה frontend.
למשל, כאשר אתם מפרסמים פוסט בפייסבוק, מפתח front-end כתב קוד שיצר את הטופס של הפוסט, את הכפתורים ואת הקוד שמאפשר לנו, המשתמשים בפייסבוק לעשות אינטרקציה עם התוכנה.
אחרי שפירסמתם את הפוסט, הוא נשלח לשרת, והקוד שכתב מפתח backend למשל ייחשב למי הפוסט שלכם יעלה ב- feed, למי כדאי להציג אותו ולמי לא.
מפתח פול סטאק בדוגמה שלנו יממש גם את הפרונטאנד וגם את הבאקאנד, לכן למפתח full-stack יש את סט המיומנויות הנדרש ליצור ולממש תהליך שלם, או תכנה שלמה.
זו סיבה לכך שמפתחי full-stack נהנים מביקוש גבוה בשוק, וגם משתכרים בהתאם.
מפתח באק-אנד אחראי אך ורק לפיתוח הקוד שרץ בשרת, הוא לא מפתח קוד שבא במגע ישיר עם המשתמשים דרך ממשק משתמש.
למשל, כאשר אתם מפרדמים פוסט בפייסבוק, מפתח front-end כתב קוד שיצר את הטופס של הפוסט, את הכפתורים ואת הקוד שמאפשר לנו, המשתמשים בפייסבוק לעשות אינטרקציה עם התוכנה.
אחרי שפירסמתם את הפוסט, הוא נשלח לשרת, והקוד שכתב מפתח backend למשל ייחשב למי הפוסט שלכם יעלה ב- feed, למי כדאי להציג אותו ולמי לא.
בדוגמא שלנו, מפתח backend לא יועל לממש את כל התהליך של פרסום פוסט בפייסבוק לבד - הוא יצטרך לעבוד בצוות עם מפתח frontend על-מנת לספק את הפיצ׳ר כולו.
לעומת זאת, מפתח פולסטאק יהיה מסוגל להשלים את המשימה במלואה בכוחות עצמו.
מפתח frontend אחראי על מימוש ממשק משתמש.
למשל, כאשר אתם מפרדמים פוסט בפייסבוק, מפתח front-end כתב קוד שיצר את הטופס של הפוסט, את הכפתורים ואת הקוד שמאפשר לנו, המשתמשים בפייסבוק לעשות אינטרקציה עם התוכנה.
אחרי שפירסמתם את הפוסט, הוא נשלח לשרת, והקוד שכתב מפתח backend למשל ייחשב למי הפוסט שלכם יעלה ב- feed, למי כדאי להציג אותו ולמי לא.
בתור מפתחי פרונט אנד תהיו אחראים לכתוב קוד שמספק חווית משתמש הטובה ביותר - ליצור מסכים רספונסיביים באפליקציה, לדאוג שלחיצה על כפתור עושה את מה שהיא אמורה לעשות, להביא נתונים מהשרת ולהציגם למשתמש בצורה דינאמית ויפה.
בדוגמא שלנו, מפתח frontend לא יועל לממש את כל התהליך של פרסום פוסט בפייסבוק לבד - הוא יצטרך לעבוד בצוות עם מפתח backend על-מנת לספק את הפיצ׳ר כולו.
לעומת זאת, מפתח פולסטאק יהיה מסוגל להשלים את המשימה במלואה בכוחות עצמו.
אנחנו מאמינים שמפתח טוב צריך להכיר את הטכנולוגיות ושפות התכנות העוצמתיות והשימושיות ביותר. לכן, לאחר ניתוח דרישות בחברות הייטק הבחירה שלנו היא:
על-מנת להפוך למפתח full-stack יש ללמוד הרבה דברים חדשים! ולכן, המיומנויות העיקריות שצריך הן:
אנחנו תמיד דוגלים בידע עמוק, ולכן אם ברשותכם זמן ותקציב לתואר במדעי המחשב - אתם בהחלט צריכים ללכת על זה!
בזמן שתואר במדעי מחשב יספק לכם הבנה עמוקה מאוד הודות לקורסים מתמטיים ותיאורטיים, התואר לא יספק לכם נסיון בכתיבת קוד.
לעומת זאת, קורס פיתוח תכנה מתרכז הרבה יותר בנסיון הפראקטי.
לכן, יצא לנו לפגוש גם סטודנטים שלקחו קורס תכנות תוך כדי התואר. למה? כי בסופו של דבר, רוב חברות התכנה מחפשות עובדים עם נסיון שיוכלו להשתלב בפרויקטי החברה הכי מהר שאפשר.