Job description
We are looking for a Full-Stack Software Engineer to build, scale, and maintain performant web applications and services. In this role, you will work across the entire stack—designing intuitive user interfaces, developing robust backend APIs, and managing server deployment and databases.
You will collaborate closely with product managers, designers, and senior engineers to transform complex business requirements into high-quality, production-ready code. The ideal candidate has strong hands-on experience in full-stack web development, solid architectural fundamentals, and a focus on writing clean, tested, and scalable code.
Key Responsibilities:
- Design, build, and maintain frontend user interfaces and backend services.
- Develop secure, scalable RESTful or GraphQL APIs and microservices.
- Design database schemas, write efficient queries, and optimize performance across relational and Non-relational databases.
- Write clean, maintainable, and well-tested code (unit, integration, and end-to-end tests).
- Containerize applications using Docker and participate in setting up CI/CD deployment pipelines.
- Troubleshoot, debug, and optimize application performance across the stack.
- Actively participate in code reviews, technical discussions, and agile planning sessions.
Skills
Technical Skills:
- Frontend: 3+ years of experience with modern JavaScript/TypeScript frameworks (e.g., React, Next.js, Vue, or Angular) and responsive state management.
- Backend: 3+ years of experience with server-side languages/runtimes (e.g., Node.js, Python, Go, or Java/Spring Boot).
- Databases: Strong proficiency in SQL (e.g., PostgreSQL, MySQL) and experience with NoSQL solutions (e.g., MongoDB, Redis).
- APIs: Experience designing, building, and consuming RESTful APIs or GraphQL.
- DevOps & Tooling: Hands-on experience with Docker, Git, CI/CD pipelines (GitHub Actions, GitLab CI, or Jenkins), and basic Linux administration.
- Architecture: Firm understanding of core web security practices (OAuth, JWT, CORS), asynchronous tasks/caching, and microservices design.
Professional & Soft Skills:
- Problem Solving: Strong analytical skills with a track record of debugging and optimizing complex applications.
- Agile Workflow: Familiarity with Agile/Scrum environments, sprint planning, and issue tracking tools (e.g., Jira).
- Collaboration: Excellent communication skills to articulate technical decisions clearly to both technical and non-technical stakeholders.
الوصف الوظيفي
نحن نبحث عن مهندس برمجيات متكامل (Full-Stack) لبناء وتوسيع وصيانة تطبيقات وخدمات الويب عالية الأداء. في هذا الدور، ستعمل على جميع طبقات التطوير—تصميم واجهات المستخدم السلسة، وتطوير واجهات برمجية خلفية قوية (APIs)، وإدارة نشر الخوادم وقواعد البيانات.
ستتعاون بشكل وثيق مع مدراء المنتجات والمصممين وكبار المهندسين لتحويل متطلبات الأعمال المعقدة إلى برمجيات عالية الجودة وجاهزة للإنتاج. يمتلك المرشح المثالي خبرة عملية قوية في تطوير الويب المتكامل، وأساسيات معمارية متينة، وتركيزاً على كتابة كود نظيف ومختبر وقابل للتوسع.
المسؤوليات الرئيسية:
- تصميم وبناء وصيانة واجهات المستخدم الأمامية والخدمات الخلفية.
- تطوير واجهات برمجة تطبيقات (RESTful أو GraphQL) وخدمات مصغرة (microservices) آمنة وقابلة للتوسع.
- تصميم مخططات قواعد البيانات، وكتابة استعلامات فعالة، وتحسين الأداء عبر قواعد البيانات العلاقاتية وغير العلاقاتية.
- كتابة كود نظيف، سهل الصيانة، ومختبر جيداً (اختبارات الوحدة، والتكامل، والاختبارات الشاملة End-to-End).
- تحزيم التطبيقات باستخدام Docker والمشاركة في إعداد أنابيب النشر والتكامل المستمر (CI/CD).
- استكشاف الأخطاء وإصلاحها وتحسين أداء التطبيق عبر جميع الطبقات.
- المشاركة بفعالية في مراجعات الكود والمناقشات الفنية وجلسات التخطيط المتبعة لأسلوب Agile.
المهارات
المهارات الفنية:
- الواجهة الأمامية (Frontend): خبرة لا تقل عن 3 سنوات في أطر عمل JavaScript/TypeScript الحديثة (مثل React أو Next.js أو Vue أو Angular) وإدارة الحالة الاستجابية.
- الواجهة الخلفية (Backend): خبرة لا تقل عن 3 سنوات في لغات/بيئات تشغيل جانب الخادم (مثل Node.js أو Python أو Go أو Java/Spring Boot).
- قواعد البيانات: إتقان قوي لـ SQL (مثل PostgreSQL و MySQL) وخبرة في حلول NoSQL (مثل MongoDB و Redis).
- واجهات برمجة التطبيقات (APIs): خبرة في تصميم وبناء واستهلاك واجهات برمجة تطبيقات RESTful أو GraphQL.
- DevOps والأدوات: خبرة عملية في Docker و Git وأنابيب CI/CD (مثل GitHub Actions أو GitLab CI أو Jenkins) وإدارة نظام Linux الأساسية.
- المعمارية البرمجية: فهم قوي للممارسات الأساسية لأمان الويب (OAuth، JWT، CORS)، والمهام غير المتزامنة/التخزين المؤقت، وتصميم الخدمات المصغرة (microservices).
المهارات المهنية والشخصية:
- حل المشكلات: مهارات تحليلية قوية مع سجل حافل في استكشاف أخطاء التطبيقات المعقدة وإصلاحها وتحسين أدائها.
- سير العمل وفق منهجية Agile: دراية ببيئات Agile/Scrum وتخطيط دورات التطوير (Sprints) وأدوات تتبع المشكلات (مثل Jira).
- التعاون: مهارات تواصل ممتازة لتوضيح القرارات الفنية بوضوح لأصحاب المصلحة الفنيين وغير الفنيين.