بتذكرها زي كأنها مبارح. قاعد في مقابلة شغل لوظيفة “مطور برمجيات” في شركة كبيرة. كنت وقتها شب لسا متخرج جديد، مليان حماس ونظريات، وسيرتي الذاتية مرتبة ومزينة بكل الكلمات الرنانة اللي تعلمتها: Python, Java, Machine Learning, Algorithms… كنت مفكر حالي “عكيد” المبرمجين.
الزلمة اللي بقابل فيي، مدير تقني كبير بالعمر وشايف كل إشي، مسك سيرتي الذاتية الورقية، قلبها بين إيديه، نظر إلي نظرة فاحصة من فوق لتحت، وقال بهدوء قاتل: “كلام جميل يا أبو عمر… بس هاد كله حبر على ورق. كيف بدي أعرف إنك فعلًا بتعرف تشتغل مش بس بتعرف تكتب؟ ورجيني كود إلك.”
في هذيك اللحظة، حسيت الأرض بتدور فيي. شو أورجيه؟ مشاريع الجامعة اللي عملتها أنا وأصحابي الساعة 2 بالليل قبل التسليم؟ أكواد مخربشة على جهازي الشخصي ما حدا غيري بفهمها؟ شعرت إنه كل “مهاراتي” المكتوبة على الورق تبخرت وصارت بلا قيمة. كانت هذيك المقابلة صفعة قوية صحّتني على حقيقة مرة: في عالم البرمجة، سيرتك الذاتية ليست ما تكتبه، بل ما تبنيه.
الفصل الأول: الحبر على الورق وجدار الشك
خرجت من تلك المقابلة وأنا أجر أذيال الخيبة. لم تكن المشكلة في عدم حصولي على الوظيفة، بل في شعوري بالعجز. كيف يمكن لمبرمج أن يثبت مهاراته بشكل ملموس قبل أن يحصل على فرصة للعمل؟ كلنا نبدأ بسيرة ذاتية “ورقية”. ندرج فيها التقنيات التي درسناها، والدورات التي حضرناها، والمشاريع الصغيرة التي قمنا بها. لكن، كما قال ذلك المدير، يبقى هذا “حبرًا على ورق”.
أي شخص يمكنه أن يكتب “خبير في JavaScript” في سيرته الذاتية. ولكن كيف تثبت ذلك؟ هنا يكمن التحدي الذي يواجه كل مبتدئ، بل وحتى بعض المحترفين. أنت تدعي امتلاك مهارة، والطرف الآخر يطلب دليلًا. هذه الفجوة بين الادعاء والدليل هي ما أسميه “جدار الشك”.
الفصل الثاني: الاكتشاف – ما هو عالم المصدر المفتوح (Open Source)؟
بعد هذيك الصدمة، بدأت رحلة بحثي عن “الدليل”. كيف أبني شيئًا يراه العالم ويشهد لي؟ هنا سمعت لأول مرة بشكل جدي عن مصطلح “المساهمة في المشاريع المفتوحة المصدر”. كنت أعرف طبعًا ما هي البرامج المفتوحة المصدر، فأنا أستخدم نظام Linux ومتصفح Firefox ومكتبات لا حصر لها كل يوم. لكنني كنت دائمًا “مستهلكًا” لهذه التقنيات، ولم أفكر يومًا أن أكون “مساهمًا” فيها.
ما معنى “مفتوح المصدر” يا أبو عمر؟
ببساطة يا جماعة، تخيلوا إنه في طباخ شاطر عمل وصفة أكل “بتشهي”. بدل ما يخبي الوصفة في خزنة، قرر ينشرها للكل. أي حدا بيقدر يقرأ الوصفة (الكود المصدري)، ويجربها، وحتى يقترح عليها تعديلات (“ممكن نضيف شوية فلفل أسود؟”) أو يصلح فيها خطأ (“كمية الملح المكتوبة زيادة شوي!”).
المشاريع المفتوحة المصدر هي تمامًا هكذا. هي برمجيات الكود الخاص بها متاح للجميع ليقرأه، يعدّله، ويستخدمه. وهذا المجتمع الكبير من المطورين حول العالم هو من يقوم بصيانتها وتطويرها بشكل تطوعي وتعاوني.
ليش مهم للمبرمجين؟
أهمية المصدر المفتوح لا تكمن فقط في الحصول على برامج مجانية. بالنسبة لنا كمطورين، هي فرصة لا تقدر بثمن:
- التعلم من الأفضل: يمكنك قراءة كود كتبه أفضل المبرمجين في العالم في شركات مثل Google وMicrosoft وFacebook. هذه وحدها مدرسة مجانية.
- بناء الخبرة العملية: بدلًا من المشاريع النظرية، أنت تعمل على كود حقيقي يستخدمه آلاف أو حتى ملايين الأشخاص.
- إثبات المهارات: هذه هي النقطة الجوهرية. كل مساهمة لك، مهما كانت صغيرة، يتم توثيقها في ملفك الشخصي على منصات مثل GitHub.
الفصل الثالث: من مستهلك إلى مساهم – رحلتي الأولى
القرار كان سهلاً، لكن البداية كانت صعبة ومليئة بالخوف. “أنا؟ أساهم في مشروع كبير؟ شو هالحكي! أكيد رح أخبص الدنيا”. هذا كان صوت الخوف والتردد في رأسي. ولكن قررت أن أبدأ بخطوات صغيرة جدًا.
الخطوة الأولى: الخوف والبحث عن “فريسة” سهلة
أول شيء فعلته هو أنني لم أبحث عن مشروع ضخم ومعقد. بحثت عن مكتبة صغيرة أستخدمها وأحبها. الهدف لم يكن تغيير العالم، بل فهم العملية. منصة GitHub تسهل هذه المهمة كثيرًا. معظم المشاريع الكبيرة تضع وسومًا (Labels) على المشاكل (Issues) المفتوحة لديها لتشجيع المبتدئين.
نصيحة أبو عمر: على GitHub، ابحث عن وسوم مثل
good first issue,help wanted,beginner-friendly, أوdocumentation. هذه هي بوابتك الذهبية للدخول إلى عالم المساهمات.
مساهمتي الأولى: تصحيح خطأ إملائي!
نعم، لا تضحكوا. أول مساهمة حقيقية لي في مشروع مفتوح المصدر كانت عبارة عن تصحيح خطأ إملائي (Typo) في ملف التوثيق (Documentation). وجدت كلمة مكتوبة بشكل خاطئ في ملف `README.md` لمكتبة كنت أستخدمها. شعرت بالخجل في البداية، “هل هذه تعتبر مساهمة؟”. لكنني قلت لنفسي، “المهم أتعلم الدورة كاملة”.
وهذا ما تعلمته من تلك المساهمة “البسيطة”:
- Fork: كيف أنسخ المشروع إلى حسابي الخاص.
- Clone: كيف أنزل نسخة من المشروع على جهازي المحلي.
- Branch: كيف أنشئ فرعًا جديدًا للتعديل عليه (وهي عادة مهمة جدًا).
- Commit: كيف أحفظ التغييرات مع رسالة واضحة.
- Push: كيف أرفع التغييرات إلى نسختي على GitHub.
- Pull Request (PR): كيف أقدم طلبًا لدمج تعديلاتي في المشروع الأصلي.
بعد يومين، تم قبول طلبي ودمج تعديلي. شعوري وقتها لا يوصف. اسمي أصبح جزءًا من تاريخ هذا المشروع! صحيح أنها كانت مجرد كلمة، لكنها كسرت حاجز الخوف وفتحت شهيتي للمزيد.
كيف تكتب طلب سحب (Pull Request) محترم
عندما تقدم طلب سحب، أنت لا تقدم كودًا فقط، بل تتواصل مع إنسان في الطرف الآخر (صاحب المشروع). لذلك، من المهم أن يكون طلبك واضحًا ومحترمًا. إليك مثال بسيط على قالب يمكنك استخدامه:
**ماذا يحل هذا الـ PR؟**
Closes #1234
يُصلح هذا الطلب خطأ إملائيًا في ملف `README.md` ضمن قسم التثبيت، حيث كانت كلمة "Installation" مكتوبة "Instalation".
**كيف تم اختباره؟**
تمت المراجعة البصرية للملف بعد التعديل. لا توجد حاجة لاختبارات آلية لهذا التغيير البسيط في التوثيق.
**معلومات إضافية**
هذه مساهمتي الأولى في المشروع، ومتحمس لأكون جزءًا من المجتمع! شكرًا لكم على مجهودكم الرائع.
لاحظ كيف أن الطلب يوضح المشكلة، الحل، وكيف تم اختباره، بالإضافة إلى لمسة إنسانية لطيفة في النهاية. هذا يترك انطباعًا احترافيًا ممتازًا.
الفصل الرابع: السيرة الذاتية الجديدة – ملف GitHub الخاص بك
مع مرور الوقت، ومع كل مساهمة جديدة، بدأ ملفي الشخصي على GitHub يتحول من صفحة فارغة إلى معرض حي لأعمالي. لم يعد مجرد مستودع لمشاريعي الخاصة، بل أصبح سجلاً موثقًا لرحلتي كمطور.
الـ “Heatmap” الخضراء: قصة التزامك اليومي
تلك المربعات الخضراء الصغيرة في صفحة بروفايلك على GitHub تحكي قصة لا تستطيع أي سيرة ذاتية أن ترويها. إنها قصة التزامك، مثابرتك، وشغفك. عندما يرى مدير التوظيف صفحة مليئة بالنشاط، يفهم فورًا أنك شخص جاد، منضبط، ويمارس البرمجة بشكل يومي، وليس فقط عندما يُطلب منه ذلك.
المساهمات كدليل قاطع
تخيل معي هذا السيناريو: في مقابلة عمل، يسألك المدير: “هل لديك خبرة في التعامل مع الـ APIs؟”.
- الإجابة التقليدية: “نعم، لدي خبرة جيدة.” (حبر على ورق)
- إجابة المساهم في المصدر المفتوح: “نعم بالتأكيد. في الواقع، قبل شهرين ساهمت في مكتبة X الشهيرة بإضافة endpoint جديد للـ API الخاص بها، وقمت بكتابة الاختبارات اللازمة له. يمكنك الاطلاع على الـ Pull Request الخاص بي على GitHub، لقد كان نقاشًا تقنيًا ممتعًا مع المشرفين على المشروع.”
هل تشعر بالفرق؟ الإجابة الثانية ليست مجرد ادعاء، بل هي دليل موثق ومدعوم بالبرهان. لقد انتقلت من خانة “المدعي” إلى خانة “الخبير”.
بناء شبكة علاقات (Networking) بدون كلام
من خلال مساهماتك، يبدأ اسمك بالظهور. تتعامل مع مشرفي المشاريع (Maintainers)، تتناقش مع مساهمين آخرين، وتصبح جزءًا من مجتمع. هؤلاء الأشخاص قد يكونون موظفين في شركات تحلم بالعمل بها. أنت تبني سمعتك وهويتك التقنية من خلال جودة عملك وكودك، وهي أقوى طريقة لبناء شبكة علاقات في مجالنا.
خلاصة أبو عمر ونصيحة من القلب ❤️
اليوم، عندما أتقدم لأي فرصة أو أقدم استشارة، نادرًا ما أرسل سيرة ذاتية تقليدية. أرسل رابط ملفي على GitHub. أصبح هو سيرتي الذاتية، معرض أعمالي، ودليلي القاطع على مهاراتي. لقد حولني من شخص يدافع عن مهاراته بالكلمات إلى شخص يثبتها بالكود.
إذا كنت تشعر بنفس الإحباط الذي شعرت به في بداية مسيرتي، وأن سيرتك الذاتية مجرد ورقة لا تعكس قدراتك الحقيقية، فالحل بين يديك.
نصيحتي لك: لا تنتظر الوظيفة المثالية لتبدأ ببناء خبرتك. العالم المفتوح المصدر هو أكبر شركة برمجيات في العالم، وهي توظف دائمًا! ابدأ اليوم، اختر مشروعًا صغيرًا، أصلح خطأ إملائيًا، قم بتحديث التوثيق، أو أضف تعليقًا على كود غامض. كل خطوة، مهما كانت صغيرة، هي لبنة في بناء هويتك التقنية الحقيقية.
يلا يا جماعة، الكود بستنّاكوا. ابدأ اليوم، ولو بتعديل فاصلة. المهم تبدأ. 🚀