על התפתחות אישית בהיי-טק וקורסים בחינם

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

כל מי שחיפש לעצמו ספרות בנושא לימוד שפות תכנות יכול לאמר לכם שמציאת ספר טוב היא כמו מציאת מחט בערימת שחט. סתם דוגמא: לפני מספר שנים כשחיפשתי ספר ללמוד שפת פייתון, מצאתי ספר שחבר המליץ עליו. התחלתי לקרוא אותו ואחרי כמה רגעים הרמתי גבה: העמודים הראשונים מדברים על Python Eggs ועל עוד כמה מושגים שבתחילה היו נשמעים לי מוזרים. חיפוש קצר בגוגל הביא לי דף שהסביר לי את המושגים כולם בדף אחד בקיצור ואז עוד יותר תהיתי – מדוע לכל הרוחות כותב הספר מתחיל בהתחלה לדבר על eggs עוד לפני שהתחלנו ללמוד איך להדפיס (print) על המסך? בוא נעובר משתנים, פונקציות, if/else/elif, קצת מכות בוליאניות ובהמשך בחלק היותר מתקדם נדבר על ביצים, ביצי משק וכו'. 

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

כיום אנחנו חיים בעידן ה-Constant online ולאמזון יש את ה-Kindle כך שחובבי ספרות יכולים תוך שניות לרכוש ספרים ולקבל אותם לסמארפון/טאבלט/קינדל ולא חשוב מאיזו ארץ אתה מזמין (בניגוד למתחרים כמו B&N או אפילו Google שברגע שרואים שאתה מחוץ לארה"ב – שכח מהזמנה, ולך תעבוד עליהם עם Buy2USA ועוד חברות שנותנות לך כתובת בארה"ב), אך עדיין – קשה למצוא ספרות טובה שיכולה להתאים לרוב האנשים וגם כשמוצאים, צריך למצוא זמן ללמוד, לתרגל את החומר, להמציא תרגילים וכו'.

עוד דרך ללמוד היא דרך הוידאו, חברות כמו Lynda, Plural Sight ואחרות מוכרות תקליטורים ושידורי און ליין של הדרכות בשפות תכנות שונות, אפליקציות שונות וכו', אך הבעיה העיקרית איתם זה שאינך יכול לרכוש קורס אחד ולגמור עניין, כי הם מפצלים זאת ל-Essentials, Advanced ועוד שמות, ומה לעשות ששפת תכנות לא לומדים ב-3 ימים (אחרת חודשיים אחרי זה כשלא תתרגל, סביר להניח שתשכח חלק מהחומר), אלא לאורך זמן. אותן חברות בדיוק בונות על זה ומציעות לך מנויים חודשיים, כך שאתה תשלם כמה חודשים בשביל ללמוד לעומק את השפה שתרצה.

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

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

לאתר קוראים: Codeacademy

מבחינת הקורסים שהוא מציע, כפי שציינתי, אין כמות כרגע, אבל יש בהחלט תחומים מעניינים והם: Python, Ruby, HTML&CSS, jQuery,Javascript, PHP

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

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

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

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

בהצלחה

דעה: כשהמעסיק צריך להשקיע בעובדים

בימים אלו עבדכם הנאמן עוסק בהקמת LAB בבית למטרות טסטים, ניסויים, פרוייקטים ועוד. המעבדה הזו תכלול:

  • 4 שרתים כפולי מעבדים
  • 2 שרתים עם 4 מעבדים
  • מתג HP PROCURVE (יש למישהו יד שניה במצב תקין?)
  • ולקינוח – Storage של בערך 40 טרהבייט

עדיין נשאר לי להשיג עוד כמה דברים קטנים כמו איזה MINI PC קטן שישמש כ-Firewall, וכמה כרטיסי רשת, אולי גם Infiniband. בינתיים הדבר הכי מוזר והכי קשה להשיג – זה חצי ארון על גלגלים עם עומק של 80 ס"מ (יש 50-60 ס"מ שזה בעייתי) שנסגר מקדימה ואחורה.

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

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

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

כשכיר – העולם הזה שונה לחלוטין. 

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

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

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

אתן דוגמא פשוטה: קחו מישהו שלמד לפני 8 שנים "בניית אתרים" ב-HTML וקצת CSS ולמד לעבוד ולתאם את האתרים שלו שיעבדו מצוין באקספלורר בלבד (זוכרים את הקורסים הנ"ל?). אחד' כזה שלא השקיע בעצמו בלימוד ג'אווהסקריפט, ספריות JS, גירסאות מתקדמות יותר של CSS, תואמות לדפדפנים כמו כרום ופיירפוקס – יתקשה יותר להשיג עבודה מעמיתו שהשקיע ולמד. אותו דבר קורה בחברות שמעסיקות מפתחים לפיתוח מוצר, שרות וכו'. אם החברה תשקיע בעובדים מבחינת העשרת ידע, הם יחסכו כספים בשלב יותר מאוחר שהם יאמצו טכנולוגיות מתקדמות יותר, ולכן לחברות כאלו שווה להשקיע את אלפי השקלים בקורס בעובד. אפשר כמובן להתנות יציאה לקורס תמורת התחייבות כזו או אחרת מצד העובד, אך כדאי לחברות לזכור שדחיית בקשה של עובד לעבור קורס זה או אחר שיכול לקדם את העובד (ובהמשך את החברה) היא מתכון בדוק לאיבוד מוטיבציה של עובד, וכשעובד מאבד מוטיבציה, הוא גם מאבד את החשק להפעיל "ראש גדול".