تدريب مطور متكامل “فولستاك” في شركة ثاندر thndr FullStack Graduate Program

384 يوم متبقي للتقديم

قدم الآن

تدريب مطور متكامل “فولستاك” في شركة ثاندر thndr FullStack Graduate Program

تفاصيل الفرصة

  • تاريخ النشر

    19 مايو، 2026

  • المكان

    القاهرة

  • المستوي الوظيفي

    السنة النهائية حديث تخرج طالب

  • المؤهل

    بكالوريوس/ليسانس طالب جامعي

  • الخبرة

    أقل من سنة بدون خبرة

  • النوع

    انثي ذكر

الوصف

مبرمجو الواجهتين: تطبيق (Thndr) يطلب متدربين (Full-Stack) لبرمجة منصة Rumble بالقاهرة 2026

تعلن شركة (Thndr)، منصة الاستثمار الرقمية الأكبر في مصر، عن فتح باب التقديم لبرنامج تدريبي تقني بوظيفة “متدرب مطور متكامل” (Full-Stack Intern) للانضمام إلى فريق (Rumble) المبتكر. تمثل هذه الوظيفة فرصة استثنائية لمهندسي البرمجيات الشباب للعمل عبر حزمة التكنولوجيا الكاملة (الواجهات الأمامية والخلفية)، والمساهمة في بناء أدوات استثمارية، واجهات برمجة تطبيقات (APIs)، وتطبيقات ويب وموبايل تؤثر مباشرة على قرارات آلاف المستثمرين.

المهام والمسؤوليات الوظيفية

ينقسم دورك كمتدرب في هذا الفريق إلى 3 مراحل برمجية رئيسية:

1. مرحلة التخطيط والتشكيل (The Shaping Phase):

  • التعاون مع فرق التصميم والمنتج والهندسة لفهم متطلبات المهام المسندة إليك.
  • المساهمة المستقلة في تصميم المهام (Task-level design)، مع ضمان توافق الحلول مع الأنماط الهندسية المعتمدة (Architectural patterns).
  • مراجعة مخططات تدفق النظام والمستخدمين (Flow diagrams) لاكتشاف الحالات الاستثنائية (Edge cases) والقيود قبل كتابة سطر كود واحد.
  • كتابة سيناريوهات الاختبار (Test scenarios) والتحقق من صحة افتراضات التصميم.

2. مرحلة التنفيذ والإطلاق (The Shipping Phase):

  • التسليم المستقل للميزات البرمجية من البداية للنهاية عبر الـ Full Stack (تطبيق الموبايل، الويب، والباك إند).
  • كتابة أكواد برمجية نظيفة، قابلة للصيانة، ومختبرة وجاهزة للإنتاج (Production-quality code).
  • تنفيذ حلول تخزين البيانات (Data storage) ودمج الأنظمة (System integrations).
  • المشاركة الفعالة في مراجعة الأكواد (Code reviews) لزملائك وتقبل الملاحظات لتحسين الجودة.

3. مرحلة التشغيل والمتابعة (The Operating Phase):

  • تولي مسؤولية الجودة، الاستقرار، والأداء للتحديثات التي قمت بنشرها.
  • الاستجابة الفعالة لإصلاح الأخطاء (Bugs) أو المشاكل التي يبلغ عنها العملاء والمرتبطة بالكود الخاص بك.
  • المشاركة في مراقبة صحة النظام (System health) وحل المشكلات التشغيلية بجانب المهندسين الأقدم.

حزمة التكنولوجيا المستخدمة (Tech Stack)

  • لغات البرمجة الأساسية: الاعتماد الكامل على (TypeScript)، مع احتكاك بـ (Python).
  • الواجهات الأمامية (Frontend): تطبيقات الموبايل باستخدام (React Native)، وتطبيقات الويب باستخدام (React with Next.js).
  • الواجهات الخلفية (Backend): بيئة (Node.js) مع وظائف الـ Serverless وحاويات (Docker).
  • قواعد البيانات: استخدام مكثف للـ (SQL) عبر قواعد (PostgreSQL)، بالإضافة إلى (Redis) و (Firebase Realtime DB).

