Menu

אתגר 100 ימים של קוד עם Coddy: מה מחכה לכם?

Jana Simeonovska

Jana Simeonovska

· 12 דקות קריאה

זה נדיר ביותר שמישהו יפרוש מאתגר התכנות של 100 הימים כבר ביום הראשון.

היום הראשון הוא החלק הכיפי. אתם כותבים כמה שורות קוד, מרגישים גאונים, ומפרסמים משהו כמו "היום הראשון של #100DaysOfCode מאחוריי, כתבתי את הפונקציה הראשונה שלי!"

גם היום השני מרגיש מצוין.

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

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

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

אתגר התכנות של 100 הימים עם Coddy: למה לצפות.webp

מהו בכלל אתגר התכנות של 100 הימים?

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

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

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

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

  • לכתוב קוד לפחות קצת בכל יום, אפילו אם זה רק ל-10 או 15 דקות (אפילו חמש דקות נחשבות!)
  • לפרסם עדכונים על ההתקדמות שלכם איפשהו – ברשתות החברתיות, בבלוג או ביומן פרטי
  • לבחור שפה או פרויקט ולהתמיד בהם מספיק זמן כדי לראות התקדמות
  • אם פספסתם יום, אתם או מתחילים מחדש מיום 1 או פשוט רושמים לעצמכם וממשיכים הלאה, תלוי באיזו גרסה של האתגר בחרתם

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

רוצים דרך מובנית לעקוב אחר הרצף שלכם?

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

התחילו את רצף 100 הימים שלכם

איך זה עובד ב-Coddy

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

ראשית, שפה. כרגע אתם יכולים לבחור מבין Python, JavaScript, C++, Java, או C# (אל דאגה – הצוות יוסיף עוד שפות בקרוב!). לא בטוחים במה לבחור? לכו על מה שנשמע לכם מעניין והתחילו שם. תמיד תוכלו להחליף בהמשך.

שנית, רמת קושי: קל (easy), בינוני (medium) או קשה (hard). ביום הראשון, הבחירה ב"קל" היא ההחלטה הנכונה, לא משנה כמה אתם רוצים להוכיח לעצמכם או לאחרים.

[2] אתגר התכנות של 100 הימים עם Coddy.webp

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

השלבים השונים

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

ימים 1 עד 10: ירח הדבש

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

ימים 11 עד 30: המפגש עם המציאות

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

ימים 31 עד 70: שינוי הזהות

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

ימים 71 עד 100: בניית הביטחון העצמי

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

איך נראה יום רגיל באתגר

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

בואו נראה איך נראה לוח זמנים שקל להתמיד בו במקום זאת:

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

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

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

למה אנשים פורשים בסביבות השבוע השלישי?

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

התשובה בדרך כלל מסתכמת באחת מהסיבות הבאות:

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

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

מתקשים לשמור על עקביות לבדכם?

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

נסו את Coddy בחינם

איך להגיע ליום ה-100 בהצלחה

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

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

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

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

4. תכננו מראש את הימים שתפספסו. החליטו כבר עכשיו מה תעשו אם תפספסו יום. האם תתחילו מחדש? האם פשוט תמשיכו הלאה ותרשמו לעצמכם את הפער? החלטה מראש תמנע מכם להידרדר לפרישה ברגע שהחיים יהפכו למבולגנים (והם יהפכו למבולגנים בשלב כלשהו).

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

מה משתנה עד היום ה-100

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

עד היום ה-100, הרבה אנשים שמים לב ש:

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

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

מה כדאי לבנות במהלך 100 הימים?

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

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

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

כמה כיוונים שעובדים מצוין לטווח של 100 ימים:

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

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

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

האם צריך ללמוד משהו חדש בכל יום?

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

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

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

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

האם כדאי לכם לעשות את זה?

שאלה נוספת ששווה לשאול את עצמכם: האם אני צריך אתגר של 100 ימים, או מערכת שגורמת לי לחזור בכל יום מחדש בלי הלחץ של ספירה לאחור?

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

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

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

מוכנים לבנות את ההרגל בלי הלחץ של ספירה לאחור פומבית?

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

התחילו ללמוד בחינם

בשורה התחתונה

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

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

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

Frequently Asked Questions

האם אני חייב לפרסם על האתגר באינטרנט?

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

מה קורה אם אני מפספס יום?

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

באיזו שפת תכנות כדאי לי לבחור?

כרגע ב-Coddy אתם יכולים להתחיל עם Python, JavaScript, C++, Java, או C#. לא בטוחים? לכו על מה שנשמע לכם מעניין! תוכלו להחליף בהמשך, כך שהבחירה הראשונה שלכם אינה חקוקה בסלע.

האם אתגר ה-100 ימי כתיבת קוד מתאים למתחילים מוחלטים?

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

כמה זמן אני צריך להקדיש בכל יום?

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

האם אני צריך להתקין משהו כדי להתחיל?

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

האם אני יכול להחליף שפה או פרויקט באמצע הדרך?

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

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל