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


איך ללמוד תכנות לבד

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

book

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

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

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

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

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

  1. בניית יסודות חזקים - The Complete Web Developer Course 2.0

    זהו ככל הנראה הקורס החשוב ביותר שתעשו, הוא יבנה לכם את יסודות התכנות ויספק לכם ארגז כלים מספק כדי להתחיל ליצור דברים יפים. על בסיס יסודות אלו תוכלו להוסיף עוד שכבת ידע ועוד אחת.
    מעבר לכך שהמרצה מעולה לדעתי, היתרון הגדול ביותר בו הוא שהוא משלב הרבה עבודה מעשית. כאמור קוד לומדים דרך הידיים… ובמהלך הקורס הזה אתם תבנו 20 אתרים!
    בנוסף, כדי לאפשר את העבודה המעשית הזאת, במסגרת הקורס אתם מקבלים אחסון בשרת בחינם למשך שנה שלמה, כלומר אתם יכולים להעלות אתרים אמיתיים שלכם. את כל הפרויקטים שבניתי בעצמי בשנה שלאחר תחילת הקורס העליתי תחילה בשירות הזה.
    הערה: הפרקים Wordpress, Mobile Apps, ופרק הבונוס - אופציונליים בעיניי.

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

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

  2. הגיע הזמן לבנות דברים משלכם…

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

  3. W3SCHOOLS

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

  4. תרגול באתר Codewars

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

  5. Frameworks here I come...

    בשלב זב אמור להיות לכם כבר ידע בסיסי מוצק לגבי איך לבנות לבד אתר ואיך לכתוב JS בצורה סבירה. עכשיו זה הזמן הנכון להתחיל ללמוד קצת את עולם ה-Frameworks. אלו הן ספריות קוד אשר מאפשרות לכם לעשות יותר עם פחות קוד, על ידי שימוש שלכם בפונקציות של ה-Frameworks הללו. הם נחשבים לכלים מאוד עוצמתיים שמאפשרים פיתוח מהיר ביותר, ויכולות מאוד חזקות שסביר להניח שבשלב זה אין לכם את הידע uהניסיון לכתוב אותם לבד.
    לא מעט אנשים יגידו שהבעיה הגדולה היא שלא תלמדו לכתוב בעצמכם קוד שיבצע את הפעולות החזקות הללו, ואני מסכים איתם, אך כיום יש שתי Frameworks שנפוצות מאוד בקרב חברות ההיי-טק - React.js ו-Angular.js, ובלא מעט חברות דורשים ניסיון באחת מהן.

    אני חייב להודות שלא פשוט להחליט איזה framework ללמוד, אך אם בעבר המלצתי ללמוד Angular 1 (כיום הדילמה היא בין Angular 2 ל-React), כיום אני ממליץ ללמוד React. הסיבות העיקריות להמלצה זו הם:

    • עקומת למידה מהירה יותר
    • מגמות ביקוש בשוק העבודה
    • ללמוד React ישפר את כתיבת ה-JS שלכם יותר מאשר ללמוד Angular 2

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

    כל ההמלצות לקורסים הבאים הם מתוך אתר Pluralsight, שבשונה מ-Udemy אינו גובה תשלום לפי קורס אלא לפי תקופה. כלומר אתם משלמים תשלום חודשי, ויכולים לקחת כמה קורסים שרק תרצו. היה לי מנוי לאתר הזה מיד לאחר שסיימתי את הקורס הראשון של Angular 1 שלקחתי, ולשמחתי לאחר שהתחלתי לעבוד כמתכנת היה לי מנוי לאתר על חשבון מקום העבודה שלי. בהמשך המאמר ציינתי קורסים נוספים מאתר זה שהם מאוד מומלצים.
    React.js - זהו קורס קצר יחסית שאורך כשעה וחצי, אך ייקח לכם יותר זמן לסיים אותו כי הוא משלב תרגול מעשי שלכם (קוד לומדים דרך הידיים וזה…)
    Angular 2 - קורס מקיף באורך של 4 שעות

  6. בניית אתר ב-React.js

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

  7. יאללה לעבודה!

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

במקביל לתהליך מציאת עבודה, אני ממליץ להמשיך לתרגל באתר CodeWars ולעשות את הקורסים הבאים:

  • Advanced Javascript - זהו אחד הקורסים הטובים והחשובים ביותר שלקחתי! הוא מקנה את הכלים הראשונים לנושאים היותר מורכבים ב-JS. המרצה הוא אושיית JS ידועה, ושווה לעקוב אחריו ב-Github וטוויטר.
  • Javascript Fundamentals for ES6 - לאחר שכבר התרגלתם ל-JS ולמדתם איך להשתמש בו כמו שצריך, כאן תוכלו ללמוד את העדכון האחרון בשפה שהוסיף לא מעט כלים.