بتذكرها زي كأني عايشها اليوم. قبل كم سنة، كنت في بداية مسيرتي المهنية، متحمس وكلّي طاقة. وصلت لمرحلة متقدمة في مقابلة لوظيفة “مهندس برمجيات” في شركة كبيرة كنت أحلم فيها. المقابلات التقنية مشت تمام، وشعرت بثقة كبيرة. بعدها، وصلني إيميل من مدير التوظيف: “أبو عمر، الفريق كان معجب فيك جدًا. كخطوة أخيرة، بدنا نطلب منك تعمل مشروع تجريبي صغير…”
كلمة “صغير” هاي كانت فخ كبير. المشروع كان بناء واجهة أمامية (Frontend) لتطبيق تجارة إلكترونية مصغر مع ربطه بواجهة برمجية (API) خاصة فيهم. قضيت عليه كل إجازة نهاية الأسبوع، حوالي 20-25 ساعة شغل صافي. سلّمته وأنا فخور بالنتيجة، شغل مرتب على الآخر. انتظرت يوم، يومين، أسبوع… ما في رد. بعثت إيميل متابعة لطيف، وصلني رد آلي بعد يومين: “شكرًا لاهتمامك، لقد قررنا المضي قدمًا مع مرشح آخر”.
شعور الإحباط والغضب كان لا يوصف. مش بس عشان ما أخذت الوظيفة، لكن عشان كل هالوقت والجهد راحوا في الهوا. كود كتبته بحماس، صار مجرد ملفات ميتة على جهازي. وقتها قررت، لازم ألاقي طريقة أكسر فيها هاي الدائرة الجهنمية، طريقة أثبت فيها قيمتي بدون ما أكون “فأر تجارب” مجاني لكل شركة. هون بدأت رحلتي مع ما أسميه اليوم: “ملف الإثبات”.
لماذا السيرة الذاتية وحدها سجن لمهاراتك؟
يا جماعة، خلينا نكون صريحين. السيرة الذاتية (CV) في عالمنا التقني اليوم صارت أشبه ببطاقة تعريف قديمة. هي تخبر الناس ماذا تدعي أنك تعرف، لكنها لا تثبت أي شيء. أي شخص بيقدر يكتب “خبير في Python” أو “محترف في التعامل مع أنظمة Kubernetes”. هذه مجرد كلمات على ورق (أو شاشة).
لهذا السبب تلجأ الشركات للمشاريع التجريبية (Test Projects). هم بحاجة لدليل، لإثبات. المشكلة أن هذه العملية صارت تُستغل، وصار وقت المبرمج بلا قيمة. السيرة الذاتية سجنت مهاراتنا في قائمة من النقاط، والمشاريع التجريبية استنزفت وقتنا بلا مقابل. إذن، ما هو الحل؟ الحل هو أن تأتي بالإثبات معك منذ البداية.
الهروب الكبير: بناء “ملف الإثبات” (Portfolio of Proof)
ملف الإثبات ليس مجرد معرض أعمال أو قائمة مشاريع على GitHub. إنه أعمق من ذلك بكثير. هو عبارة عن مجموعة منظمة من الأدلة الملموسة التي لا تثبت فقط أنك تستطيع كتابة الكود، بل تثبت كيف تفكر، وكيف تحل المشاكل، وكيف تقدم قيمة حقيقية. إنه يحولك من “مدّعي” إلى “خبير مُثبَت”.
الخطوة الأولى: اختر مشاريع تحكي قصة، وليس فقط “Hello World”
أكبر خطأ أراه هو أن المبرمجين يملؤون ملفاتهم بمشاريع نسخ/لصق من الدورات التعليمية. تطبيق “To-Do List” أو “Weather App” جيد للتعلم، لكنه لا يثبت شيئًا لمدير التوظيف. بدلاً من ذلك:
- حل مشكلة حقيقية: حتى لو كانت مشكلتك أنت. هل سئمت من تتبع مصاريفك على ملف إكسل؟ ابني تطبيق ويب بسيط لنفسك. هل والدتك تجد صعوبة في العثور على وصفات طبخ معينة؟ ابني لها موقعًا بسيطًا. المشاكل الحقيقية تؤدي إلى حلول حقيقية ومثيرة للاهتمام.
- أضف لمستك الخاصة: إذا كان لا بد من بناء تطبيق To-Do List، فاجعله مميزًا. أضف ميزة مشاركة المهام مع الأصدقاء، أو نظام إشعارات ذكي، أو تحليلات لإنتاجيتك. أظهر أنك قادر على التفكير خارج الصندوق.
الخطوة الثانية: وثّق رحلتك – “احكيلي القصة”
هنا يكمن السر الحقيقي. الكود وحده لا يكفي. مدير التوظيف أو القائد التقني ليس لديه الوقت الكافي لقراءة آلاف الأسطر من الكود. ما يريده هو فهم طريقة تفكيرك. لكل مشروع في ملف إثباتك، يجب أن تكتب “دراسة حالة” (Case Study) بسيطة، حتى لو كانت مجرد ملف README.md مفصل جدًا على GitHub.
“الكود يريك ‘كيف’، لكن القصة تشرح ‘لماذا’. والـ ‘لماذا’ هي الأهم دائمًا.”
يجب أن تجيب دراسة الحالة على هذه الأسئلة:
- المشكلة (The Why): ما هي المشكلة التي كنت تحاول حلها؟ لماذا هذا المشروع موجود أصلاً؟
- الخطة والتقنيات (The How): لماذا اخترت React بدلاً من Vue؟ لماذا استخدمت قاعدة بيانات NoSQL بدلاً من SQL؟ اشرح قراراتك التقنية. هذا يثبت أنك لا تختار التقنيات بشكل عشوائي.
- التحديات (The Struggle): واجهتني مشكلة في أداء الاستعلامات من قاعدة البيانات، فقمت بعمل Caching للبيانات المتكررة باستخدام Redis. واجهت صعوبة في جعل التصميم متجاوبًا على الشاشات الصغيرة، فتعلمت واستخدمت تقنية Flexbox. الحديث عن التحديات وكيف تغلبت عليها يثبت قدرتك على حل المشاكل.
- النتيجة (The Result): ضع رابطًا حيًا للمشروع، صورًا للشاشات، أو حتى فيديو قصير يوضح كيفية عمله. اجعل النتيجة ملموسة.
الخطوة الثالثة: الكود كدليل – “ورجيني شغلك”
بعد أن حكيت القصة، حان وقت تقديم الدليل القاطع: الكود. يجب أن يكون مستودع GitHub الخاص بك نظيفًا واحترافيًا. إليك بعض النصائح العملية:
- نظافة الكود: استخدم أسماء متغيرات ودوال واضحة. اتبع مبادئ مثل DRY (Don’t Repeat Yourself) و SOLID.
- التعليقات الذكية: لا تكتب تعليقات تشرح ما يفعله الكود (
// this function adds two numbers)، بل اشرح “لماذا” كتبته بهذه الطريقة. - تاريخ الـ Commits: تاريخ commits نظيف ومنظم (مثل: “feat: Add user authentication” أو “fix: Correct login bug”) يظهر أنك تعمل بطريقة منهجية.
للتوضيح، بدلًا من كتابة كود غامض، يمكنك إظهار قطعة كود نظيفة وموثقة جيدًا، مثل هذه الدالة البسيطة في بايثون مع تعليق يشرح السياق:
# We use a cache decorator to avoid repeatedly fetching user data from the database
# during a single request, which significantly improves API response time for
# requests involving multiple checks on the same user.
@cache
def get_user_profile(user_id: int) -> dict:
"""
Fetches a user's profile from the database.
Results are cached to improve performance.
"""
db = get_database_connection()
user_data = db.query("SELECT * FROM users WHERE id = ?", (user_id,))
if not user_data:
raise UserNotFoundError(f"User with id {user_id} not found.")
return user_data
هذا المقتطف البسيط يثبت أنك تفكر في الأداء (caching)، وتتعامل مع الأخطاء (exception handling)، وتكتب كودًا قابلًا للقراءة.
كيف تستخدم ملف إثباتك للهروب من فخ المشاريع التجريبية؟
الآن، نعود إلى سيناريو بداية المقال. تتلقى إيميلًا يطلب منك عمل مشروع تجريبي. بدلًا من الرفض أو القبول على مضض، أنت الآن تملك خيارًا ثالثًا قويًا:
الرد السحري:
“شكرًا جزيلاً لكم على هذه الفرصة، أنا متحمس جدًا للمنصب. أتفهم تمامًا حاجتكم للتحقق من المهارات التقنية، وهذا أمر احترافي ومهم.
احترامًا لوقتي ووقتكم، وبدلًا من بناء مشروع جديد من الصفر، أود أن أدعوكم لإلقاء نظرة على “ملف إثباتي” الذي يضم مشاريع حقيقية قمت بتنفيذها وتوثيقها بشكل كامل. على سبيل المثال، المشروع المطلوب منكم يتشابه في جوانب معينة مع [اسم مشروعك] الذي قمت فيه ببناء [اذكر ميزة مشابهة].
يمكنكم الاطلاع على دراسة الحالة الكاملة هنا [رابط لـ README أو مقال]، والولوج إلى الكود المصدري هنا [رابط GitHub]، وتجربة المشروع مباشرة هنا [رابط النسخة الحية].
أنا على ثقة بأن هذا سيعطيكم فكرة واضحة وشاملة عن طريقة تفكيري وجودة عملي. وسأكون سعيدًا جدًا بمناقشة أي جزء من هذا المشروع معكم بالتفصيل في مكالمة قادمة.”
هذا الرد يقلب الطاولة. أنت لا ترفض، بل تقدم بديلاً أفضل وأكثر احترافية. أنت تظهر الثقة، وتحترم وقتك، وتوجههم مباشرةً إلى الدليل الذي يثبت جدارتك.
الخلاصة: من سجين السيرة الذاتية إلى مهندس حر
بناء “ملف الإثبات” ليس جهدًا تقوم به مرة واحدة، بل هو عملية مستمرة توثق نموك المهني. كل مشروع تنهيه، كل تحدٍ تتغلب عليه، وكل سطر كود تكتبه بوعي، هو طوبة جديدة في صرح هويتك التقنية.
توقف عن ترك مهاراتك سجينة قائمة من النقاط في ملف PDF. أطلق سراحها عبر مشاريع حقيقية، وقصص ملهمة، وكود نظيف. ملف إثباتك هو صوتك الأعلى في سوق العمل، هو محاميك الأقوى في المقابلات، وهو دليلك على أنك لست مجرد “مورد” آخر، بل مهندس مبدع يحل المشاكل ويبني القيمة.
ابدأ اليوم، ولو بمشروع صغير يحل مشكلة صغيرة. المستقبل يا جماعة يُبنى بالكود، سطرًا بسطر، وإثباتًا بإثبات. 🚀