ملفي الشخصي على GitHub كان صامتاً: كيف حولتني المساهمات في المشاريع المفتوحة المصدر من مبرمج مجهول إلى مرشح مطلوب؟

مقدمة: قهوة الصباح ورسالة الرفض التي غيرت كل شيء

أذكر ذلك الصباح جيداً، كنت أجلس على شرفة بيتي في فلسطين، أحتسي فنجان قهوتي الصباحي وأتصفح بريدي الإلكتروني. كنت متفائلاً، فقد قدمت على وظيفة “مطور برمجيات أول” في شركة تقنية كنت أحلم بالعمل لديها. فتحت البريد، وإذ بي أرى رسالة منهم. قلبي بدأ يخفق بسرعة… ولكن سرعان ما تحولت الحماسة إلى خيبة أمل. كانت رسالة رفض مهذبة.

لم تكن هذه المرة الأولى، ولكن هذه المرة كان هناك شيء مختلف. في نهاية الرسالة، أضاف مسؤول التوظيف ملاحظة شخصية: “أبو عمر، مهاراتك التقنية واضحة من سيرتك الذاتية، ولكن ملفك الشخصي على GitHub لا يعكس حجم خبرتك. يبدو صامتاً”.

هذه الجملة، يا جماعة، كانت كصفعة على وجهي. “صامتاً”. كلمة قاسية لوصف سنوات من العمل والخبرة. نظرت إلى ملفي على GitHub، ورأيت ما يراه الجميع: مجموعة من المشاريع الشخصية غير المكتملة، بعضها لم يتم تحديثه منذ سنوات. كان بالفعل “مقبرة للكود”. في تلك اللحظة، قررت أن هذا الصمت يجب أن ينتهي.

لماذا كان ملفي على GitHub “مقبرة للكود”؟

قبل أن أخبركم كيف تغير كل شيء، دعونا نتحدث بصراحة عن الأسباب التي تجعل ملفاتنا على GitHub تبدو مهجورة. لقد مررت بكل هذا، وأراهن أن الكثير منكم يمر به أيضاً.

الخوف من النقد ومتلازمة المحتال

كنت أخشى أن يرى الآخرون الكود الذي أكتبه ويقولوا: “ما هذا؟ هل هذا أفضل ما لديك؟”. هذا الخوف، الممزوج بـ “متلازمة المحتال” (Imposter Syndrome)، جعلني أشعر أن الكود الذي أكتبه ليس جيداً بما يكفي ليراه العالم. كنت أفضل أن يبقى في الظلام على أن يتعرض للنقد.

المشاريع الشخصية غير المكتملة

كلنا لدينا هذا المجلد المليء بالمشاريع التي بدأناها بحماس شديد ثم تركناها بعد أسبوع. ملفي على GitHub كان معرضاً لهذه المشاريع. تبدو فكرة جيدة في البداية، ولكنها ترسل رسالة خاطئة للموظِّفين: “هذا الشخص لا يكمل ما يبدأه”.

عدم فهم القيمة الحقيقية لـ GitHub

لفترة طويلة، كنت أرى GitHub كمجرد خدمة سحابية لحفظ الكود. لم أدرك أنه سيرتي الذاتية الحية، هويتي التقنية التي تتحدث عني حتى قبل أن أتحدث أنا. إنه ليس مجرد مستودع، بل هو قصة مسيرتك المهنية مكتوبة بالكود.

نقطة التحول: أول مساهمة لي في مشروع مفتوح المصدر

بعد رسالة الرفض تلك، قررت أن أغير استراتيجيتي. بدلاً من محاولة بناء مشروع ضخم من الصفر لإثارة إعجاب الناس، قررت أن أساهم في شيء موجود بالفعل. شيء يستخدمه الناس، شيء له قيمة.

البحث عن المشروع المناسب

كنت أستخدم مكتبة صغيرة في JavaScript لتصوير البيانات (Data Visualization) في أحد مشاريعي. لاحظت وجود خطأ بسيط جداً في محاذاة العناوين عند استخدام اللغة العربية. كان شيئاً صغيراً، ولكنه كان يزعجني. فكرت في نفسي: “ليش ما أصلحها أنا؟”.

وهنا أول نصيحة عملية لكم: ابدأوا بالأدوات التي تستخدمونها وتحبونها بالفعل. عندما تكون شغوفاً بأداة ما، ستكون متحمساً لجعلها أفضل.

الخطوات الأولى: من الـ Fork إلى الـ Pull Request

