MeCoder הכניסה לעולם התכנות


למה כדאי להיות מתכנת?

a programmer typing on laptop

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

  1. מתכנתים עם השכל

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

  2. אפשר ללמוד תכנות בלי סוף

    יש המון שפות קוד ותחומים אותם אתם יכולים ללמוד ולהתמחות. בכל כיוון שרק תביטו תתקלו בהמון אפשרויות להתפתח – HTML, Javascript, Java, C++, C#, Ruby, Python ועוד ועוד ועוד. וכמובן שבכל שפת קוד אותה תבחרו אפשר, ואף רצוי, להעמיק ולהפוך למומחה. בדרך כלל מתכנתים רוכשים לעצמם מספר מצומצם מאוד של שפות תכנות בהם הם הופכים למומחים, ורוכשים ידע כללי במגוון שפות קוד וכלים. לעולם לא תגיעו לנקודה בה תגידו לעצמכם שמיציתם ושאתם יודעים הכל, אין כזה דבר, עולם התכנות נותן לכם אפשרויות לימוד אינסופיות. ואני בהחלט לא מתכוון ללימודים נוסח האוניברסיטה, את הקוד לומדים דרך הידיים, דרך ההתנסות, וכפי שלבטח כבר קראתם באתר, אפשר ללמוד את כל זה לבד.

  3. גמישות בשעות העבודה

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

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

  4. המון אפשרויות להתפתח בעולם התכנות

    צריך להבין שתחום ההיי-טק בארץ מהווה כ-10% כלל המועסקים בארץ ומתוכם 20% הם אנשי תוכנה. עשרה אחוזים מכלל המועסקים בארץ זה נתון פסיכי. כעקרון, מתכנתים יכולים להשתלב ברוב התפקידים שנתח זה מכיל, אבל אם לנסות ולהבהיר את אפשרויות ההתפתחות שהתחום טומן אז הנה כמה דוגמאות:

    • להפוך למומחה בתחום תכנות ספציפי
    • לעבור לתפקידים ניהוליים בתכנות – ראש צוות, מנהל פיתוח וכו'
    • לעבור לתפקידים ניהוליים מקבילים – ניהול מוצר, ניהול מכירות, ניהול תיקי לקוחות וכו'
  5. משכורת ותנאים של מתכנת

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

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

    • בשנה הראשונה לעבודתכם כמתכנתים המשכורת תעמוד על 8-12
    • בשנתיים שלאחר מכן תעמוד המשכורת שלכם על 12-20
    • בארבעת השנים הבאות משכורתכם תעמוד על 18-25
    • בשנים שלאחר מכן המשכורת מתכנסת לאזור ה-25
  6. יצירת יש מאין

    כן, כמו קסם! רק שזה דורש קצת עבודה... אבל הנה, קחו לכם את הבלוג הזה לדוגמא. לקח לי כמה שעות לכתוב את הקוד שלו + כשעתיים לכל מאמר (האמת שהמאמר הנוכחי לקח קצת יותר), והנה יצרתי יש מאין. אני, אסף, יצרתי משהו שלא היה קיים קודם ובתקווה אנשים ימצאו בו תועלת וישתמשו בו.

    היכולת ליצור דברים באופן עצמאי ולא תלוי באף אחד אחר מקסים בעיניי.

  7. יצירת דברים שמועילים לאנשים אחרים

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

  8. יצירתיות

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

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

    וכמובן שזה מוסיף להנאה שלכם מהעבודה...

  9. איזון בין עבודת בצוות ועבודה עצמית

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

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

  10. .....מה לדעתכם צריך להיות היתרון העשירי בלעבוד כמתכנת?