من النادر جداً أن يستسلم أي شخص في اليوم الأول من تحدي الـ 100 يوم برمجة.
فاليوم الأول هو الجزء الممتع؛ تكتب بضعة أسطر من الكود، وتشعر وكأنك عبقري، ثم تنشر شيئاً مثل: "تم اليوم الأول من تحدي #100DaysOfCode بنجاح، وكتبت أول دالة برمجية لي!"
اليوم الثاني يبدو رائعاً أيضاً.
لكن المتاعب تبدأ لاحقاً. فمع حلول الأسبوع الثالث تقريباً، يبدأ الحماس في التلاشي. وتجد أن الكود الذي كتبته الأسبوع الماضي بالكاد يبدو مفهوماً بالنسبة لك، وفجأة تشعر أن 100 يوم هي مدة طويلة جداً.
لا أحد يريك تلك المرحلة المتوسطة. على الإنترنت، لا ترى سوى لقطات النجاح البارزة: صور الشاشة لعدد الأيام المتتالية (الـ streak)، والمنشورات السعيدة، وأشخاصاً يحصلون على وظائف قبل مرور ثلاثة أشهر. لكنك لا ترى تلك الفوضى في المنتصف، حيث يستسلم البعض بينما يجد البعض الآخر ما يدفعه للاستمرار.
لذا، دعنا نأخذك في جولة لنرى كيف يبدو تحدي الـ 100 يوم مع Coddy، يوماً بيوم، ومزاجاً بمزاج، قبل حتى أن تبدأ اليوم الأول.

ما هو تحدي الـ 100 يوم برمجة؟
حسناً، الاسم يشرح نفسه: اكتب الكود كل يوم دون انقطاع لمدة 100 يوم متتالية! هذا كل ما في الأمر، دون أي تخطٍّ لأي يوم.
لقد نال هذا التحدي شهرة واسعة لأنه يحل مشكلة حقيقية. فالكثير من الناس لا يفشلون في تعلم البرمجة لأن المادة العلمية صعبة للغاية، بل لأنهم لا يبنون عادة الالتزام والاستمرارية اليومية.
ويبني تحدي الـ 100 يوم هذه العادة من خلال جعل الحفاظ على سلسلة الأيام المتتالية (الـ streak) هو الهدف بحد ذاته، على الأقل في البداية.
إليك بعض القواعد الأساسية التي يتبعها الناس عادةً:
- البرمجة لبعض الوقت يومياً على الأقل، حتى لو كان ذلك لمدة 10 أو 15 دقيقة فقط (حتى الخمس دقائق تُحتسب!)
- نشر تقدمك في مكان ما - على وسائل التواصل الاجتماعي، أو مدونة، أو حتى في سجل خاص بك
- اختيار لغة برمجة أو مشروع والالتزام به لفترة كافية لرؤية تقدم ملموس
- إذا فاتك يوم، فإما أن تبدأ من جديد من اليوم الأول أو تسجل ذلك وتستمر، بناءً على نسخة التحدي التي تتبعها
هل لاحظت أن أياً من هذه القواعد لا تحدد مقدار ما يجب عليك تعلمه في اليوم الواحد؟ هذا مقصود تماماً. فالتحدي لا يهدف إلى إتقان لغة برمجة في 100 يوم، بل يهدف إلى إثبات لنفسك أنك قادر على الالتزام والعمل حتى عندما لا تشعر بالرغبة في ذلك.
يقوم Coddy بتتبع تقدمك اليومي تلقائياً، لتكون دائماً على دراية بمستواك الحالي بدقة.
كيف يعمل التحدي على Coddy؟
هنا يأتي دور البرمجة مع Coddy. فلن تحتاج إلى إعداد بيئة تطوير، أو تثبيت أي برامج، أو الحيرة في معرفة أين تكتب أول سطر برمجى لك. كل ما عليك فعله هو فتح Coddy، والانتقال إلى قسم التحديات Challenges، واتخاذ قرارين بسيطين.
أولاً، لغة البرمجة. يمكنك حالياً الاختيار بين Python، أو JavaScript، أو C++، أو Java، أو C# (ولا تقلق، سيعمل فريقنا على إضافة المزيد قريباً!). لست متأكداً أيها تختار؟ ابدأ بأي لغة تثير اهتمامك، ويمكنك دائماً التغيير لاحقاً.
ثانياً، مستوى الصعوبة: سهل (easy)، أو متوسط (medium)، أو صعب (hard). في اليوم الأول، المستوى السهل هو الخيار الأنسب دائماً، بغض النظر عن مدى رغبتك في إثبات مهاراتك.