كانت العملية مرعبة في البداية، ولكني اتبعت الخطوات ببساطة. هذه هي نفس الخطوات التي يمكن لأي شخص منكم اتباعها اليوم:

  1. Fork the Repository: قمت بعمل “نسخة” من المشروع إلى حسابي الخاص على GitHub بضغطة زر.
  2. Clone Locally: قمت بتحميل نسختي من المشروع إلى جهازي المحلي.
  3. Create a New Branch: أنشأت فرعاً جديداً للعمل على التعديل. هذا أمر مهم جداً للحفاظ على نظافة العمل.
    # أنشئ فرعاً جديداً وقم بالانتقال إليه
    git checkout -b fix-arabic-alignment-issue
  4. Make the Changes: قمت بتعديل بضعة أسطر في ملف CSS لإصلاح مشكلة المحاذاة.
  5. Commit and Push: قمت بحفظ التغييرات مع رسالة واضحة تشرح ما قمت به، ثم رفعتها إلى نسختي على GitHub.
    # أضف الملفات التي تم تعديلها
    git add .
    
    # احفظ التغييرات مع رسالة واضحة
    git commit -m "Fix: Correct text alignment for RTL languages in chart titles"
    
    # ارفع الفرع الجديد إلى GitHub
    git push origin fix-arabic-alignment-issue
  6. Open a Pull Request (PR): هذه هي اللحظة الحاسمة. ذهبت إلى صفحة المشروع الأصلي على GitHub وقدمت “طلب سحب” (Pull Request)، طالباً منهم دمج التغييرات التي قمت بها في مشروعهم.

“ما بعد الـ PR”: المراجعة والدمج

انتظرت بترقب. بعد يومين، جاء الرد من أحد المشرفين على المشروع. لم يقم بالدمج مباشرة، بل ترك بعض الملاحظات المهذبة لتحسين الكود. شعرت ببعض الإحباط في البداية، ولكني أدركت أنه كان يعلمني أفضل الممارسات. قمت بالتعديلات المطلوبة، وبعد بضع رسائل، رأيت تلك الكلمة السحرية: “Merged”.

يا جماعة، شعور رؤية مساهمتك، مهما كانت صغيرة، وهي تصبح جزءاً من مشروع يستخدمه الآلاف حول العالم… شعور لا يوصف! شعرت بأنني لم أعد مجرد مستهلك للكود، بل أصبحت صانعاً له.

كيف تحول ملفي من صامت إلى ناطق؟

تلك المساهمة الصغيرة فتحت شهيتي. بدأت أبحث عن أخطاء أخرى، ثم انتقلت من إصلاح الأخطاء إلى تحسين التوثيق، ثم إلى إضافة ميزات صغيرة. ومع كل مساهمة، كان ملفي الشخصي على GitHub يتحول:

  • المربعات الخضراء (Contribution Graph): تلك الساحة الفارغة في ملفي بدأت تمتلئ بالمربعات الخضراء. لم تعد مجرد مربعات، بل أصبحت دليلاً بصرياً على التزامي وشغفي اليومي بالبرمجة.
  • تنوع المشاريع: بدلاً من مشاريعي الشخصية المهجورة، أصبح ملفي يعرض مساهمات في مشاريع حقيقية ومستخدمة، من مكتبات JavaScript إلى أدوات الذكاء الاصطناعي بلغة Python.
  • التعلم المستمر: من خلال مراجعات الكود (Code Reviews)، تعلمت تقنيات وأساليب لم أكن لأتعلمها في أي دورة تدريبية. تعلمت كيفية كتابة كود نظيف، وكيفية كتابة الاختبارات، وأهمية التوثيق الجيد.
  • بناء شبكة علاقات: أصبحت معروفاً لدى المشرفين على تلك المشاريع. لم أعد مجرد اسم، بل “أبو عمر الذي ساعدنا في حل تلك المشكلة”.

بعد حوالي ستة أشهر من المساهمات المنتظمة، حدث شيء لم أكن أتوقعه. بدأت رسائل البريد الإلكتروني تأتي، ولكن هذه المرة لم تكن رسائل رفض. كانت من مسؤولين توظيف ومدراء تقنيين يقولون: “مرحباً أبو عمر، رأينا مساهماتك في مشروع X، ونحن معجبون جداً بعملك. هل أنت مهتم بالحديث عن فرصة عمل لدينا؟”.

نصائح عملية مني لكم للبدء في المساهمة

الآن، قد تقول في نفسك: “كلام جميل يا أبو عمر، بس أنا من وين أبدأ؟”. لا تقلق، الطريق أسهل مما تتخيل. إليك خارطة طريق عملية:

1. ابدأ صغيراً جداً جداً

لا تحاول إعادة بناء نظام تشغيل Linux في أول مساهمة لك. ابدأ بإصلاح خطأ إملائي في ملف التوثيق (Documentation). نعم، هذه مساهمة قيمة جداً ومرحب بها. ابحث في المشاريع عن وسوم مثل good first issue أو help wanted. هذه هي دعوة المطورين لك للمساعدة.

