الوصف الوظيفي
حول أوريجن
تقوم أوريجن ببناء روبوتات ذاتية متعددة الأغراض لصناعة البناء الأمريكية لمواجهة ارتفاع التكاليف، ومخاطر السلامة، ونقص العمالة.
تجمع منصتنا متعددة المهن بين الأجهزة المصممة خصيصًا وذكاء الموقع في الوقت الحقيقي للتنقل في البيئات المعقدة وتنفيذ المهام بدقة.
تم تدريب روبوتاتنا في محاكاة عالية الدقة وتم نشرها بالفعل في مواقع حية، حيث تقدم تنفيذًا أسرع بمعدل 5 مرات، وزيادة في الهامش بنسبة 250%، وتوفير كبير في التكاليف.
تبحث أوريجن أوتونومي عن مهندس برمجيات متعدد الاستخدامات وعملي للانضمام إلى فريقنا المتنامي.
ستعمل عبر أنظمة لينوكس المدمجة، وطبقات الشبكات، والبرمجيات الوسيطة الروبوتية، والخدمات المتصلة بالسحابة.
تتطلب هذه الوظيفة أساسيات قوية، فضولًا فكريًا، والقدرة على التعلم بسرعة - وليس مجرد معرفة بالكلمات الرنانة.
المسؤوليات:
تصميم وتنفيذ تسلسلات بدء تشغيل الروبوتات وتنظيم الخدمات لضمان بدء نظام موثوق وقابل للتحديد.
تكوين وإدارة الشبكات على لينوكس - مجموعة TCP/IP، HTTP، iptables، ARP، DHCP، DNS - للتواصل بين الروبوت والسحابة والتواصل بين الروبوتات.
امتلاك خطوط أنابيب CI/CD باستخدام ArgoCD وGitHub Actions، وتدفقات العمل المعتمدة على الحاويات لشحن البرمجيات إلى الروبوتات.
إدارة بيئات النشر والتشغيل المعتمدة على Docker على الروبوت والبنية التحتية السحابية.
كتابة وصيانة أدوات إدارة النظام ونصوص bash لإدارة الأسطول والتشخيص.
التعاون عن كثب مع فرق الروبوتات، والرؤية، والتطبيقات لدمج قدرات المنصة.
تأسيس وفرض أفضل الممارسات حول سير العمل في Git، واستراتيجيات الفروع، ومراجعة الشيفرة.
قيادة وتوجيه فريق صغير من مهندسي المنصة - تحديد الاتجاه الفني، وإجراء مراجعات الشيفرة، ودفع التنفيذ.
اكتساب الخبرة في بيئة بدء التشغيل الديناميكية في طليعة الابتكار في الروبوتات والذكاء الاصطناعي.
المساهمة في تطوير التكنولوجيا التي ستحدث ثورة في صناعة البناء.
العمل جنبًا إلى جنب مع فريق موهوب ومتحمس ملتزم بإحداث تأثير حقيقي في العالم.
التعلم من محترفين ذوي خبرة واكتساب مهارات قيمة في هندسة برمجيات الروبوتات.
اكتساب خبرة عملية في بيئة هندسية حقيقية.
المساهمة في مشروع لديه القدرة على إحداث تأثير كبير على صناعة البناء.
يجب على جميع المرشحين إثبات الكفاءة العملية الصلبة في كل عنصر مدرج أدناه.
برمجة أنظمة لينوكس بلغة C
إدخال وإخراج الملفات - القراءة، الكتابة، البحث، الملفات المخصصة في الذاكرة
البرمجة متعددة الخيوط - pthreads، mutexes، متغيرات الحالة، سلامة الخيوط
الاتصال عبر المقابس - مقابس TCP/UDP، select/poll/epoll
الهياكل البيانية الأساسية والخوارزميات - المكدس، الكومة، قائمة الانتظار، القائمة المرتبطة
القدرة العامة على الفهم - قراءة الأدلة الفنية، وبيانات البيانات، وRFCs؛ البحث في الوثائق بشكل مستقل
برمجة بايثون
برمجة bash
Git - استخدام CLI، الفروع، الدمج، إعادة التأسيس، حل النزاعات
مخططات UML القياسية - مخطط تدفق، مخطط تسلسل، مخطط نشر
محرر نصوص بدون نوافذ - الاستخدام الأساسي في واحدة على الأقل من: vim، nano، أو ما يعادلها (لا يتطلب إتقان كامل)
ميزة قوية (7/10 أو أفضل)
سيتم تفضيل المرشحين الذين لديهم خبرة عملية في الغالبية العظمى من المجالات التالية.
برمجة C++ - C++17، OOP، القوالب، STL
بروتوكولات الشبكة الشائعة - DHCP، ARP، TCP، UDP، DNS
تكوين الشبكة - أجهزة التوجيه، المفاتيح، VLANs، تقسيم الشبكة
معمارية تطبيقات الخادم والعميل - أدوار الواجهة الخلفية والواجهة الأمامية
الاتصال من نظير إلى نظير مقابل الاتصال المركزي - DDS مقابل MQTT، المزايا والعيوب وحالات الاستخدام
إدارة قواعد البيانات - العلائقية (SQL) مقابل NoSQL، تصميم المخطط، الاستعلامات الأساسية
أمان الشبكة - التحقق من المجموعات (CRC، MD5، SHA)، تشفير المفتاح العام، التوقيعات الرقمية
إطار عمل ROS2 - pub/sub، الخدمات، الإجراءات، عقد دورة الحياة، نقل DDS
نظام بناء CMake - الأهداف، find_package، تكامل CTest
Docker - كتابة Dockerfiles، docker-compose، إدارة سجل الصور عن بُعد
لقد تمت ترجمة هذا الإعلان الوظيفي بواسطة الذكاء الاصطناعي وقد يحتوي على بعض الاختلافات أو الأخطاء البسيطة.