איך סיימתי את כל תוכנית הלימודים של freeCodeCamp תוך 9 חודשים תוך כדי עבודה במשרה מלאה

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

רקע כללי

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

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

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

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

אירחתי אותו ב- Geocities, קיבלתי כתובת URL קצרה בחינם ורשמתי אותו ב- Yahoo וב- AltaVista (אלה היו הגדולים באותה תקופה).

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

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

איך החלטתי להחליף קריירה

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

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

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

הזמן עבר, עשינו דברים אחרים ואז מצאתי את Codecademy והתחלתי לשחק איתו ולשתעשע ברעיון להיות מפתח במשרה מלאה. היה לי כבר ניסיון בבניית אתרים עם HTML ו- CSS בלבד, אך ללא JavaScript. קראתי הרבה סיפורי הצלחה ברשת, אבל עדיין לא ראיתי בזה קריירה אמיתית, לא לאורך זמן.

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

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

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

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

הוא החליט שהוא מעדיף ללמוד לבד, הוא כבר לא כל כך מתעניין בג'אווה מכיוון שהוא היה מכור ב- JavaScript, אז התחלנו ללמוד לבד.

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

עובדים במשרה מלאה ועושים freeCodeCamp במהירות מלאה

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

אז זה מאוד עזר בהתמודדות עם כמות השעות שביליתי בעבודות נפשיות (לימוד ולימוד).

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

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

  1. ניהול זמן
  2. משמעת
  3. אִרגוּן

ניהול זמן

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

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

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

למרבה המזל אחרי יוני, שעות העבודה שלי הצטמצמו מ 10-12 ל 8, אז עבדתי עכשיו בלוח זמנים רגיל ושם התחלתי להעלות את הקצב.

משמעת

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

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

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

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

יהיה עליכם לתעדף ולעשות בחירות קשות.

מוֹטִיבָצִיָה

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

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

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

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

תכנית הלימודים + משאבים משלימים

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

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

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

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

  • החל מהמהדורה החמישית של JavaScript
  • אתה לא מכיר את JS
  • תכנות יסודות עם JavaScript, HTML ו- CSS
  • תיעוד JavaScript

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

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

מסגרות JavaScript: סעיף זה היה נהדר מכיוון שהוא נתן לי בסיס ב- React ו- Redux. כבר עברתי קורס React בנושא Udemy, React 16.6 - המדריך השלם (כולל React Router & Redux).

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

ב- 1millionwomentotech היה לנו שבוע תגובה שהיה בעיקר יליד תגובה ואז התחלתי לשחק איתו. באותה תקופה התחלתי לעבוד גם על הפרויקט הצדדי שלי עם בעלי, שהחלטנו שהוא יהיה PWA עם React.

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

ממשקי API ומיקרו-שירותים: סעיף זה היה גילוי גדול עבורי ושינה הכל. עד למודול ההוא הייתי בטוח שאני רוצה להיות מפתח חזית, אך לאחר שלמדתי את Node.js התחלתי לחשוב להיות מפתח של Back-end או Full Stack. בניית ממשקי API זה פשוט כל כך כיף ואתה רואה תוצאות כל כך מהר. התחלתי לבנות את הפרויקטים הראשונים הקטנים של Full Stack והתרגשתי מאוד.

כמה מהמשאבים בהם השתמשתי:

  • קורס מפתחי Node.js השלם (מהדורה שנייה)
  • צומת בנות לפיתוח Backend עם Express
  • צומת Docs
  • Express Docs
  • NodeSchool
  • מבוא ל- Node.js
  • עיצוב REST ו- GraphQL API ב- Node.js, v2 (באמצעות Express & MongoDB)

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

QA ואבטחת מידע: מודול זה היה גם פותח עיניים. עד אז מעולם לא כתבתי מבחן אחד בחיי. עכשיו אני אוהב לכתוב מבחנים, ואפילו התעניינתי מאוד בפיתוח מונע מבחן.

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

צ'אי מתעד

- בדיקות תגובה עם צחוק ואנזים

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

- הדרכות D3.js מאת d3Vienno

- תיעוד D3

טיפים לסיום תוכנית הלימודים

לסיכום, אלו הדברים שעזרו לי הכי הרבה בהגשמת המטרה שלי לסיים את תוכנית הלימודים:

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

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

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

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

בסך הכל לא יכולתי ללמוד את כל מה שלמדתי כל כך מהר אלמלא ה- FreeCodeCamp ואני אסיר תודה לכל מי שמאפשר פרויקט כה נפלא.

אם אתה מרגיש אותו דבר ויכול להחזיר, אנא שקול לתרום ל- freeCodeCamp כאן.