"في ميراي، استوديو تابع لـ Scopely، نحن شغوفون بإنشاء تجارب ألعاب جذابة تُسعد ملايين اللاعبين حول العالم. نبحث عن مهندس برمجيات أول، منصة الذكاء الاصطناعي، يبني المنتجات ويمكنه رؤية المنصة بداخلها. ستكتب ميزات المنتج بنفسك، وستحوّل ما يتكرر عبر المنتجات إلى خدمات ومكتبات مشتركة يبني عليها بقية الفريق. تنبثق المنصة من عمل منتج حقيقي، منتجاً تلو الآخر، وليس قبلها.
يبني فريق هندسة الذكاء الاصطناعي الأصلي لدينا برمجيات لفرق ألعاب Scopely والأقسام الداخلية: أدوات تستخدم نماذج اللغة الكبيرة (LLMs) لفرز الأخطاء، وتحليل ملاحظات اللاعبين، وأبحاث السوق والشركة، وتحليلات العقود، إلى جانب متاجر ويب مباشرة للمستهلك لألعاب Scopely. معظم هذه الأدوات تكرر نمطاً واحداً: ربط نظام مصدر، وبناء مخزن موثوق، ووضع نموذج لغوي كبير أو منطق محكوم فوقه، والتحكم في من يمكنه رؤية ماذا. اليوم يبني كل منتج هذا النمط بطريقته الخاصة، بإعداد النموذج الخاص به، وقواعد الوصول الخاصة به، وضوابط السلامة الخاصة به.
هذا دور هندسة برمجيات، وليس دور بنية تحتية. مهندسو DevOps وSRE لدينا يملكون العناقيد وخطوط الأنابيب وتوفير السحابة. إذا كان عملك الأخير يتعلق بشكل أساسي بالبنية التحتية مع القليل من كود المنتج، فهذا ليس الخيار المناسب.
ما ستقوم به
- بناء ميزات المنتج من البداية إلى النهاية على أدوات الذكاء الاصطناعي الداخلية لدينا، بـ TypeScript أو Python، من التصميم حتى الإنتاج.
- اكتشاف ما تبنيه منتجاتنا بشكل منفصل وتحويله إلى خدمات ومكتبات مشتركة: الوصول إلى النماذج والإنفاق، والهوية والأذونات، والاسترجاع، وخوادم الأدوات، والضوابط حول استدعاءات LLM. نقل المنتجات إليها واحداً تلو الآخر، دون إيقاف التسليم.
- بناء خوادم أدوات MCP التي تعرّض بيانات الشركة للوكلاء وأدوات الدردشة، مع فرض أذونات المستخدم النهائي قبل وصول أي بيانات إلى النموذج.
- المساعدة في إدخال التحكم في الوصول القائم على العلاقات عبر المنتجات، بحيث تُعرّف قواعد الوصول مرة واحدة وتُطبّق على استعلامات قاعدة البيانات والبحث المتجهي معاً.
- توحيد الوصول إلى النماذج عبر بوابة LLM الخاصة بنا، بحيث يُحدّد اختيار النموذج والتكلفة والاستخدام في مكان واحد بدلاً من كل مستودع.
- نشر أنماط السلامة الموجودة في مشروع واحد لكل منها اليوم إلى كل منتج: التعامل مع حقن الأوامر، ومفاتيح الإيقاف، والتنفيذ المعزول للكود المُولّد، والوصول المقفل إلى البيانات.
- جعل الأجزاء المشتركة سهلة التبني: واجهات برمجة تطبيقات واضحة، وإصدارات، وقوالب، ووثائق يمكن لمهندس آخر اتباعها دون سؤالك.
- وضع المعيار في مراجعة الكود، بما في ذلك الكود المدعوم بالذكاء الاصطناعي، وإرشاد المهندسين من خلال المراجعة والاقتران والتصميم.
- تحمّل مسؤولية الحوادث فيما تبنيه، والعمل مع مهندسي DevOps لدينا على كيفية نشره وتشغيله.
ما نبحث عنه
- ست سنوات أو أكثر في بناء وتشغيل برمجيات الإنتاج، بما في ذلك خدمة مشتركة واحدة على الأقل، أو مكتبة، أو واجهة برمجة تطبيقات داخلية اعتمد عليها مهندسون أو فرق أخرى.
- إتقان قوي لـ TypeScript وNode.js، وإتقان قوي لـ Python. خدماتنا موزعة عبر كليهما.
- شحن ميزات LLM إلى الإنتاج: الاسترجاع عبر التضمينات، واستدعاء الأدوات، والإخراج المنظم، وطريقة للتحقق من جودة الإخراج.
- تصميم واجهات برمجة تطبيقات أو مكتبات يبني عليها مهندسون آخرون، مع اهتمام حقيقي بالإصدارات والتوافق والافتراضات الآمنة والوثائق.
- بناء أنظمة متعددة المستأجرين أو حساسة للأذونات، ومعرفة أين تُفرض الأذونات بحيث لا تصل البيانات أبداً إلى مستخدم أو نموذج لا ينبغي له رؤيتها. التعامل مع إخراج النموذج والمحتوى المسترجع كمدخلات غير موثوقة.
- تصميم أنظمة متين: حدود الخدمة، ونمذجة البيانات، ومعالجة الأعطال، والتكافؤ، والتكلفة.
- خبرة إنتاجية على AWS، مع البنية التحتية ككود في Terraform أو ما شابه، بما يكفي لامتلاك كيفية شحن خدماتك جنباً إلى جنب مع DevOps.
- كتابة الاختبارات كجزء من العمل والتعامل مع فحوصات CI كبوابات، وليس اقتراحات.
- إنجليزية واضحة كتابةً وتحدثاً، والقدرة على شرح المقايضات التقنية لأصحاب المصلحة في المنتج والأعمال.
- استخدام أدوات البرمجة بالذكاء الاصطناعي والتحقق من مخرجاتها. تفهم، وتستطيع إثبات، وتمتلك ما تدمجه.
التقنيات
اللغات: TypeScript وNode.js، Python 3.11.
الخدمات: Express، FastAPI، Next.js
الذكاء الاصطناعي: نماذج وتضمينات OpenAI، LangChain، التحكم في الوصول باستخدام SpiceDB (مصمم، قيد الإدخال)
Model Context Protocol (MCP) SDK، بوابة LLM داخلية مبنية على LiteLLM فوق Amazon Bedrock
السحابة والتسليم: AWS (EC2، ECS Fargate، Lambda، App Runner، S3، CloudFront)، Terraform، GitLab وGitHub
البيانات: PostgreSQL (Amazon RDS وAurora)، BigQuery، Amazon OpenSearch Serverless للبحث المتجهي
الهوية والوصول: Okta، OAuth 2.0 مع PKCE، التحكم في الوصول القائم على العلاقات باستخدام SpiceDB (مصمم، قيد الإدخال)
تتبع العمل: Jira، Confluence
ميزات إضافية مرغوبة
- التحكم في الوصول القائم على العلاقات عملياً، باستخدام SpiceDB أو OpenFGA أو ما شابه
- بوابة LLM مثل LiteLLM أو Amazon Bedrock، وأدوات التقييم أو التتبع مثل Braintrust أو Langfuse أو LangSmith
- إطار تنسيق الوكلاء مثل LangGraph
- منصة مشتركة خدمت عدة فرق أو أقسام بدلاً من منتج واحد
- خبرة في الألعاب، أو اللغة العربية"