هذا كل ما عليك فعله لبدء التحديات؛ خياران فقط وتبدأ البرمجة فوراً. وهذا الأمر أكثر أهمية مما تبدو عليه لرحلة مدتها 100 يوم! فكل خطوة إضافية تفصل بينك وبين تحدي اليوم هي بمثابة عذر إضافي لتخطي اليوم، وتخطي الأيام هو المقبرة التي تنتهي عندها سلاسل الالتزام المتتالية.
مراحل التحدي
إذا تحدثت مع عدد كافٍ من الأشخاص الذين أكملوا التحدي (أو حاولوا ذلك)، فستلاحظ نمطاً متكرراً. فالأمر لا يسير أبداً في خط مستقيم من التقدم المستمر، بل يشبه الأفعوانية (القطار السريع) التي تمر بمرتفعات ومنخفضات يمكن التنبؤ بها.
الأيام من 1 إلى 10: مرحلة شهر العسل
كل شيء يبدو جديداً ومثيراً. تتعلم القواعد البرمجية (syntax)، وتبني مشاريع صغيرة جداً، وكل نجاح بسيط يمنحك شعوراً رائعاً. هذا هو الجزء الأسهل من التحدي، ويرجع ذلك أساساً إلى أن كل شيء جديد، مما يحافظ على حماسك متقداً.
الأيام من 11 إلى 30: مواجهة الواقع
يبدأ الحماس في التلاشي تدريجياً، وتصبح المفاهيم أكثر صعوبة. وتبدأ في مقارنة نفسك بأشخاص على الإنترنت يبدو أنهم يتقدمون بشكل أسرع، ويبنون مشاريع أكثر روعة، ويفهمون كل شيء على الفور (على الأرجح هم ليسوا كذلك، بالمناسبة، لكن هذا ما يبدو لك). هذه هي المرحلة التي يستسلم فيها الكثيرون.
الأيام من 31 إلى 70: تحول الهوية
إذا تمكنت من تجاوز مرحلة مواجهة الواقع، فسيحدث شيء مثير للاهتمام. ستتوقف البرمجة عن كونها مهمة تجبر نفسك عليها، لتصبح جزءاً طبيعياً من يومك. قد يستمر شعورك ببطء التقدم، لكن العادة اليومية لن تعود مرهقة بعد الآن.
الأيام من 71 إلى 100: بناء الثقة
بحلول هذه المرحلة، يمكنك النظر إلى الكود الذي كتبته في اليوم الأول وبالكاد تصدق أنك أنت من كتبه. غالباً ما تركز هذه المرحلة الأخيرة على تطبيق ما تعرفه بالفعل لحل مشكلات أكبر، بدلاً من تعلم مفاهيم جديدة كلياً. وهنا يبدأ الناس عادةً في بناء مشاريع حقيقية بدلاً من مجرد متابعة الدروس التعليمية.
كيف يبدو اليوم العادي في التحدي؟
يتخيل البعض أن 100 يوم من البرمجة تعني ساعات من التركيز الشديد كل يوم. في الواقع، هذه أسرع طريقة للوصول إلى الاحتراق النفسي والإنهاك خلال أسبوع أو أسبوعين.
دعنا نرى كيف يبدو الجدول الزمني المستدام بدلاً من ذلك:
- بعض الأيام: 10 إلى 15 دقيقة لحل تحدٍ صغير أو مراجعة مفهوم معين.
- أيام أخرى: من 45 دقيقة إلى ساعة لبناء مشروع أكبر.
- أيام راحة متنكرة: قراءة التوثيقات البرمجية (documentation)، أو مشاهدة فيديو قصير، أو مراجعة كود قديم دون كتابة أي شيء جديد.
التوثيقات التي يمكنك تشغيلها أفضل بكثير من التي تكتفي بقراءتها. قراءة التوثيقات البرمجية هي خطوة ممتازة لأيام الراحة. لكنك ستفهم المفهوم بشكل أسرع عندما تتمكن من تشغيل المثال البرمجي وتعديله بنفسك. هذه هي الفكرة الكامنة وراء التوثيقات البرمجية القابلة للتشغيل.
النقطة الأخيرة مهمة للغاية؛ فليس من الضروري أن يتضمن كل يوم كتابة كود جديد. إن مراجعة ما تعلمته بالفعل، أو إصلاح خطأ برمي (bug) قديم، أو قراءة كود كتبه شخص آخر، كلها تُحتسب كالتزام بالحضور! هذه الخطوات الصغيرة والمتكررة هي نوع العادات اليومية التي تصنع مطوراً أفضل.
لماذا يستسلم الناس في الأسبوع الثالث تقريباً؟
إذا كان التحدي يقتصر فقط على الالتزام بالحضور اليومي، فلماذا يتسبب أمر بسيط كهذا في استسلام الكثيرين؟
تكمن الإجابة عادةً في أحد الأسباب التالية:
- وضع سقف توقعات يومي مرتفع للغاية (البرمجة لمدة ساعتين يومياً تبدو فكرة رائعة حتى تتدخل مشاغل الحياة الواقعية).
- اختيار مشروع أو لغة برمجة لا تثير اهتمامهم حقاً، لمجرد أنها رائجة (تريند) في الوقت الحالي.
- عدم وجود طريقة لتتبع التقدم، مما يعطي شعوراً بأن شيئاً لا يتغير حتى وإن كان هناك تقدم بالفعل.
- تفويت يوم واحد، والشعور بالفشل، ثم الاستسلام بدلاً من مواصلة الطريق.
لا علاقة لأي من هذه الأسباب بالذكاء أو الموهبة، بل يتعلق الأمر بالتهيئة والتخطيط. فالتحدي ليس صعباً لأن البرمجة معقدة، بل لأن بناء العادات أمر صعب، والكثير من الناس يبدأون دون خطة لتلك الأيام الصعبة التي يغيب فيها الحماس.
يرسل لك Coddy تنبيهات يومية وتحديات صغيرة الحجم، مما يجعل تخطي اليوم أصعب من الالتزام به.
كيف تصل إلى اليوم الـ 100؟
إذا كنت تريد فرصة حقيقية لإكمال التحدي، فإن بعض التعديلات البسيطة ستحدث فارقاً أكبر بكثير مما قد تفعله قوة الإرادة وحدها.
1. حدد حداً أدنى صغيراً للغاية بشكل يثير السخرية. بدلاً من أن تعد نفسك بساعة يومياً، عدها بعشر دقائق فقط. في الأيام الجيدة، ستفعل أكثر من ذلك بالتأكيد. وفي الأيام السيئة، تظل الدقائق العشر بمثابة فوز، والفوز هو ما يحافظ على استمرار السلسلة!
2. اختر شيئاً يثير حماسك ولو قليلاً. إذا كنت تكره المشروع الذي اخترته، فسيبدو اليوم الـ 30 كالجحيم. اختر لغة برمجة أو فكرة مشروع تثير فضولك لفتح الكمبيوتر المحمول، حتى عندما تكون متعباً.
3. تتبع تقدمك في مكان مرئي. عداد الأيام المتتالية، أو تقويم ورقي تشطب فيه الأيام يدوياً، أو منشور عام؛ أي شيء يحول التقدم غير المرئي إلى شيء ملموس تراه بعينيك.
4. خطط للأيام الضائعة قبل حدوثها. قرر الآن ماذا ستفعل إذا فاتك يوم. هل ستبدأ من جديد؟ أم ستستمر مع تسجيل هذه الفجوة؟ اتخاذ القرار مسبقاً يعني أنك لن تنجرف نحو الاستسلام بمجرد أن تصبح الحياة فوضوية (لأنها ستصبح كذلك في مرحلة ما بلا شك).
5. ابحث عن وسيلة للمساءلة والالتزام. قد يكون هذا صديقاً يخوض التحدي معك، أو مجتمعاً عبر الإنترنت، أو تطبيقاً يلاحظ غيابك عندما تتوقف. فنحن نكون أكثر التزاماً واستمرارية عندما نعلم أن هناك من يتابعنا أو يهتم بتقدمنا.
ما الذي يتغير بحلول اليوم الـ 100؟
يتوقع الناس أن يبدو اليوم الـ 100 وكأنه خط نهاية مليء بالقصاصات الملونة والاحتفالات. لكنه في الواقع يبدو مختلفاً قليلاً عن ذلك، بل وأفضل بكثير.
بحلول اليوم الـ 100، يلاحظ الكثير من الناس ما يلي:
- قراءة الكود تصبح أقل شبهاً بفك رموز لغة أجنبية غامضة، وتصبح أشبه بالقراءة العادية.
- الأخطاء البرمجية الصغيرة التي كانت تسبب الذعر سابقاً تبدو الآن كألغاز طبيعية يمكن حلها بسهولة.
- نجاحهم في بناء مشروعين أو ثلاثة مشاريع صغيرة بدلاً من تشتيت أنفسهم في عشرات الدروس التعليمية غير المكتملة.
- فكرة البرمجة اليومية لم تعد تبدو كتحدٍ شاق، بل أصبحت مجرد نشاط اعتيادي يقومون به.
لم تكن الـ 100 يوم تتعلق بالكود نفسه أبداً، بل كانت لإثبات أن الاستمرارية، حتى بجرعات صغيرة، تتفوق على الكثافة والجهد المتقطع في كل مرة. وبمجرد أن ترى ذلك بنفسك من خلال تجربتك الخاصة بدلاً من تجارب الآخرين، سيظل هذا الدرس راسخاً في ذهنك للأبد.
ماذا يجب أن تبني خلال الـ 100 يوم؟
في جزء كبير من التحدي، قد لا تبني مشروعاً كاملاً على الإطلاق، وهذا أمر طبيعي تماماً. ففي Coddy، التحديات اليومية هي العمل الفعلي المطلوب منك. اختر لغتك، وحدد مستوى الصعوبة، وحل ما أمامك من تحديات، ودع ذلك يقودك خلال الأسابيع الأولى.
ولكن في مكان ما في المنتصف، وبمجرد أن تبدأ الأساسيات في الاستقرار وتصبح أقل تذبذباً، يشعر الكثير من الناس برغبة ملحة في صنع شيء خاص بهم.
عندما تظهر هذه الرغبة، تجنب قضاء ساعات في تصفح أفكار المشاريع، واطرح على نفسك سؤالاً أفضل: ما هو الشيء الصغير الذي تمنيت لو كان موجوداً بالفعل، أو ما هو الشيء الذي يثير فضولك لمعرفة كيفية عمله؟
إليك بعض الاتجاهات التي تناسب رحلة الـ 100 يوم بشكل ممتاز:
- أداة صغيرة تحل مشكلة مزعجة في حياتك اليومية، مثل متتبع للميزانية أو سجل لمتابعة العادات.
- لعبة بسيطة، حتى لو كانت لعبة "إكس-أو" (tic-tac-toe)، لأن الألعاب تجبرك على التفكير في المنطق والقواعد البرمجية.
- إعادة إنشاء جزء صغير من موقع ويب أو تطبيق تستخدمه بالفعل، لمجرد استكشاف كيف يعمل من الداخل.
- سلسلة من التحديات الصغيرة غير المترابطة، إذا كان الالتزام بمشروع واحد كبير يبدو مخيفاً في هذه المرحلة المبكرة.
إذا كانت القائمة الكاملة ستساعدك، فابدأ بأفكار مخصصة للغة التي تتعلمها. يمكن لمتعلمي لغة Python استكشاف 13 مشروعاً سهلاً بلغة Python مصممة لزيادة ثقتك بنفسك أثناء تقدمك. أما إذا اخترت لغة JavaScript، فإن هذه المشاريع المخصصة للمبتدئين في JavaScript ستجعلك تبدأ في البناء من اليوم الأول.
ليس من الضروري أن تكون هذه المشاريع مبهرة؛ فالهدف هو اختيار شيء ملموس ومحدد حتى لا تجد نفسك محدقاً في ملف فارغ متسائلاً من أين تبدأ. كما أنه لا بأس بتغيير المشاريع؛ ابدأ بفكرة واحدة، وعندما تشعر أنها أصبحت بسيطة بالنسبة لك بعد بضعة أسابيع، انتقل إلى شيء أكثر طموحاً مع تطور مهاراتك.
هل تحتاج إلى تعلم شيء جديد كل يوم؟
لا، وتوقع ذلك من نفسك هو طريق مختصر ومضمون للوصول إلى الاحتراق النفسي.
فبعض الأيام ستتضمن تعلم شيء جديد تماماً، مثل مفهوم لم يسبق لك التعامل معه من قبل. بينما ستتضمن أيام أخرى ممارسة شيء تعرفه بالفعل، حتى يصبح تطبيقك له تلقائياً ودون تفكير.
كلا الأمرين يُحتسبان. فالأيام المتكررة، التي قد تبدو مملة لأنك تعزز فيها مفهوماً مألوفاً، غالباً ما تفيد ذاكرتك طويلة المدى أكثر من الأيام المثيرة التي يكون فيها كل شيء جديداً. هذا النوع من التكرار يكتسب أهمية كبرى اليوم؛ فعندما يصبح بإمكان الذكاء الاصطناعي (AI) توليد كود برمجي فعال في ثوانٍ معدودة، فإن الممارسة اليدوية التي تقوم بها بنفسك هي ما يحول إجابات الآخرين إلى مهارات حقيقية تملكها أنت وحدك.
إذا كنت تحسب في رأسك مقدار المعلومات الجديدة التي تلقيتها اليوم، فحاول التخلص من هذه العادة تماماً. فالسؤال الوحيد الذي يستحق أن تطرحه على نفسك كل يوم هو: هل التزمت بالحضور اليوم؟
هل يجب عليك القيام بذلك؟
هناك سؤال آخر يستحق أن تطرحه على نفسك: هل أحتاج فعلاً إلى تحدي الـ 100 يوم، أم أحتاج إلى نظام يساعدني على الاستمرار يومياً دون ضغوط العد التنازلي؟
كلا الخيارين صحيح وممتاز. فبعض الأشخاص يزدهرون في ظل الهيكل التنظيمي والمسؤولية العامة لتحدٍ محدد بمدة زمنية. بينما يفضل آخرون بناء عادة مستمرة ليس لها خط نهاية، لتجنب الضغط النفسي بمجرد وصول اليوم الـ 100 وعودة الحياة لمجراها الطبيعي.
إذا كنت تحب فكرة سلاسل الالتزام المتتالية، والتنبيهات اليومية، والتحديات القصيرة دون الحاجة إلى الإعلان عن أي شيء على الإنترنت، فهذه طريقة رائعة لبناء العادة نفسها.
فالرقم 100 ليس سحرياً؛ بل هو مجرد رقم دائري تصادف أنه طويل بما يكفي لبناء عادة، وقصير بما يكفي ليشعرنا بأنه هدف قابل للتحقيق!
يحول Coddy ممارسة البرمجة اليومية إلى تحديات قصيرة وسهلة الالتزام تتحكم بها بنفسك.
الخلاصة
إن تحدي الـ 100 يوم برمجة لا يتعلق بالكود في حد ذاته، بل هو تجربة لبناء العادات تم تقديمها في قالب مشروع برمجي.
القواعد البرمجية التي تتعلمها على طول الطريق مهمة بلا شك، ولكن الفوز الحقيقي يكمن في إثبات قدرتك لنفسك على الالتزام بالحضور كل يوم.
توقع فترة صعبة في حدود اليوم الـ 20. وتوقع تحولاً في مكان ما في المنتصف حيث تتوقف البرمجة عن كونها واجباً ثقيلاً. وتوقع أن يبدو اليوم الـ 100 أقل شبهاً بالنهاية، وأقرب إلى اللحظة التي تدرك فيها أنك لم تعد بحاجة إلى التحدي بعد الآن، لأن العادة قد رسخت نفسها بالفعل في حياتك.
لذا، إذا كنت تفكر في البدء، فلا تنتظر فكرة المشروع المثالية أو يوم الاثنين القادم لتبدأ. اختر شيئاً صغيراً، وافتح جهاز الكمبيوتر الخاص بك اليوم، وابدأ رحلتك فوراً.
Share this article
About the Author
Jana Simeonovska
Content Strategist & Writer
Frequently Asked Questions
هل يجب عليّ النشر عن التحدي على الإنترنت؟
لا! يساعد النشر بعض الأشخاص على الالتزام، لكنه ليس قاعدة إجبارية. يمكنك استخدام سجل خاص، أو تقويم تشطب فيه الأيام، أو streak counter المدمج في Coddy لتحقيق نفس النتيجة. اختر ما يناسبك ويساعدك على الاستمرار.
ماذا يحدث إذا فاتني يوم؟
يعتمد ذلك على النسخة التي تتبعها. يفضل البعض البدء مجددًا من اليوم الأول، بينما يكتفي آخرون بتدوين الفجوة ومواصلة التقدم. كلا الخيارين ليس خاطئًا. السر يكمن في تحديد قاعدتك الخاصة قبل حدوث ذلك، حتى لا يتسبب تفويت يوم واحد في التخلي عن التحدي تمامًا.
ما هي لغة البرمجة التي يجب أن أختارها؟
حاليًا على Coddy، يمكنك البدء بـ Python، أو JavaScript، أو C++، أو Java، أو C#. ألست متأكدًا؟ اختر ما يبدو مثيرًا لاهتمامك! يمكنك التغيير لاحقًا، لذا فإن اختيارك الأول ليس نهائيًا.
هل تحدي الـ 100 يوم من البرمجة مناسب للمبتدئين تمامًا؟
نعم. لقد صُمم هذا التحدي للأشخاص الذين يواجهون صعوبة في الاستمرارية، وليس للمبرمجين المحترفين. ابدأ بالوضع السهل، وخصص 10 دقائق يوميًا، ودع العادة تتشكل تدريجيًا. تذكر دائمًا، الهدف الأهم هو الاستمرار والظهور يوميًا!
ما هو مقدار الوقت الذي أحتاجه يوميًا؟
ما لا يزيد عن 10 إلى 15 دقيقة في الأيام المزدحمة. في بعض الأيام قد تقضي وقتًا أطول لأنك تبني شيئًا ما، وفي أيام أخرى قد تكتفي بحل تحدٍ صغير واحد وتسجيل الخروج. إن تحديد حد أدنى يومي بسيط هو ما يحافظ على الـ streak نشطًا.
هل أحتاج إلى تثبيت أي شيء للبدء؟
لا. يعمل Coddy مباشرة في متصفحك مع محرر أكواد مدمج بالفعل. كل ما عليك فعله هو فتح صفحة Challenges، واختيار اللغة ومستوى الصعوبة، والبدء في البرمجة. لا يتطلب الأمر أي إعدادات أو تنزيلات.
هل يمكنني تغيير لغتي أو مشروعي في منتصف الطريق؟
نعم. يبدأ الكثير من الأشخاص بفكرة معينة، ثم يتجاوزونها وينتقلون إلى شيء أكبر بمجرد تطور مهاراتهم. التغيير ليس غشًا، بل هو دليل على تطورك ونموك، طالما أنك مستمر في العمل والظهور يوميًا.



