وصف الوظيفة
الأدوار والمسؤوليات
نحن نبحث عن مهندس خلفية أول موهوب جدًا للانضمام إلى مكتبنا في الرياض. إذا كنت تبحث عن مكان يمكنك فيه اكتساب خبرة عملية وتحقيق تأثير مباشر، فربما هذا هو المكان المناسب لك! سيكون لدى المرشح المثالي سجل حافل كمساهم فردي بارز بالإضافة إلى كونه لاعب فريق قوي، يدعم الفريق، ويعمل عن كثب مع فرق الإدارة لدفع مبادرات استراتيجية إلى الأمام عبر المنطقة. ستعمل على: المشاركة في اتخاذ قرارات هندسية على منصة يستخدمها ملايين الأشخاص. المشاركة بنشاط في ترحيل تطبيقنا الأحادي إلى الخدمات المصغرة. لعب دور فعال في تصميم وتحسين وتأمين البنية الخلفية بشكل عام لدعم نمو هائل في المستخدمين والمنتجات دون تراجع. التعامل مع حاويات Docker، ومخططات Kubernetes، وكل هذا على منصة Google Cloud. تقديم الإرشاد والتوجيه لأعضاء الفريق الآخرين كعضو كبير في الفريق وعضو في فريق الخلفية لدينا. نعتمد التطوير القائم على التصميم، ومبادئ SOLID، والهندسة المعمارية الحدثية، والخوارزميات والاختبارات الآلية (الوحدوية، والتكامل، والوظيفية). فهم دورة التطوير والتعاون مع فرق متعددة الوظائف وأجايل. المشاركة في الجهد المستمر والشامل لتغطية الاختبار، وإعادة الهيكلة والتوثيق. إظهار مهاراتك في مراجعة الكود، وتصحيح الأخطاء، والتحقيق بشكل منتظم.
الملف المرشح المطلوب
- أكثر من 5 سنوات من الخبرة في تطوير الخلفية باستخدام GoLang، Ruby on Rails (RoR)، Java، أو Python.
- خبرة قوية بقاعدة البيانات مع PostgreSQL وقواعد NoSQL. يجب أن تكون لديك فهم راسخ للنماذج العادية، ومبادئ ACID، ومستويات العزل، والفهرسة، وتحسين الاستعلام، والذاكرة المخبأة (مثلاً Redis، Memcached).
- إتقان في أدوات المراقبة والتنبيه والتسجيل مثل Grafana.
- فهم عميق لهندسة البرمجيات، بما في ذلك التصميم القائم على النطاق (DDD)، والخدمات المصغرة، وKubernetes، والحاويات.
- خبرة بالترحيل الأحادي (monolithic migration).
- عقلية اختبار قوية مع خبرة في كتابة اختبارات الوحدة والتكامل لضمان جودة وموثوقية الكود.
- القدرة على التكيف ومهارات حل المشكلات
- القدرة على التنقل عبر الغموض، والعمل في بيئة ديناميكية وسريعة الإيقاع، واتخاذ قرارات مدروسة.
Job Description
Roles & Responsibilities
We are looking for a highly talented Senior Backend Engineer to join our Riyadh office. If you are looking for a place where you can gain hands-on experience and create a direct impact, then this may be the place for you! The ideal candidate will have a track record as a significant individual contributor as well as a strong team player, supporting a team, and working closely with the management teams to drive strategic initiatives forward across the region. You will be working on: Take part in architectural decision-making on a platform that is used by millions of people. Actively participate in migrating our monolithic application into Microservices. Playing an active role in designing, improving and most importantly securing the overall backend architecture to support massive growth in users and products without compromise. Deal with Docker containers, Kubernetes manifests, all this on Google Cloud Platform. Coaching and mentoring other team members as a senior member of the team and member of our Backend Chapter. We embrace Design Driven Development, SOLID Principles, Event-driven Architecture, Algorithms and automated tests (unit, integration and functional). Understanding development lifecycle and collaborating with cross-functional and agile teams. Participate in the continuous and common effort of test coverage, refactoring and documentation. Showing off your code review, debugging and investigation skills on a regular basis.
Desired Candidate Profile
- 5+ years of experience in backend development using GoLang, Ruby on Rails (RoR), Java, or Python.
- Strong database expertise with PostgreSQL and NoSQL databases. You should have a solid understanding of normal forms, ACID principles, isolation levels, indexing, query optimization, and memory caching (e.g., Redis, Memcached).
- Proficiency in monitoring, alerting, and logging tools such as Grafana.
- Deep understanding of software architecture, including Domain-Driven Design (DDD), microservices, Kubernetes, and containerization.
- Experience with monolithic migration.
- Strong testing mindset with experience writing unit and integration tests to ensure code quality and reliability.
- Adaptability & problem-solving skills
- Ability to navigate ambiguity, work in a dynamic, fast-paced environment, and make informed decisions.