2. كيف تجد أول مساهمة لك؟

اذهب إلى صفحة البحث في GitHub واستخدم فلاتر البحث. على سبيل المثال، إذا كنت مهتماً بلغة JavaScript، يمكنك البحث عن:
is:issue is:open label:"good first issue" language:javascript
هذا البحث سيعرض لك كل المشاكل المفتوحة والمناسبة للمبتدئين في مشاريع JavaScript.

3. اقرأ وثائق المساهمة (CONTRIBUTING.md)

قبل كتابة أي سطر كود، ابحث عن ملف اسمه CONTRIBUTING.md في المشروع. هذا الملف هو الدليل الذي يخبرك بقواعد المساهمة في هذا المشروع تحديداً. احترامه يظهر احترافيتك.

4. لا تخف من طرح الأسئلة

إذا لم تفهم شيئاً، اسأل. لكن اسأل بذكاء. اشرح المشكلة، وما الذي حاولت فعله لحلها، وأين توقفت. هذا يظهر أنك بذلت مجهوداً قبل طلب المساعدة.

الخلاصة: من مستهلك للكود إلى صانع له 🌱

رحلتي حولتني من مبرمج “مجهول” يرسل سيرته الذاتية إلى ثقب أسود، إلى مطور له هوية تقنية واضحة، يتلقى عروض العمل بناءً على عمله الفعلي. المساهمة في المشاريع مفتوحة المصدر ليست مجرد وسيلة للحصول على وظيفة، إنها رحلة لتطوير الذات، لبناء الثقة، ولتصبح جزءاً من مجتمع عالمي يهدف إلى بناء أدوات أفضل للجميع.

ملفك الشخصي على GitHub هو قصتك. لا تجعلها قصة صامتة. اجعلها ملحمة من التعلم والمثابرة والمساهمة.

يلا يا جماعة، شدوا حيلكم، العالم المفتوح بستناكم. وكل الاحترام! 🚀

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

التوسع والأداء العالي والأحمال

خادمي الوحيد كان على وشك الانهيار: كيف أنقذني ‘موازن الأحمال’ من جحيم نقطة الفشل الواحدة؟

أشارككم قصة حقيقية من بداياتي، حين كاد تطبيقي الصغير أن ينهار تحت وطأة النجاح المفاجئ. سأروي لكم كيف تحولت من مطور يرتجف خوفاً على خادمه...

28 مارس، 2026 قراءة المزيد
التكنلوجيا المالية Fintech

تطبيقي المالي كان يغرق: كيف أنقذتني أتمتة “اعرف عميلك” (KYC) و”مكافحة غسيل الأموال” (AML) من الكوابيس التنظيمية؟

أتذكر الليالي الطويلة وأكوام الأوراق التي كادت أن تدفن تطبيقي المالي الوليد. في هذه المقالة، أشارككم قصتي، يا جماعة، وكيف كان التحول إلى أتمتة إجراءات...

28 مارس، 2026 قراءة المزيد
اختبارات الاداء والجودة

تطبيقي كان يعمل كالساعة… حتى أتى ‘الجمعة السوداء’: كيف أنقذني ‘اختبار الحِمل’ (Load Testing) من انهيار مفاجئ؟

أنا أبو عمر، مبرمج فلسطيني، وهذه قصتي مع يوم كاد أن يدمر سمعة تطبيقي بالكامل. سأشارككم كيف تحول تطبيقي الذي كان "شغال زي الساعة" إلى...

28 مارس، 2026 قراءة المزيد
أدوات وانتاجية

شفراتي كانت تتلاشى في فوضى الملاحظات: كيف أنقذني ‘مدير مقتطفات الكود’ من إعادة اختراع العجلة؟

أشارككم قصتي مع فوضى الأكواد المتناثرة وكيف تحولت من مبرمج يضيع وقته في البحث وإعادة الكتابة إلى مطور منظم ومنتج. اكتشفوا معي أداة "مدير مقتطفات...

28 مارس، 2026 قراءة المزيد
​معمارية البرمجيات

خدماتي كانت متشابكة كخيوط العنكبوت: كيف أنقذتني ‘المعمارية القائمة على الأحداث’ من جحيم الاقتران المحكم؟

أشارككم يا جماعة قصة من الميدان، كيف حولت نظامًا برمجيًا معقدًا ومترابطًا إلى تحفة فنية مرنة وقابلة للتوسع باستخدام المعمارية القائمة على الأحداث (Event-Driven Architecture)....

28 مارس، 2026 قراءة المزيد
البودكاست