تعاملت مع بحثي عن وظيفة كمشكلة عمليات
محرك مفتوح المصدر للبحث عن وظائف، أضفت إليه المصادر والضوابط والتقارير التي كانت تنقصه، ثم جعلته آمناً للتشغيل دون إشراف: لا يخرج شيء دون أن أراه، وكل تشغيل مجدول يفشل يُبلَّغ عنه، ولمسار الطلبات متتبع وسجل تدقيق.
نظام شخصي · 65 إيداعاً (commit) فوق محرك مفتوح المصدر · Node.js وPlaywright وChrome DevTools Protocol
السياق
للوضوح بشأن الملكية: المحرك نفسه مفتوح المصدر ومن عمل شخص آخر. ما فعلته أنني تبنيته، ثم قضيت 65 إيداعاً أحوّل أداة عامة الغرض إلى شيء يناسب مسار عمل محدداً. وهذا تقريباً بالضبط عمل تطبيق نظام مورّد داخل شركة.
المشكلة الأساسية عرفتها من عملي: مسار بحجم كبير بلا تغطية موثوقة للمصادر، وبلا متتبع واحد، وبفرز يدوي، وبلا طريقة لمعرفة أي مرحلة تسرّب فعلاً. أصلحت هذا النوع من المشاكل لأصحاب العمل، فرأيت أنه يستحق الإصلاح لنفسي أيضاً.
ما الذي فعلته
- وسّعت أعلى المسار بكتابة ماسحات جديدة للمصادر المهمة في هذه المنطقة التي لم تكن مغطاة: LinkedIn وNaukriGulf وBayt ولوحات وكالات التوظيف، إضافة إلى مرور دوري على الوظائف الدولية المؤكد فيها رعاية التأشيرة.
- وسّعت سجل المصادر إلى 170 شركة وبوابة موثقة، تحققت من أن كل واحدة منها لوحة وظائف حية، وشددت تصفية المسميات الوظيفية حتى يحمل المسار حجماً دون ضجيج.
- بنيت لوحة فرز: كل وظيفة مكتشفة تُصنَّف حسب الحكم عليها، وبنقرة واحدة أعلّمها كمقدَّم عليها أو أستبعدها، وتُحفظ السيرة الذاتية المكيّفة وخطاب التقديم تلقائياً في السجل الصحيح، وتختفي الوظائف التي قدمت عليها من الطابور، فتعرض اللوحة دائماً ما بقي فعلاً.
- استبدلت تكاملاً هشاً مع البريد. كان رصد حالة الطلبات يقرأ DOM واجهة بريد على الويب، فيتعطل كلما تغيرت الواجهة. أعدت كتابته ليقرأ مخزن البريد المحلي مباشرة، وهذا لا يتعطل.
- بنيت نظام تواصل على مراحل بالضابط الذي أصر عليه في أي عمل: الإجراءات تُكتب كمسودات أولاً، وتنتظر في نافذة اعتراض قبل التنفيذ، وهناك لوحة للإيقاف المؤقت أو الاعتراض أو الإرسال الفوري. هذه أتمتة مع موافقة بشرية، ولم أجعلها مستقلة بالكامل عن قصد.
- نقلت الموافقات إلى هاتفي. قناة Telegram تعرض ما يريد النظام فعله وتعيد إليه قراري، فيستمر المسار دون أن أجلس إلى مكتب. وعملية حارسة تبلّغ عن أي تشغيل مجدول يفشل، فلا يفشل شيء بصمت.
- جعلت الأتمتة جديرة بالثقة: رموز خروج حتمية عبر سلسلة المهام المجدولة، وخطافات (hooks) تحوّل قواعد سلامة المسار من توثيق مكتوب إلى فحوص توقف التنفيذ فعلاً.
مسار بتغطية حقيقية، ومتتبع واحد، وسجل تدقيق من اكتشاف الوظيفة حتى النتيجة.
الدرس التشغيلي الحقيقي
أهم تغيير كان رفضي أن يعمل التواصل دون إشراف. كل نسخة من هذه الأدوات تميل إلى الاستقلال الكامل، والإغراء قوي حين تكون الخطوة اليدوية هي المملة. لكن إجراءً آلياً يُرسل باسمي، إلى شخص حقيقي، على منصة لها شروطها، خطر أتحمله ولا أستطيع استرجاعه.
لذلك يبقي التصميم إنساناً في الحلقة عند نقطة واحدة بالضبط: الإرسال. كل ما قبله مؤتمت إلى أقصى حد. هذه هي المقايضة نفسها في حد الموافقة ضمن إجراءات الائتمان، وأدافع عنها بالطريقة نفسها: البوابة موجودة لأن العاقبة غير متماثلة، حتى لو كان النظام موثوقاً.
ما سأقوله لك في مقابلة
هذا أقل مشاريعي بريقاً، وربما أكثرها تمثيلاً لعملي. المحرك من بناء غيري. أنا دمجت نظاماً من طرف ثالث، ووجدت أين لا يناسب العملية الحقيقية، ووسّعته، وأضفت إليه أدوات القياس، ووضعت ضوابط حول الجزء الذي يمكن أن يسبب ضرراً، ثم شغّلت عليه مساري الخاص شهوراً وأصلحت ما تعطل. هذا عمل تطبيق أنظمة، وهو معظم ما تعنيه العمليات فعلاً.
أين ينفع هذا
ما يعنيه هذا لصاحب العمل: أستطيع أن آخذ نظاماً من طرف ثالث وأجعله موثوقاً وقابلاً للتدقيق وآمناً للتشغيل دون إشراف، دون البناء من الصفر. هذا تطبيق أنظمة الموردين والأدوات بشكل مباشر. كل شركة تشغّل أنظمة تغطي 70% من العملية الحقيقية، وتُسد الفجوة إما بأشخاص يعملون يدوياً إلى الأبد، أو بشخص مستعد لتوسيع الأداة وربطها بالأنظمة المحيطة وتحمّل مسؤولية الضوابط حولها. أفضّل أن أكون من النوع الثاني.