صاحب العمل نشط
حالة تأهب وظيفة
سيتم تحديثك بأحدث تنبيهات الوظائف عبر البريد الإلكترونيحالة تأهب وظيفة
سيتم تحديثك بأحدث تنبيهات الوظائف عبر البريد الإلكترونيبصفتك مهندسًا أول، ستتواصل مع مهندسي الواجهة الخلفية والأمامية الآخرين ضمن مجال المنتج الخاص بك، وفريق ضمان الجودة، وفريق التصميم، ورؤساء فريق التكنولوجيا لديك. بصفتك عضوًا أول في الفريق، ستكون مسؤولاً عن تطوير مجموعة أدوات التطوير لدينا وضمان الحجم مع نمونا إلى ملايين المستخدمين النشطين شهريًا عبر العديد من البلدان.
في هذا الدور، ستقوم بما يلي:
البدء في العمل على الفور - جمع فهم محدث وعميق لقاعدة التعليمات البرمجية وتقنيات دوبيزل في غضون أسابيع؛
قيادة جلسات التخطيط حول ميزات المنتج الجديدة، وتقديم استراتيجيات تفصيلية للطرح/التراجع للإصدارات
البحث عن اتجاهات الصناعة وتطبيقها كجزء من عملك اليومي؛
إنشاء اختبارات الوحدة وفقًا لمعاييرنا المعمول بها لتغطية العمل المخصص؛
كتابة وصيانة التعليمات البرمجية المثالية وفقًا لممارسات البرمجة الخاصة بدوبيزل؛
المساهمة بنشاط في قضايا الصيانة بعد الإصدار؛
تطوير حلول أنيقة للمشاكل المعقدة؛
ريادة موثوقية وكفاءة قاعدة التعليمات البرمجية الحالية والمنصات و/أو الأنظمة الأساسية؛
التأثير على اتجاه ونطاق الرؤية الفنية لدوبيزل ضمن مجال عملك؛
العمل بصفة إرشادية ضمن بيئة برمجة بين الأقران وتقديم التوجيه بشأن المهام، بغض النظر عن التعقيد أو الحجم؛
مراجعة التعليمات البرمجية لجميع طلبات السحب الرئيسية، وتحديد معايير البرمجة وتقديم ملاحظات بناءة
تصميم وتسليم واجهات برمجة تطبيقات متعددة تعتمد على REST والتعرض السابق للهندسة المعمارية الموجهة نحو الخدمة؛
القدرة على تأجيل المتطلبات عند عدم اكتمالها؛
التعامل مع دورة حياة تطوير البرامج بالكامل، من البداية إلى النهاية؛
قيادة اجتماعات تخطيط المنتج وحلول المهندس المعماري ضمن مجال عملك؛
التواصل مع مهندسي الواجهة الخلفية الآخرين ضمن مجال عملك، وفريق ضمان الجودة، وفريق التصميم، ورئيس فريقك الفني؛
التواصل مع فرق تقنية أخرى لمشاركة الابتكارات من مجال عملك
المتطلبات
خبرة مهنية في هندسة البرمجيات الخلفية لا تقل عن 6 سنوات في Python (Django)
خبرة في البنية التحتية والتقنيات المستضافة على السحابة؛ يفضل AWS؛
ستكسبك الخبرة السابقة في Kubernetes & Docker نقاطًا إضافية؛
يفضل الخبرة في العمل على منتجات الويب عالية الحركة وواسعة النطاق؛
الخبرة في البنية الأساسية للويب، وهندسة الخدمات الموجهة (SOA)، والأنظمة الموزعة، وتحليل الأداء، والبنية الأساسية للبحث؛
المشاركة في "مسيرة الموت" مرة واحدة على الأقل ومعرفة السبب الدقيق وراء ضرورة تجنب بعض الأشياء؛
الفهم القوي لأنماط التصميم بما في ذلك البرمجة غير المتزامنة، والطوابير، والتسجيل، والأمان، والاستمرار؛
إتقان طبقات واستراتيجيات التخزين المؤقت المختلفة بما في ذلك memcached؛
الفهم الجيد لإدارة عملية البناء والتكامل المستمر؛
إتقان منهجيات الاختبار (اختبارات الوحدة، واختبارات المكونات، واختبارات التكامل، وما إلى ذلك)؛
مهارات تواصل وتواصل شخصية ممتازة؛ هذا أمر لا بد منه، حيث لدينا مناقشات ساخنة حول مواضيع معقدة ومن المتوقع أن تقود المحادثات حولها
1. تطوير البرمجيات والترميز
تصميم وبناء حلول البرمجيات: تطوير حلول برمجية عالية الجودة وقابلة للتطوير وقابلة للصيانة باستخدام بايثون. يمكن أن يشمل ذلك تطبيقات الويب أو الخدمات الخلفية أو نصوص الأتمتة أو خطوط أنابيب معالجة البيانات.
تحسين الكود: كتابة كود بايثون فعال ومُحسَّن للتعامل مع مجموعات البيانات الكبيرة والخوارزميات المعقدة ومتطلبات الأداء العالي.
مراجعة الكود وأفضل الممارسات: مراجعة الكود الذي كتبه مطورون آخرون والتأكد من أنه يتبع أفضل الممارسات ومعايير الترميز. المساعدة في وضع إرشادات الترميز للفريق.
الاختبار والتصحيح: كتابة اختبارات الوحدة واختبارات التكامل لضمان جودة البرنامج. تصحيح الأخطاء وإصلاح المشكلات التي تنشأ أثناء التطوير وفي بيئات الإنتاج.
2. التصميم المعماري وتكامل النظام
هندسة النظام: المشاركة في تصميم هندسة أنظمة البرمجيات، بما في ذلك تحديد الوحدات والمكونات والواجهات للأنظمة المعقدة.
القدرة على التوسع والأداء: تصميم وتنفيذ حلول قابلة للتوسع وأداء جيد، حتى مع حركة المرور الكثيفة أو مجموعات البيانات الكبيرة أو أحمال العمل المعقدة.
التكامل: العمل على دمج أنظمة مختلفة أو واجهات برمجة تطبيقات خارجية في التطبيق، وضمان تدفق البيانات بسلاسة والوظائف عبر الأنظمة.
3. القيادة الفنية والتوجيه
التوجيه: توجيه وإرشاد المطورين المبتدئين ومهندسي البرمجيات، وتقديم الدعم ومراجعة التعليمات البرمجية والنصائح حول أفضل الممارسات.
التعاون مع الفرق: التعاون مع فرق متعددة الوظائف، مثل مطوري الواجهة الأمامية ومديري المنتجات والمصممين وفرق العمليات، لضمان تلبية البرامج لاحتياجات المستخدم وبنائها بكفاءة.
حل المشكلات: قيادة الجهود في حل المشكلات الفنية المعقدة وتقديم الإرشادات حول كيفية التعامل مع مهام الترميز الصعبة.
4. إدارة المشروع وتسليمه
التطوير السريع: المشاركة في منهجيات Agile، بما في ذلك التخطيط السريع، والاجتماعات الدورية، والاستعراضات. العمل بشكل وثيق مع فريق المنتج لضمان فهم المتطلبات جيدًا وتسليم الميزات في الوقت المحدد.
ملكية المشروع: تحمل ملكية المشاريع من البداية إلى النهاية، والتأكد من تلبية المعالم، وتسليم المشاريع وفقًا للمواصفات.
إدارة الوقت والموارد: تقدير الوقت والموارد المطلوبة لمهام التطوير، وإدارة الأولويات، وضمان بقاء المشاريع على المسار الصحيح.
5. التحسين المستمر والابتكار
استكشاف التقنيات الجديدة: البقاء على اطلاع بأحدث الاتجاهات والتقنيات في مجال تطوير البرمجيات، وخاصة فيما يتعلق بـ Python والمكتبات والأطر المرتبطة بها.
تحسين العملية: البحث باستمرار عن طرق لتحسين عمليات التطوير، بما في ذلك جودة البرمجيات وكفاءتها والتعاون. الدعوة إلى اعتماد أدوات وأطر عمل جديدة تعزز الإنتاجية.
6. التعاون مع فرق أخرى
متطلبات المنتج والأعمال: العمل بشكل وثيق مع مديري المنتجات والمصممين وأصحاب المصلحة لفهم رؤية المنتج واحتياجات العمل، وضمان توافق الحلول التقنية مع أهداف الشركة.
DevOps والبنية الأساسية: التعاون مع مهندسي DevOps لنشر التطبيقات وضمان التشغيل السلس للبرمجيات في بيئات الإنتاج.
التواصل عبر الوظائف المختلفة: التواصل مع الفرق في جميع أنحاء الشركة (على سبيل المثال، التسويق، والمبيعات، والدعم) للتأكد من أن البرنامج يلبي جميع احتياجات أصحاب المصلحة.
دوام كامل