وصف
الملخّص:
تصميم الأنظمة البرمجية القابلة للتوسع والموثوقة وبناؤها والحفاظ عليها، بالتعاون مع فرق المنتج والتصميم ومُهندسي البرمجيات الآخرين لتقديم الميزات وتحسين الأداء.
أبرز النقاط:
١. تصميم الأنظمة البرمجية القابلة للتوسع والموثوقة وبناؤها والحفاظ عليها.
٢. التعاون في مجال التصميم والمواصفات والتقدير؛ وتقسيم العمل إلى مهام.
٣. الإسهام في بنية النظام والقرارات التقنية والتحسينات.
**مهندس برمجيات — الوصف الوظيفي**
**نبذة عن الدور**
تصميم الأنظمة البرمجية القابلة للتوسع والموثوقة وبناؤها والحفاظ عليها. والتعاون مع فرق المنتج والتصميم ومُهندسي البرمجيات الآخرين لتقديم الميزات وإصلاح الأخطاء وتحسين أداء النظام وإنتاجية المطورين.
**المهام الرئيسية**
* تصميم الميزات الخلفية أو الأمامية أو الكاملة وتنفيذها واختبارها والحفاظ عليها وفقًا لمتطلبات المنتج.
* كتابة أكواد نظيفة وسهلة الصيانة ومُختبرة جيدًا؛ والمشاركة في مراجعات الكود والالتزام بمعايير البرمجة.
* بناء الخدمات والواجهات البرمجية (APIs) والتكاملات والحفاظ عليها؛ وضمان إصدار الإصدارات بشكل صحيح والتوافق مع الإصدارات السابقة.
* تشخيص المشكلات في بيئة الإنتاج وإجراء تحليل الجذور وقيادة الحلول باستخدام أدوات المراقبة والقابلية للملاحظة.
* الإسهام في بنية النظام والقرارات التقنية وعمليات التحسين المتعلقة بالأداء والتكلفة.
* تنفيذ الاختبارات الآلية (وحدات، تكامل)، وأنابيب CI/CD، وممارسات النشر الموثوقة.
* العمل مع قواعد البيانات (العلاقة ومنها غير العلاقة)، والتخزين المؤقت، ونمذجة البيانات لتحقيق الأداء والقابلية للتوسع.
* التعاون في مجال التصميم والمواصفات والتقدير؛ وتقسيم العمل إلى مهام قابلة للتسليم.
* الحفاظ على الوثائق وكتب التشغيل وملاحظات التصميم؛ وتوجيه المهندسين المبتدئين.
* تحسين تجربة المطور من خلال الأدوات والمكتبات وإعادة الهيكلة لتقليل الديون التقنية.
* الإسهام في أفضل الممارسات الأمنية: التحقق من المدخلات، والتصديق/التفويض، وإدارة الأسرار، ونظافة التبعيات.
**المؤهلات المطلوبة**
* خبرة لا تقل عن سنتين في هندسة البرمجيات المهنية (أو ما يعادلها).
* إتقان لغة برمجية حديثة واحدة أو أكثر (مثل: JavaScript/TypeScript، Python، Java، Go، C\#، Ruby).
* خبرة في أطر عمل الويب والواجهات البرمجية (APIs) وأدوات التطوير الشائعة المستخدمة في مكدسك التقني.
* مهارات قوية في حل المشكلات والإلمام بأساليب الاختبار والتصحيح والنشر.
* خبرة في أنظمة التحكم بالإصدارات (Git) وممارسات التطوير التعاوني.
* فهم جيد لهياكل البيانات والخوارزميات ومبادئ تصميم البرمجيات.
* مهارات اتصال وعمل جماعي جيدة.
**المؤهلات المرجّحة**
* خبرة في منصات السحابة (AWS، GCP، Azure) والحاويات (Docker، Kubernetes).
* دراية بأنظمة التوزيع والخدمات المصغرة والمعماريات القائمة على الأحداث وقوائم الانتظار الخاصة بالرسائل.
* خبرة في ضبط الأداء والتحليل وتصميم قواعد البيانات القابلة للتوسع.
* معرفة بأدوات القابلية للملاحظة (Prometheus، Grafana، ELK، Datadog) وممارسات مهندسي موثوقية البرمجيات (SRE).
* خبرة في البنية التحتية كبرنامج (Terraform، CloudFormation) وأدوات CI/CD.
* شهادة جامعية في علوم الحاسوب أو الهندسة أو تخصص ذي صلة (أو خبرة معادلة).
الأجر: ٩٦٫٤٠ ر.ق \- ٣١١٫١١ ر.ق في الساعة
موقع العمل: شخصيًا