المؤهلات والخبرة المطلوبة

  • المرحلة الدراسية: طلاب السنة النهائية أو حديثو التخرج (يفضل من تخصصات علوم الحاسب والهندسة).
  • الكفاءة البرمجية: أساس قوي جداً في (JavaScript/TypeScript) ومميزات (ES6+).
  • أطر العمل: قدرة مُثبتة على بناء مهام مستقلة باستخدام (React, React Native, Node.js).
  • قواعد البيانات: خبرة صلبة في (SQL)؛ يجب أن تكون مرتاحاً في كتابة الاستعلامات (Queries) وفهم نماذج البيانات العلائقية.
  • التصميم والربط: فهم قوي لتصميم (RESTful APIs) وكيفية التعامل معها.
  • أدوات التطوير: خبرة في استخدام أنظمة التحكم في الإصدارات (Git) والعمل ببيئة (Agile).
  • السمات الشخصية: مهارات تواصل ممتازة، وقدرة هندسية على اكتشاف المشاكل مبكراً (Edge cases).

زاوية إيجينكس (Egyincs) لتشريح التدريب

العمل كـ (Full-Stack) يتطلب دائماً عقلية هندسية مرنة قادرة على التنقل بين واجهات المستخدم الجمالية والخوادم المعقدة بسلاسة. وتجربة ربط البيانات اللحظية وعرضها بدون إعادة تحميل الصفحة (سواء عبر الـ AJAX الكلاسيكي أو الـ Modern APIs) هي قلب هذه الوظيفة. في منصة مثل (Rumble)، أنت تبني لوحة تحكم (Dashboard) للمحلل المالي ليكتب توصيته، وفي نفس اللحظة تبني الـ API الذي سيرسل هذه التوصية لتطبيق (Thndr) ليراها المستخدم على هاتفه وتصله كإشعار (Notification). هذا التدريب سيأخذك من مستوى “مبرمج يكتب أكواد” إلى “مهندس برمجيات يبني أنظمة متكاملة” (Systems Thinker).

كبسولة إيجينكس لاجتياز المقابلة (Full-Stack Intern Hack)

المحاور في دور الـ Full-Stack يبحث دائماً عن قدرتك على اكتشاف “السيناريوهات الاستثنائية” (Edge Cases) وكيفية معالجتك للأخطاء بين الـ Frontend والـ Backend. سؤال متوقع: (قمت ببرمجة زر “تأكيد الاشتراك” في خدمة Rumble المدفوعة. المستخدم ضغط على الزر، والـ Frontend أرسل الطلب (API Request) للـ Backend، ولكن حدث بطء شديد في شبكة الإنترنت لدى المستخدم فتأخر الرد، فقام المستخدم بالضغط على الزر 3 مرات متتالية بدافع التوتر.. كمهندس Full-Stack، كيف ستمنع هذا السيناريو من خصم قيمة الاشتراك 3 مرات من بطاقته؟)

الإجابة القياسية: (كمهندس متكامل، الحل يجب أن يكون مزدوجاً لحماية النظام. أولاً من ناحية الـ Frontend: بمجرد أن يضغط المستخدم على الزر في المرة الأولى، سأقوم فوراً بتغيير حالة الزر إلى (Disabled / جاري التحميل) لمنعه من الضغط مرة أخرى حتى أستقبل الرد (Response) من الخادم. ثانياً وهو الأهم من ناحية الـ Backend: لا أثق أبداً في الـ Frontend وحده؛ سأطبق مفهوم (Idempotency) في الـ API الخاص بالدفع. سأجعل الـ Frontend يرسل مفتاحاً فريداً (Unique Token/ID) مع الطلب الأول، وسيقوم الـ Backend بتسجيل هذا المفتاح في قاعدة البيانات. إذا وصلت طلبات أخرى بنفس المفتاح (نتيجة ضغطات متكررة أو إعادة محاولة من الشبكة)، سيتجاهلها الـ Backend ولن يقوم بتنفيذ عملية الخصم المالي مرة أخرى، وسيرد بأن العملية قيد التنفيذ أو تمت بالفعل).

الاتصال بصاحب العمل