תחום התוכנה הוא תחום צעיר יחסית, התחיל בשנות ה-40, קיבל קפיצת מדרגה רק אחרי שנות ה-60 וה-70,
נעשה פופולרי אחרי שנות ה-2000.
כיום יש אינספור אתרים, מחשבים, בקרים, מחשבי-על, לווינים, מכונות, מכוניות, ציוד רפואי ועוד ועוד ועוד…
כל אלו מופעלים בעזרת חומרה ונשלטים בעזרת - התוכנה.
אין פלא ששמעתם על התחום הזה ותהיתם לעצמם - איך אני יכול? והאם כדאי לי.
לתכנת - משמע ליצור/לכתוב תכנית.
כתיבת תכנית או תוכנה במחשב נקרא “לקודד” או במילים פשוטות יותר - לכתוב קוד.
קוד הוא סט פעולות שאומר למחשב מה לבצע ואיך לבצע.
רוב שפות התכנות הפופורליות משתמשות באנגלית ואותיות לטיניות.
למשל קוד בסיסי להדפסה למסך ולקבלת מידע מהמשתמש:
1 | print("Hello World") |
המחשב לא יודע לקרוא אנגלית, מחשבים עובדים אך ורק עם מספרים.
ולכן יש תוכנה שהופכת את השפה הכתובת באנגלית לשפת מחשב שבסופו של דבר הופכת ל0 או 1.
תהליך הפיכת קוד לשפת מכונה נקרא “הידור”.
התוכנה נקראת “מהדר” או קומפיילר - Compiler.
אנשים שכותבים קוד נקראים מתכנתים.
מתכנתים כותבים קוד שפותר בעיה כלשהי,
מכיוון שתחום הבעיות הוא רחב מאוד קיימים סוגים רבים של מתכנתים.
מוצר תוכנתי יכול להיות כמעט כל דבר - אפליקציה, משחק מחשב, אתר אינטרנט וכדו’…
השקת מוצר שהוא תוכנה מורכב מתהליך ארוך:
בכל צעד יש בעיות שונות ולפי הבעיות האלו יש גם תפקידים שונים:
מעבר לזה יש גם תחומי עבודה שונים,
בתחום התעופה, הרפואה, המשחקים, פיזיקה, חינוך, פרסום, ספורט, רובוטיקה וכדו’…
כל תחום כזה נקרא Domain
- דומיין
.
לפתח תוכנה לסנכרון מטוסים שונה ומצריכה יכולות שונות מלפתח כלי לבניית אתרים.
זה כולל אלגוריתמים שונים, כלים שונים , ידע בתחום ואנשים שונים.
מפתח תוכנה הוא סוג של מתכנת אשר “מנהדס” - מתכנן, מעצב וכותב תוכנה לפתרון בעיות.
לכל המוצרים שאנחנו משתמשים במחשב ביום יום היו אחראים צוותים של מפתחי תוכנה.
דוגמאות:
כשאתם שואלים את עצמכם “האם תכנות מתאים לי” תחשבו על זה ככה -
האם הייתם רואים את עצמכם בונים את ה-Gmail
הבא?
האם הייתם רואים את עצמכם בונים מערכות תעופה או רפואה?
או אפילו משחק מחשב?
אם דומיין טכנולוגי מעניין אתכם או אתם רוצים לפתור בעיה בעזרת תוכנה - יכול להיות שתכנות יתאים לכם!
חשיבה על תוכנה וכתיבת קוד נותנת לנו יכולות שונות,
בדרך כלל הסביבות של מתכנתים נוחות, משרדים עם מזגנים, קפה ומתוקים….
ניתן לראות זאת גם כחסרון וגם כיתרון - אני בברור רואה זאת כיתרון.
תכנות זה תחום שדורש למידה - תמיד.
טכנולוגיות חדשות, יכולות חדשות, ללמוד ללמוד וללמוד!
תחום התוכנה הוא תעשייה משגשגת ופורייה.
הדרישה למתכנתים גדולה והגבוה ביותר בשוק בכל הזמנים!
זו גם יכולה להיות הזמדנות לעבודה בחו”ל.
לכל תחום יש חסרונות וגם בתוכנה יש חסרונות.
מתכנתים יושבים הרבה - וזה לא בריא בכלל.
תכנות דורש ישיבה מרובה מול שולחן ומחשב ומתכנתים רבים סובלים מכאבים בידיים, בגב או בצוואר או ברגליים.
חשוב מאוד לעסוק גם בספורט, אז אם אינכם עוסקים בספורט תחשבו טוב על פתרון לבעיה הזו.
הבעיה השנייה היא העיניים - צפייה במסך שעות מרובות גורמות לעייפות ולעיתים גם לכאבי עיניים ואף כאבי ראש.
אז אם אתם רואים מתכנת סובל - תנו לו לסבול בשקט.
תחום עם תחרותיות רבה מאוד ולעיתים על תפקידים הרבה אנשים מגיעים להתראיין.
התחרות קיימת גם בין חברות רבות - למי תהיה התוכנה הטובה ביותר או הנמכרת ביותר!
גם אגו משחק בזה עניין - כשמדברים על קוד יש הרבה עניין סובייקטיבי ולכל אדם יש דעה משלו.
לעיתים זה יכול ליצור משחקי אגו - זכרו שאתם עובדים באותו תחום בסופו של דבר מה שטוב לקוד טוב לכם.
לעיתים נדרש לעבוד בשעות שגם מחוץ לשעות הסטנדריות של העבודה כדי לתקן באגים או לבצע שינויים.
במיוחד אם זה עבודה שכוללת אנשים מחו”ל - אנשים באירופה וארה”ב לא באותו אזור זמן כמו ישראל.
כמו כן - ככל שעובדים יותר הלחץ עולה, הדרישות עולות, צריך ללמוד הרבה ולעמוד בדרישות.
לעיתים זה יוצר לחץ שצריך לדעת איך להתמודד איתו (התשובה למעשה היא… חופש.).
בתפקידים שונים יש דרישה שונה לתקשורת עם אנשים.
לעיתים התקשורת מגיעה במובן של ישיבות ושיחות תכנון עם לקוחות ומנהלים,
ופעמים אחרות מדובר עם צוותי מפתחים ומתכנתים אחרים.
כך או כך אנחנו נתקלים בהרבה תקשורת או חוסר תקשורת,
זה מאוד תלוי בבן-אדם ואיך שנוח לו, לכן חשוב מאוד גם למצוא תפקיד מתאים מהבחינה הזו.
סתם בדיחה, אבל בבקשה אל תבקשו ממתכנתים לתקן לכם את המחשב.
אני אגיד את זה קודם כל - זה לא מתאים לכל אחד ואם תבחרו בתחום התוכנה כשאין לכם שום חשק לעבוד מול מחשב, לא רק שלא תהנו אתם גם תסבלו בתחום.
לתכנת דורש סבלנות לשבת מול מחשב - אם נוח לכם לשבת במחשב ואתם רוצים אפילו יותר זה יתאים לכם!
אם אתם חזקים בהגיון, יתאים לכם לתכנת!
אם אתם אוהבים מתמטיקה או מדעים ללמוד לתכנת ייעזור לכם!
אם בא לכם ליצור ולבנות עולמות משלכם, כנראה יתאים לכם לתכנת!
אם בא לכם לעזור לעולם ולקדם טכנולוגיה, יכול להיות שיתאים לכם!
אם התעניינתם כמה זמן ואתם ממש חושבים על ללמוד את זה - יכול להיות שיתאים לכם!
יש סיבות רבות לתכנת ולא צריך לענות על סט נקודות כדי לדעת אם זה מתאים לכם.
אני ממליץ לנסות ולראות אם תהנו מזה או לא :)
להתנסות!
בעזרת ספר, וידאו, קורס או חבר שיודע לתכנת!
ב-SimplyCode
תוכלו ללמוד פייתון בקלות.
בשעה הראשונה אתם תתחילו כבר לתכנת אחרי ההתקנות שלא לוקחות הרבה זמן.
כל אחד ואחת יכולים :)
הטכנולוגיה ושפת התכנות הראשונה היא בחירה חשובה, משהו שילווה אתכם החל שתתחילו ללמוד ועד הסוף!
ממה כדאי להתחיל?
C#
או Python
R
או Matlab
C
או C++
Assembly
מורה/ קורס/ תואר או למידה עצמית?
לכל דבר יש את המטרה שלו ושכל אחד ייבחר בדרך המתאימה לו.
אני ממליץ שלא משנה מה אתם בוחרים שיהיה לכם יכולות למידה עצמית - אלו בין היכולות החשובות בתעשייה.
שנית - לא חשוב מאיפה תלמדו העיקר שעבורכם זה יהיה אפקטיבי.
בחרו מה שנוח עבורכם!
אני לא נגד האקדמיה אך ככל שאני מדבר עם מתכנתים אחרים אני מבין שאקדמיה איבדה את ההובלה בתחום התוכנה.
תחום האקדמיה מורכב יותר מלימודים ומחקר, אז אם אתם מתעניינים יותר במחקר אני אמליץ על האקדמיה.
כמו כן תואר יכול להקנות לכם ידע שלא בהכרח תלמדו בקורס פרקטי או לבד.
קורסים נוטים להיות יותר פרקטיים עבור התעשייה - יכולות וידע שייעזרו לכם לעבוד בתחום,
אך גם לעיתים הם לא זולים בכלל.
זה להתנסות.
כל דבר שאתם לומדים אל תשאירו אותו כידע תאורטי בלבד - תנסו לכתוב קוד ולקרוא קוד כך שאתם תתעסקו כמה שיותר עם קוד.
למה? כי קוד לא טועה.
מקווה הפוסט הזה נתן לכם כמה נקודות חשובות להאם כדאי לכם לתכנת או לא.
אם יש לכם רצון לעסוק בתחום או להתעניין בו אני ממליץ לכם לנסות ולא לוותר!
מה שאני למדתי זה שכולם יכולים ללמוד לתכנת גם אם אתם לא מרגישים שמחשב זה התחום החזק שלכם.
זה תחום מעניין, כיפי, מתפתח ומפתח!
תודה על הקריאה :)