كيف أصبحت ثريا جدا (يعرف أيضا بالوريث العظيم، الحياة السامية، البطل: أحمد حسن)
في ذلك اليوم، أخبرته عائلته التي تعمل جميعها والديه وأخته في الخارج فجأة بأنه من الجيل الثاني الغني، ويمتلك ثروة تقدر بمئات المليارات من الدولارات.
أحمد حسن: أنا فعلا من الجيل الثاني للأثرياء؟
في شتاء ثقيلٍ من عامٍ بعيد، تتقاطع طرق فتى فقير لا يخشى شيئًا مع طفلٍ نبيل يحمل عقلًا يفوق عمره... وابتسامةً تخفي أكثر مما تُظهر.
ليلةٌ واحدة، تسللٌ محفوفٌ بالمخاطر إلى قصرٍ غامض، ولقاءٌ لم يكن مقدرًا أن يحدث... كانت كافية لتشعل سلسلةً من الأحداث التي لن يستطيع أحد إيقافها.
بين جدران القصر العالية، تبدأ لعبةٌ غير متكافئة: فتى يعيش في الظلال، وأميرٌ يهوى كسر القواعد، وشقيقٌ لا يؤمن إلا بفروق الطبقات... وفي الخلفية، يظهر شخصٌ مقنّع يراقب كل شيء بصمت.
مع اشتداد العاصفة، وتراكم الأسرار، يجد إلياس نفسه منجذبًا أكثر إلى عالمٍ لم يكن ينتمي إليه يومًا... عالمٍ حيث الصداقة قد تكون خدعة، والاهتمام قد يكون لعبة، والاقتراب خطوة نحو خطرٍ أكبر.
هذه ليست قصة تسللٍ إلى قصر... بل بداية عاصفة ستغيّر مصيرهم جميعًا. 🌩️
“في ليلة زفافها… لم تكن عروسًا، بل كانت صفقة.”
أُجبرت على الزواج من رجل لا يعرف الرحمة…
رجل بارد، قوي، وغامض…
يرى في هذا الزواج مجرد اتفاق لا أكثر.
لكنه لا يعلم…
أن الفتاة التي دخلت حياته ليست ضحية.
خلف نظراتها الهادئة…
تخفي سرًا قادرًا على تدمير كل ما يملكه.
ومع كل يوم يمر…
تتحول حياتهما إلى ساحة حرب صامتة،
حيث لا أحد يثق بالآخر…
ولا أحد مستعد للخسارة.
لكن ماذا سيحدث…
عندما يتحول الانتقام إلى شيء أخطر؟
🔥 حب؟
أم دمار لا رجعة فيه؟
رفضتُ أن أتبرعَ بكليتي لأختي، فكان جزائي أن دفعني والداي إلى فراش سيد مدينة الفيروز.
كانوا يرددون أن سيد المدينة لا يجرؤ أحدٌ على الاقتراب منه، وأن في قلبه حبًا قديمًا لا يموت.
كان الجميع يتربصون بي، ينتظرون سقوطي، لكنه، على غير ما ظنوا، رفعني إلى عنان السماء وأغدق عليّ من حنانه.
خلال ثلاث سنوات من الزواج، كان يعشق التقرب إليّ في كل ركن، حتى وإن كنت في الحمام، كان يدخل، ويضمني إليه عند حافة المغسلة.
لم نستخدم أي واقٍ، ولم نتخذ أي احتياطات. ومع ذلك، لم يحدث حمل.
ظننتُ أنني قد حملتُ أخيرًا، فذهبتُ إلى المستشفى لأتأكد. وهناك، سمعت دون قصد حديثه مع الطبيب: "غسان، قبل ثلاث سنوات طلبتَ مني أن أنتزع سرًا كلية شمس وأزرعها لأختها والآن تطلب مني أن أكذب وأخبرها أنها عاقر... كيف تقسو على امرأة وهبتك حبها؟"
"ليس بيدي. كلية شهد عليلة، إن لم تنجب، فسيذلها أهل زوجها، ولا يصلح لجسد شهد إلا كلية شمس."
كان الصوتُ مألوفًا، لكنَّ برودته جعلتني أشعرُ وكأنني أسمعه للمرة الأولى. وحينها أدركت: كل ما حسبته حبًا ونجاة... ما كان إلا خديعة أخرى.
وما دام الأمر كذلك... فلأرحل.
بعد وفاة والدي، قررت الطلاق من زوجي قائد الكتيبة، والبقاء في هذه القرية الجبلية إلى الأبد.
في اليوم الأول، خدعت زوجي ليوقع على طلب الطلاق.
في اليوم الخامس، قدمت طلب الاستقالة إلى وحدتي السابقة.
في اليوم السابع، أعددت مائدة طعام شهية لأودع جميع أصدقائي.
عبس خالد العجمي، ووبخني لماذا أعددت طعامًا لا تحبه رفيقته منذ الطفولة.
نهضت، وسكبت نخبًا لرفيقته منذ الطفولة.
من الآن فصاعدًا، لن يكون لخالد أي علاقة بي بعد الآن.
بعد نصف شهر، رأيت خالدًا في القرية الجبلية عائدًا بعد إكمال المهمة.
ولكن هذه المرة، احمرّت عيناه تحت نسيم المساء.
في ذكرى زواجنا السابعة، كنتُ جالسة في حضن زوجي المنتمي إلى المافيا، لوتشيان، أقبّله بعمق.
كانت أصابعي تعبث في جيب فستاني الحريري الباهظ، تبحث عن اختبار الحمل الذي أخفيته هناك.
كنتُ أرغب في حفظ خبر حملي غير المتوقع لنهاية الأمسية.
سأل ماركو، الذراع اليمنى للوتشيان، وهو يبتسم ابتسامة ذات إيحاءات، بالإيطالية:
"الدون، عصفورتك الجديدة، صوفيا… كيف طعمها؟"
ضحكة لوتشيان الساخرة ارتجّت في صدري، وأرسلت قشعريرة في عمودي الفقري.
أجاب هو أيضًا بالإيطالية:
"مثل خوخة غير ناضجة. طازجة وطرية."
كانت يده لا تزال تداعب خصري، لكن نظراته كانت شاردة.
"فقط ابقِ هذا بيننا. إن علمت دونّا بالأمر، فسأكون رجلاً ميتًا."
قهقه رجاله بفهم، ورفعوا كؤوسهم متعهدين بالصمت.
تحولت حرارة دمي إلى جليد، ببطء… بوصة بعد بوصة.
ما لم يكونوا يعلمونه هو أن جدّتي من صقلية، لذا فهمت كل كلمة.
أجبرتُ نفسي على البقاء هادئة، محافظة على ابتسامة الدونا المثالية، لكنّ يدي التي كانت تمسك كأس الشمبانيا ارتجفت.
بدلًا من أن أفتعل فضيحة، فتحتُ هاتفي، وبحثت عن الدعوة التي تلقيتها قبل أيام قليلة لمشروع بحث طبي دولي خاص، ثم ضغطت على "قبول."
في غضون ثلاثة أيام، سأختفي من عالم لوتشيان تمامًا.
أعتقد أن أفضل مدخل للبرمجة يجمع بين الشرح النظري والكثير من التطبيق العملي. شخصياً بدأت مع كورسات طويلة ومنظمة ثم تحولت إلى فيديوهات قصيرة ومشاريع صغيرة، وما لاحظته أن بعض السلاسل فعلاً تضعك على طريق واضح من المفاهيم إلى التطبيق. من السلاسل التي أنصح بها بقوة هي 'CS50' لأنها تغطي أساسيات علوم الحاسوب بطريقة عميقة وشاملة — ليست مجرد لغة بل فهم للمنطق، الخوارزميات، وهياكل البيانات. المادة قد تكون كثيفة للمبتدئ المطلق، لكن إذا أردت أساساً متيناً فهي ممتازة.
لمن يبحث عن مسار أبسط وأكثر تركيزاً على كتابة الكود بسرعة أو كنت مهتماً بتعلم بايثون، أنصح بـ 'Python for Everybody' على كورسيرا: شرح واضح، تمارين عملية، ومشاريع بسيطة تساعدك على الفهم. بالمقابل، لو تميل للتعلّم العملي المباشر وبناء مشاريع واجهات ومواقع، قناة 'freeCodeCamp' تقدم دورات طويلة مجانية مثل 'Python for Beginners' و'JavaScript for Beginners' مع الكثير من أمثلة المشروع.
نصيحتي العملية: ابدأ بدورة واحدة وثبتها بمشروع صغير — قائمة مهام أو حاسبة بسيطة — ثم انتقل للسلسلة التالية لتوسيع المفاهيم. التنقل بين فيديو تعليمي وممارسة فعلية هو ما يجعل التعلم يثبت بالنسبة لي، وأتذكر أن أول مشروع حقيقي أنجزته منحني ثقة كبيرة للاستمرار.
أميل دائمًا إلى اعتبار 'بايثون' الخيار الأوضح لدورات تحليل البيانات، ولست أبالغ عندما أقول ذلك؛ فهو يجمع بين سهولة التعلم وقوة الأداء بطريقة تريح المبتدئ والمتقدّم على حد سواء. بدأت رحلتي مع تحليل البيانات من خلال مشاريع صغيرة على الحاسوب المنزلي، ووجدت أن القفزة من فهم الأساسيات إلى إنتاج تحليل مفيد تصبح قصيرة عندما تستخدم بايثون. المكتبات مثل pandas وnumpy تجعل تنظيف البيانات وترتيبها عملية مباشرة، بينما matplotlib وseaborn تمنحانك أدوات عرض مرئية سريعة ومقبولة. أما scikit-learn فتوفر مجموعة متكاملة من خوارزميات التعلم الآلي التي يمكنك تجربتها دون الدخول في تفاصيل معقدة جداً في البداية.
الشيء الذي أحبّه أيضًا هو بيئة العمل: دفتر الملاحظات التفاعلي (مثل Jupyter) يسمح لي بتجربة فكرة ثم رؤيتها فورًا، وهذا أسلوب تعليمي عملي أكثر من مجرد قراءة نظريات. عند الانتقال لمشاريع أكبر، ستجد بايثون يمتد بسهولة نحو التعامل مع قواعد البيانات، أو التكامل مع خدمات الويب، أو حتى العمل على البيانات الكبيرة عبر مكتبات مثل PySpark. عمليًا، تعلم واحدات أساسية — قواعد البيانات البسيطة وpandas والرسوم البيانية وبعض الإحصاء — يعطيك قدرة فعّالة على إنجاز تقارير وتحليلات مفيدة بسرعة.
إذا وضعت مسارًا للتعلّم فسأنصح بهذه الخطوات: ابدأ بأساسيات اللغة (التحكم في المتغيرات، الحلقات، الدوال)، ثم انتقل إلى التعامل مع البيانات في 'pandas'، بعدها ركّز على الاستكشاف البصري والاختبارات الإحصائية البسيطة، وأخيرًا جرّب خوارزميات بسيطة من scikit-learn. أنشئ مشاريع صغيرة ونشرها في GitHub أو المشاركة في مسابقات على منصات مثل Kaggle لبناء محفظة عملية. خلاصة القول: بايثون يمنحك أقصر طريق بين الفكرة والنتيجة الواقعية، ومع مجتمع ضخم ووفرة موارد ستجد دائمًا حلًا أو درسًا يجاوب على سؤالك قبل أن تشعر بالإحباط.
لا يمكن أن أنسى المشهد الأول الذي ربط بين شاشة الكود ونبض القصة؛ هذا المسلسل بذل جهدًا لرفع مهندس البرمجيات إلى مرتبة البطل، لكن بطريقة مختلطة بين الواقعية والدراما.
ألاحظ أنه في الكثير من الحلقات يقدمون البطل كمحرك أساسي للأحداث: الأفكار التقنية تتحول إلى حلول تنقذ الموقف، والكود يُقدَّم كأداة سحرية تغير مصير الشخصيات. هذا يعطي شعوراً بالأهمية والبطولة، خصوصاً عندما تُستخدم لحظات الكود لإظهار ذكاءه وإبداعه وحسمه في لحظات التوتر.
لكن، وبقدر ما أحب هذه الصورة، هناك مبالغة واضحة—مشاهد الهاكنج السريعة والاختراقات التي تُنجز في دقيقتين ليست واقعية. المسلسل يوازن بين جعل المهندس بطلاً نابعاً من عمله ومنح الأحداث لمسة سينمائية تجذب المشاهد العادي. بالنسبة لي، النتيجة مرضية كدراما لكنها ليست دفتر تعليمات حقيقي للحياة المهنية؛ إنها بطولات مشاعَرية ومهنية مختلطة، وليست شهادة واقعية على عمل المهندس في كل التفاصيل.
تخيل معي جدولًا مليئًا بمحاضرات وورش عمل وكلها تدور حول صنع البرمجيات—هذا بالضبط ما عشته في تخصص هندسة البرمجيات.
أول شيء يواجهك هو الأساس: مفاهيم البرمجة الأساسية، هياكل البيانات، والخوارزميات. درست لغات برمجة متعددة مثل C وJava وPython، وتعلّمت كيف أحوّل فكرة إلى كود منظم. ثم جاء الرياضيات المنطقية: الرياضيات المتقطعة، والتفاضل والتكامل والجبري الخطي بشكلٍ عملي يربط بين التحليل والنمذجة.
بعدها تدخل مواد البنية التحتية للنظام: هندسة الحاسوب، نظم التشغيل، وقواعد البيانات حيث تتعلم SQL وتصميم المخططات وتكامل البيانات. وفي الموازاة توجد مواد مرتبطة بالبرمجيات نفسها: إدارة متطلبات البرمجيات، تصميم البرمجيات، هندسة البرمجيات، أنماط التصميم، واختبار وضمان الجودة. الكثير من المشاريع الجماعية كانت تتطلب استخدام أدوات التحكم بالإصدارات والتكامل المستمر.
المقررات المتقدمة شملت هندسة البرمجيات المعمارية، شبكات الحاسوب والأمن، الحوسبة الموزعة، تطوير الويب وتطبيقات الهواتف، وحتى بعض مبادئ تعلم الآلة والسحابة. ولا أنسى مشروع التخرج والـInternship الذي جمع كل المهارات العملية. تعلمت أيضًا مهارات غير تقنية مهمة: العمل ضمن فريق، إدارة المشاريع، وكتابة مستندات متطلبات واضحة. التجربة كانت شاملة وتجهزك للعمل مباشرةً أو للاستزادة بتخصصات أعمق.
أذكر شعور الانفتاح والفضول الذي أصابني بعد أول دورة برمجة التحقّت بها: كانت نافذة على عالم كامل من الإمكانيات. بعدما تعلمت الأساسيات، لاحظت كم أن المهارات قابلة للنقل — من تطوير مواقع إلى تحليل بيانات وحتى أتمتة مهام بسيطة في وظائف بعيدة كليًا عن التقنية. هذا الشعور جعلني أفكر بجدية في تغيير المسار المهني، لأن البرمجة أعطتني أدوات لحل المشكلات بفعالية وسرعة تنفيذ أفكار كانت تبدو مستحيلة سابقًا.
مع الوقت حاولت ربط المهارات البرمجية بما أعرفه من مجالات أخرى: التسويق، التصميم، وحتى إدارة المشاريع. حصلت على فرص تدريب قصيرة وساعات عمل حرة، وكل تجربة جعلتني أكثر اقتناعًا بأن الانتقال ليس قفزة إلى المجهول بل استثمار في قاعدة معارف عملية. النصيحة العملية التي اتبعتها كانت بناء محفظة أعمال صغيرة تبين كيف يمكن للبرمجة أن تحسن عملٍ غير تقني.
خلاصة القول: نعم، التخصص يمنح فرص تغيير المسار، لكنه يتطلب صبرًا لتعلم أساسيات قابلة للتطبيق وتجارب حقيقية تثبت قدرتك. الانتقال سيكون أسهل إن ركّزت على بناء أمثلة عملية وربط مهاراتك القديمة بالجديدة، لأن هذا ما يجذب أرباب العمل أو العملاء حقًا.
يا لها من مجال حيّ ومثير—تخصّص البرمجة فعلاً يؤهّل للعمل في تطوير ألعاب الفيديو، لكنه ليس مسارًا واحدًا ثابتًا؛ هو أكثر شبهاً بشراع قوي يساعدك أن تبحر نحو مهن متعدّدة داخل الصناعة. دراسة البرمجة تمنحك أساسًا تقنيًا صلبًا: لغات مثل C++ وC#، فهم للهياكل البيانية والخوارزميات، إدارة الذاكرة، البرمجة الموجهة للكائنات، ومبادئ هندسة البرمجيات. كل هذه مهارات مُقدّرة بشدة في أدوار مثل مبرمج محرك الألعاب (Engine Programmer)، مبرمج طريقة اللعب (Gameplay Programmer)، مبرمج الرسوميات (Graphics Programmer)، ومطوّر للأدوات والعمليات (Tools/Pipeline Developer). لو كنت تميل للأدوار التقنية بعمق —كتحسين الأداء أو العمل على الـ rendering أو الـ networking— فالخلفية الجامعية في البرمجة أو علوم الحاسب تعمل كأساس لا يُستغنى عنه.
لكن الحكاية لا تتوقف عند الشهادة؛ الصناعة تزعّم المهارات العملية والمحفظة (portfolio). لو أردت الانتقال بسلاسة لسوق العمل، ركز على مشاريع قابلة للعرض: ألعاب صغيرة قابلة للتحميل، ديمو خاص بك يوضّح جزءاً من نظام لعب أو فيزياء أو ذكاء اصطناعي، ومشاركات على GitHub تُبيّن جودة الكود. تجربة العمل مع محركات شهيرة أساسية: تعلّم 'Unreal Engine' لـC++ والـBlueprints، أو 'Unity' لـC#، و'Godot' كخيار أخف. شارك في جيم جامز (Game Jams) وصنّع مودات للعبة موجودة—هذه طرق رائعة لبناء سيرة عملية سريعة وإثبات القدرة على الإنجاز ضمن وقت محدود. أيضاً، لا تستهِن بالمهارات المساعدة: التحكم بالإصدار عبر Git، أدوات الـprofilers، فهم للرياضيات التطبيقية (الجبر الخطي، التحليل العددي)، ومفاهيم تعدد الخيوط (multithreading) تساعدك كثيرًا في الأدوار المتقدّمة.
في الواقع توجد طرق متعددة للدخول: البعض يدخل مباشرة من الجامعة إلى شركات ناشئة أو فرق محلية، آخرون يبدأون من وظائف اختبار جودة أو أدوات ثم ينتقلون تدريجياً إلى تطوير الألعاب. الخبرة العملية تتفوّق غالبًا على اسم الجامعة في مقابلات التوظيف؛ شركة الألعاب تريد أن ترى شغفك وقدرتك على حل مشاكل حقيقية. لذا أنصح بخارطة عمليّة: اتقن لغة أساسية (C++ أو C#)، أنشئ 3 مشاريع قابلة للعرض (واحد للـgameplay، واحد للـsystems أو AI، واحد لأدوات/pipeline)، شارك في جيم جامز، ونشِر الكود مع README ولقطات شاشة أو فيديو قصير يشرح ما قمت به. إن أمكن، ابحث عن تدريب صيفي في استوديو محلي أو مساهمات في مشاريع مفتوحة المصدر.
من ناحية الرواتب وفرص الترقّي، وجود خلفية برمجية يفتح أبوابًا للأدوار المتقدمة والتخصصات التقنية العميقة التي غالبًا ما تكون أعلى أجراً (مثل رسومات الـGPU أو محركات الفيزياء أو شبكات اللعب المتزامن). لكن لا تنسَ الجانب الآخر: فرق التصميم والفن والمنتج بحاجة لتواصل قوي وروح فريق. لعبة ناجحة تحتاج تعاونًا متعدد التخصصات، لذا طوّر مهارات التواصل والعمل الجماعي. في النهاية، التخصّص في البرمجة يؤهلك بجدارة للعمل في صناعة الألعاب إذا صقلت مهاراتك العملية وبنيت محفظة تعرض إبداعك وحلّك للمشاكل—وهذا جزء ممتع من الرحلة وأكثرها تحديًا ومكافأة في نفس الوقت.
أول مشروع أضعه في سيرتي هو تطبيق دردشة حقيقي يعمل عبر الشبكات، لأنه يختبر كل شيء من الاتصالات الأساسية إلى إدارة الحالة والأخطاء. لقد بنيت واحدًا باستعمال بروتوكول WebSocket ونسخة خفيفة من بروتوكول التوثيق، فتعلمت كيف أتعامل مع إعادة الاتصال، ومعالجة الرسائل المتزامنة، وتأمين النقل باستخدام TLS. في المشروع هذا عرضت لوحة تحكم بسيطة تُظهر المستخدمين المتصلين، وعدد الرسائل، وتأخير الشبكة؛ هذه التفاصيل الصغيرة تُبهِر دائمًا من يطلع على الكود.
ثاني مشروع أعتبره مهمًا هو خادم HTTP مخصص مع دعم التخزين المؤقت (caching) وتحميل الحدود (rate limiting) — لا مجرد استخدام إطار جاهز، بل تنفيذ أجزاء أساسية بنفسك بلغة مثل Go أو Rust. هذا يبين فهمي لمفاهيم مثل Sockets، الـConcurrency، وإدارة الموارد. أضفت اختبارات أداء ومقارنات زمنية بين إعدادات مختلفة، حتى أستطيع إظهار أرقام ومقاييس حقيقية في ملف README.
أخيرًا، أحب أن أضيف مشروعًا أمنيًا عمليًا: أداة تحليل للحزمة (packet sniffer) مع واجهة تعرض البروتوكولات والاتصالات المشبوهة، وميزة لتصدير النتائج بصيغة قابلة للقراءة. هذا المشروع يجذب انتباه الناس ويبرهن أني أفهم طبقات الشبكة وكيفية قراءة الحزم، وليس فقط كتابة تطبيقات على طبقة أعلى. كل مشروع ختمته بتوثيق جيد، فيديو قصير يشرح الاستخدام، ومقاييس أداء—وبذلك يصبح للزائر فكرة واضحة عن قدرتي التقنية والذهنية.
أجد أن كورسيرا تقدم مدخلاً عملياً جداً لأي مبتدئ يريد البدء في البرمجة بدون أن يدفع فوراً، وهذا ما جعلني أعود إليها مراراً عندما بدأت أتعلم أساسيات البرمجة. بشكل أساسي، يمكنك التسجيل في معظم الدورات والوصول مجاناً إلى محتوى المقررات: محاضرات الفيديو، الملاحظات، والقراءات، وأحياناً الاختبارات التي تقيمها الآلات. هذا الوضع يُعرف بميزة 'التدقيق' (Audit)؛ تتيح لك متابعة المواد التعليمية بالوتيرة التي تريدها دون أن تدفع مقابل الشهادة أو التحقق من الإجابات في بعض المهمات.
ما أحبّه شخصياً أن هذه الدورات تغطي مسارات مناسبة تماماً للمبتدئين: دورات تمهيدية في بايثون مثل 'Python for Everybody'، ودورات أساسيات الويب (HTML/CSS/JavaScript)، وSQL، وحتى مبادئ علوم الحاسب والخوارزميات المبسطة. كثير من الدورات تأتي مع مختبرات تفاعلية أو دفاتر Jupyter يمكن تشغيلها مباشرة من المتصفح، فالتطبيق العملي موجود حتى بدون إعداد بيئة تطوير محلية معقدة. كذلك ستجد منتديات النقاش داخل كل مقرر، وهي مفيدة لطرح الأسئلة ومشاركة حلول وملاحظات مع طلاب آخرين.
إذا رغبت في الشهادة أو التقييم المصحح والمهام التي تُصَحَّح يدوياً، فستحتاج عادة للدفع أو للتقديم على المساعدة المالية (Financial Aid) التي تقدمها كورسيرا لبعض الدورات، وهي عملية تحتاج ملء استمارة بسيطة وتنتظر الموافقة. هناك أيضاً شهادات مهنية ومسارات متخصصة تحتوي على مشاريع ختامية وأدلة أكبر لكن غالباً ما تكون مدفوعة أو تتطلب اشتراكاً. نصيحتي العملية: ابدأ بـ'التدقيق' لتتعلم المفاهيم الأساسية، جرّب مشاريع صغيرة تحفظها في حساب GitHub حتى لو بدون شهادة، وإذا أردت إثباتاً رسمياً فاطلب المساعدة المالية أو فكّر في دفع مقابل الشهادة للدورات التي ستضيف كثيراً لمحفظتك المهنية. في النهاية، كورسيرا تمنحك موارد منظمة بتنسيق احترافي يجعل رحلة التعلم أقل تشويشاً، والقرار أن تبدأ بالممارسة اليومية هو الأهم.
الشيء الذي أبحث عنه أولًا في أي كورس هو وضوح الخريطة التعليمية: إذا فتحت صفحة الكورس ورأيت قائمة وحدات منظمة بعناوين واضحة ومشاريع تطبيقية فأميل إليه فورًا. أحب أن أبدأ بقراءة وصف كل قسم، ثم أضغط على عينات الفيديو لأحكم على أسلوب الشرح؛ صوت واضح، إيقاع مناسب، ومثال عملي يظهر منذ البداية يخبرني أن المحتوى سيُدرّس بطريقة مفهومة.
أنتبه بعد ذلك إلى عدة عناصر عملية: عدد الطلاب والتقييم العام مهمان لكن ليّ نظرة خاصة إلى التعليقات المحددة — أبحث عن آراء تقول إن الكورس يُغطي أساسيات مهمة ثم يأخذك لتطبيقات حقيقية، أو شكاوى متكررة عن محاضرات قديمة أو ارتباطات مكسورة. كما أتحقق من تاريخ التحديث؛ كورس مُحدَّث خلال السنة الأخيرة أكثر قيمة لمن يريد تعلم تقنيات حديثة. وجود موارد تحميلية، تمارين عملية، ومشاريع نهائية يُعد مؤشرًا قويًا على أنني سأغادر الكورس بشيء يضاف لسيرتي الذاتية.
أجرب أيضًا أسلوب التقييم الذاتي: أختبر مقدم الكورس عبر قسم الأسئلة — أكتب سؤالًا بسيطًا لأرى سرعة وجودة الرد، لأن دعم المدرّس أو المجتمع داخل الكورس مهم جدًا عند التعثر. أحب أن أتحقق من طول الكورس مقابل المحتوى الفعلي؛ ساعات الفيديو قد تكون مزيفة إن كانت محاضرات قصيرة مكررة. إن كنت أبحث عن مسار معين أفضّل الكورسات التي تتضمن مشروعًا عمليًا منشورًا على GitHub أو ملف تمرين يمكنني عرضه لاحقًا. أخيرًا، أضع في الاعتبار سياسة الاسترداد: إن شعرت أن الكورس لا يناسبني أريد أن أستعيد نقودي بسهولة.
كخلاصة شخصية، أتابع توازنًا بين سمعة المدرّس، جودة المحتوى العملي، وتفاعل المجتمع داخل الكورس. أحيانًا أختار كورسًا أقل تقييمًا لكنه يحتوي على مشروع عملي أقوى من كورس تقييمه أعلى، لأنني أعلم أن التطبيق يصنع الفارق الحقيقي عند تعلم البرمجة. هذا المنهج قلّما يخيب ظني، وله تأثير واضح على تقدّمي المهني.
بينما أتفحص الدالة في مشروع صغير لاحظت أمورًا تستحق الانتباه قبل القول إنها 'تدعم حساب السنوات والشهور بدقة'.
أول شيء أبحث عنه هو تعريف الدقة هنا: هل نريد فرقًا مثل "سنتان و3 أشهر و12 يومًا" أم نريد عدد الأشهر الكلي مع باقي الأيام؟ هذان مفهومان مختلفان تمامًا. الدوال البسيطة التي تحسب الفرق بالاعتماد على متوسط طول الشهر (مثلاً 30.44 يومًا) تعطي نتائج تقريبية ومضللة في سياقات تقويمية حساسة، لأن الشهور لها أطوال مختلفة والسنة كبيسة تضيف يومًا.
ميزة الاختبارات الحقيقية تكشف الكثير: جرّب حالات مثل 2019-01-31 إلى 2019-02-28، أو 2016-02-29 إلى 2017-02-28، أو انتقال عبر السنة الميلادية وبين توقيتات مختلفة إن كان الزمن متضمنًا. الدالة 'الدقيقة' عادة تتعامل مع الحقول التقويمية (سنة، شهر، يوم) وتُعدل الفرق حسب اليوم من الشهر وليس بناءً على الأيام المطلقة. إن كنت تصنع أو تراجع دالة، ركّز على هذه النقاط وتمتّع بالتجربة؛ النتائج تكون دائمًا أكثر وضوحًا عندما أرى أمثلة حقيقية على حالات الحد.