مهندس أول DevSecOps وتطوير شامل
راتب ابتدائي من 75,000 يورو سنوياً، إجمالي، بدوام كامل
مكان العمل: عن بُعد، من أي مكان في العالم.
ترتيب التعاقد. تُحسم صيغة الارتباط والكيان المتعاقد والقانون الحاكم عند تقديم العرض ولا نذكرها هنا، لأنها تعتمد على مكان إقامة المرشح الناجح ولم تُقرّر مسبقاً. ويتحمل المرشح مسؤولية حقه في العمل حيث يقيم، وتُناقش التفاصيل في المرحلة نفسها.
مكوّن التعويض المتغير. يُدفع مكوّن متغير سنوي مشروط بأداء الشركة إضافة إلى الراتب الأساسي الابتدائي. وهو منفصل عنه وغير مضمون.
التخصص. الهندسة
المهمة
تعمل المنصة اليوم باستضافة مُدارة. لكن المشترين المؤسسيين والحكوميين في الأسواق الأساسية يزداد تعذّر استخدامهم لها بهذه الطريقة: يريدون نشرها على بنيتهم التحتية، وتحت ضوابطهم، ومن دون اعتماد على خدمة لم يوافقوا عليها. توجد مخططات هندسية لهذا النشر توضّح بصدق ما لا يمكن تغليفه بعد. يحوّل هذا الدور المخطط إلى نشر يعمل، ويواصل تطوير المنتج في أثناء ذلك.
ما ستتضمنه أول 90 يوماً فعلاً
- اجمع الاعتمادات البرمجية البعيدة التي تستوردها وظائف الحافة عند بدء التشغيل في حزمة بناء تتحقق من بصمتها، حتى لا يحتاج النشر داخل شبكة خاصة إلى الاتصال بسجل حزم عام لكي يبدأ.
- أنشئ البنية المرجعية في حاويات: Postgres وامتداداته وسجل ترحيلاته الكامل، وخدمة المصادقة، وطبقة REST، وتخزين الكائنات، والبوابة، وبيئة تشغيل الوظائف، باستخدام مكونات Kubernetes الأساسية التي تتصرف بالطريقة نفسها في أي عنقود مُدار.
- حدّد كتابةً مسار التثبيت الجديد المعتمد، بإنشاء المخطط أولاً ثم تطبيق الترحيلات اللاحقة، وأثبت عمله على عنقود فارغ بدلاً من الاكتفاء بالادعاء.
- عد بقائمة صريحة لما لا يمكن تغليفه بعد. أكبر عائق معروف هو أن العمليات اليومية تفترض حالياً وجود لوحة تحكم للاستضافة لن تتوفر في نشر العميل؛ ولم تُكتب بعد أدلة التشغيل التي تحل محلها.
ما تملكه الوظيفة بعد ذلك
- البنية التحتية بوصفها شيفرة وملفات النشر، مكتوبة بمكونات أساسية لا ترتبط بمورّد سحابة واحد، حتى تعمل المجموعة نفسها على Kubernetes الذي يديره العميل أياً كان مشغّله.
- مسار الإصدار: حزم برمجية تُبنى خارج محيط العميل، وتُوقّع، وتُنشر مع بصماتها وقائمة مكوناتها البرمجية، ثم يُتحقق منها عند الدخول. يوافق فريق أمن العميل على كل تحديث؛ ولا يعني ذلك شيئاً ما لم تجعل الآلية هذه الموافقة شرطاً فعلياً.
- منع الاتصالات الصادرة افتراضياً، وتوثيق شكل البيانات الدقيق لكل تدفق يُسمح به، حتى يستطيع فريق شبكة العميل فحص القناة بدلاً من تصديق وصفها.
- واجهات الربط. البريد والهوية ونقطة وصول النموذج والختم الزمني خيارات يضبطها العميل، ولكل خيار أثر معلن على الادعاءات الممكنة، ويتوقف كل منها عند تفعيله من دون ربط صحيح. غياب البديل الصامت هو خاصية الأمن هنا.
- تشغيل نموذج لغوي صغير على عتاد العميل داخل محيطه لوظائف الذكاء الاصطناعي المفعّلة، حتى لا يكون للطلب مسار إلى الخارج أصلاً.
- وتطوير المنتج باستمرار. نحو نصف العمل في تطبيق React والوظائف الخلفية التي تدعمه. ليست هذه وظيفة بنية تحتية فقط.
ما تتطلبه الوظيفة
- سبق له تشغيل خدمة Postgres ذات حالة دائمة داخل حاويات في بيئة إنتاج، واستعادتها فعلاً من نسخة احتياطية، لا على الورق فقط.
- يعمل بمكونات Kubernetes الأساسية ويستطيع شرح الفرق بين StatefulSet مع قالب لمطالبة التخزين وقاعدة بيانات يديرها مشغّل متخصص.
- يكتب TypeScript للواجهة الأمامية والوظائف الخلفية، ولا يمانع قضاء نصف أسبوع في شيفرة المنتج.
- حافظ على ضابط يتوقف عند تعذّر الإثبات رغم ضغط التسليم، ويستطيع وصف النقاش الذي تطلبه ذلك.
- يقرأ سياسات أمن مستوى الصفوف في Postgres ويستطيع شرح كيف يمكن لسياسة تبدو معقولة أن تسرّب البيانات.
- يعمل عن بُعد وباستقلالية في مجال لا يملكه غيره. الوظيفة مفتوحة للمرشحين من أي مكان في العالم، وتصف أول 90 يوماً أعلاه بصدق تكلفة الربع الأول.
ما ليست عليه هذه الوظيفة
- ليست وظيفة Kubernetes فقط. يقارب نصفها شيفرة التطبيق، ومن يريد الابتعاد عن المنتج لن يكون مرتاحاً فيها.
- وليست بناءً من الصفر. المنصة قائمة ولها تاريخ طويل من ترحيلات قاعدة البيانات، وكل قرار لتغليفها مقيد بذلك وبالادعاءات المسموح للشركة بتقديمها.
- وليست وظيفة تدقيق أو توكيد. الضوابط هنا شيفرة تعمل، لا تقارير بنتائج مراجعة شيفرة الآخرين.
- وليست منصب قيادة فريق. لا يوجد من تقوده بعد، ولن يوحي الإعلان بخلاف ذلك.