وصف الوظيفة
نحن نبحث عن مطوّر واجهات أمامية ماهر ومتحفّز مع خبرة قوية في *React.
js* وأفضل ممارسات تطوير الواجهات الأمامية الحديثة.
المرشح المثالي يجب أن يكون مريحًا في بناء تطبيقات ويب قابلة للتوسع، سريعة الاستجابة، وعالية الأداء ودمجها مع *RESTful APIs والخلفيات القائمة على الخدمات المصغرة*.
ستعمل عن كثب مع مهندسي الخلفية، ومديري المنتجات، والمصممين، ومهندسي ضمان الجودة لتطوير تطبيقات حديثة قابلة للصيانة وسهلة الاستخدام.
* تطوير وصيانة تطبيقات ويب حديثة باستخدام *React.
js*. * بناء مكوّنات واجهة مستخدم قابلة لإعادة الاستخدام وقابلة للتوسع وقابلة للصيانة.
* دمج تطبيقات الواجهة الأمامية مع *REST APIs والخدمات المصغرة*.
* العمل مع فرق الخلفية لفهم عقود API، المصادقة، معالجة الأخطاء، ودمج الخدمات.
* تطبيق إدارة حالة التطبيق باستخدام *Redux / Redux Toolkit* أو حلول إدارة حالة مناسبة أخرى.
* تطوير واجهات متجاوبة ومتوافقة مع الأجهزة المحمولة عبر أجهزة وشاشات مختلفة.
* اتباع بنية وتطوير الواجهة الأمامية الحديثة وأفضل الممارسات.
* تحسين أداء التطبيق، وقت تحميل الصفحات، أداء العرض، وحجم الحزمة.
* تنفيذ حالات التحميل، الخطأ، الفراغ، والنجاح بشكل صحيح في التطبيق.
* معالجة تدفقات المصادقة والتفويض، بما في ذلك المصادقة المعتمدة على الرموز.
* العمل مع استدعاءات API غير المتزامنة وإدارة بيانات الخادم بكفاءة.
* كتابة كود نظيف، قابل لإعادة الاستخدام، modular، ومُوثّق جيداً.
* المشاركة في مراجعات الكود والمساهمة في معايير ترميز الواجهة الأمامية.
* استكشاف أخطاء الواجهة الأمامية وإصلاحها في بيئة الإنتاج.
* التعاون مع مهندسي ضمان الجودة لضمان إصدار عالي الجودة وموثوق.
* العمل مع تدفقات التطوير المعتمدة على Git والمشاركة في عمليات سحب/مراجعة الكود.
* المساهمة في تحسين عمارة الواجهة الأمامية بشكل عام مع تطور المنتج.
المتطلبات التقنية الأساسية React.
js * خبرة عملية قوية بـ *React.
js*. * فهم قوي لـ: * المكوّنات الوظيفية * React Hooks * دورة حياة المكوّن * Props والحالة * Context API * Custom Hooks * تصميم مكوّنات قابلة لإعادة الاستخدام * تجربة البناء تطبيقات React على نطاق واسع.
إدارة الحالة * خبرة قوية مع *Redux / Redux Toolkit*.
* فهم إدارة الحالة العالمية مقابل المحلية.
* تجربة التعامل مع حالة غير متزامنة وبيانات API.
* الإلمام ببدائل مثل *React Query / TanStack Query* ميزة إضافية.
التطوير الأمامي الحديث * معرفة قوية بـ *JavaScript (ES6+)*.
* فهم جيد لـ *TypeScript*.
* خبرة مع CSS الحديثة وتصميم استجابة.
* تجربة مع تطوير واجهات مبنية على المكوّنات.
* فهم هندسة الواجهة الأمامية وأنماط التصميم.
* خبرة مع أدوات البناء الحديثة مثل *Vite, Webpack, أو ما شابه*.
* فهم تقطيع الكود، التحميل الكسول، التخزين المؤقت، وتحسين أداء الواجهة الأمامية.
الخدمات المصغرة وتكامل API * تجربة دمج تطبيقات React مع *أنظمة خلفية قائمة على الخدمات المصغرة*.
* فهم قوي لـ *REST APIs* و JSON.
* فهم: * مصادقة API * تفويض * طرق HTTP ورموز الحالة * معالجة أخطاء API * التصفح والتصفية والفرز * رفع الملفات * Webhooks/events من منظور واجهة المستخدم * القدرة على العمل مع عدة خدمات/API خلفية ضمن تطبيق واجهة أمامية واحد.
* فهم حدود الخدمة وكيفية تفاعل تطبيقات الواجهة الأمامية مع أنظمة الخلفية الموزعة.
HTML / CSS * معرفة قوية بـ *HTML5, CSS3، والتصميم المتجاوب*.
* تجربة مع أطر CSS الحديثة مثل *Tailwind CSS, Bootstrap, أو Material UI*.
* القدرة على تحويل تصاميم UI/UX إلى تنفيذات أمامية نظيفة ومتجاوبة.
* فهم جيد للوضوح والوصول عبر المتصفحات المختلفة.
Git & ممارسات التطوير * خبرة قوية بـ *Git وGitHub/GitLab/Bitbucket*.
* تجربة مع: * فرع الميزات * طلبات السحب * مراجعات الكود * صراعات الدمج * أدوار الإصدار * فهم تدفقات CI/CD ميزة إضافية.
المهارات المحبذة * تجربة مع *Next.
js*. * تجربة مع *TypeScript* في تطبيقات الإنتاج.
* تجربة مع *React Query / TanStack Query*.
* تجربة مع *WebSockets أو تطبيقات الوقت الحقيقي*.
* تجربة مع *Micro Frontends* ميزة قوية.
* تجربة مع *Storybook*.
* تجربة كتابة اختبارات الوحدات/الاندماج للواجهة الأمامية باستخدام *Jest, Vitest, React Testing Library, أو Cypress/Playwright*.
* فهم Docker والتطبيقات المحوسبة بالحاويات.
* تجربة العمل في بيئات سحابية مثل AWS.
* فهم قابلية الرصد للتطبيق ومراقبة الواجهة الأمامية.
* تجربة العمل في فرق Agile/Scrum.
توقعات بنية الواجهة الأمامية يجب أن يفهم المرشح كيف تبنى تطبيقات أمامية قابلة للتوسع مع نمو المنتج.
يجب أن يكونوا مرتاحين مع مفاهيم مثل: * بنية قائمة على المكوّنات * بنية مجلدات قائمة على الميزة * مكونات واجهة قابلة لإعادة الاستخدام * فصل الاهتمامات * إدارة الحالة * طبقات تجريد API/الخدمات * إدارة حالة الخطأ والتحميل * المصادقة/التفويض * تحسين الأداء * التحميل الكسول وتقسيم الشفرة * تكوين يعتمد على البيئة * بنية مشروع أمامية قابلة للتوسع **Example Technology Stack** *Frontend* * React.
js * TypeScript * Redux Toolkit * React Query / TanStack Query * HTML5 * CSS3 * Tailwind CSS / Material UI Backend Integration * REST APIs * Microservices * JSON * OAuth/JWT-based authentication Development * Git * GitHub/GitLab * Vite / Webpack * Docker * CI/CD Testing * Jest / Vitest * React Testing Library * Cypress / Playwright Soft Skills * مهارات عالية في حل المشاكل وتصحيح الأخطاء.
* مهارات تواصل وتعاون جيدة.
* القدرة على العمل بشكل مستقل وكجزء من فريق.
* اهتمام قوي بالتفاصيل.
* القدرة على فهم متطلبات العمل وترجمتها إلى حلول تقنية.
* الرغبة في تعلم تقنيات جديدة وممارسات تطوير حديثة.
* الراحة في العمل في بيئة تطوير منتج سريعة الإيقاع.
ما الذي نبحث عنه نحن نبحث عن شخص لا يكتفي بكتابة مكونات React فقط بل يمكنه *التفكير خارج نطاق الشاشات الفردية وبناء أنظمة أمامية قابلة للتوسع*.
يجب أن يفهم المرشح المثالي *كيف تتواصل الواجهة الأمامية الحديثة مع خدمات الخلفية الموزعة، وتدير حالة التطبيق، وتتعامل مع الفشل، وتؤدي بكفاءة، وتظل قابلة للصيانة مع نمو التطبيق.
*
Job description
We are looking for a skilled and motivated *Frontend Developer* with strong experience in *React.
js* and modern frontend development practices.
The ideal candidate should be comfortable building scalable, responsive, and high-performance web applications and integrating them with *RESTful APIs and microservices-based backends*.
You will work closely with backend engineers, product managers, designers, and QA engineers to develop modern, maintainable, and user-friendly applications.
* Develop and maintain modern web applications using *React.
js*. * Build reusable, scalable, and maintainable UI components.
* Integrate frontend applications with *REST APIs and microservices*.
* Work with backend teams to understand API contracts, authentication, error handling, and service integrations.
* Implement application state management using *Redux / Redux Toolkit* or other appropriate state-management solutions.
* Develop responsive and mobile-friendly interfaces across different devices and screen sizes.
* Follow modern frontend architecture and development best practices.
* Optimize application performance, page load time, rendering performance, and bundle size.
* Implement proper loading, error, empty, and success states across the application.
* Handle authentication and authorization flows, including token-based authentication.
* Work with asynchronous API calls and efficiently manage server-side data.
* Write clean, reusable, modular, and well-documented code.
* Participate in code reviews and contribute to frontend coding standards.
* Troubleshoot and resolve frontend bugs and production issues.
* Collaborate with QA engineers to ensure high-quality and reliable releases.
* Work with Git-based development workflows and participate in pull-request/code-review processes.
* Contribute to improving the overall frontend architecture as the product evolves.
Required Technical Skills React.
js * Strong hands-on experience with *React.
js*. * Strong understanding of: * Functional Components * React Hooks * Component lifecycle * Props and state * Context API * Custom Hooks * Reusable component design * Experience building large-scale React applications.
State Management * Strong experience with *Redux / Redux Toolkit*.
* Understanding of global vs local state management.
* Experience handling asynchronous state and API data.
* Familiarity with alternatives such as *React Query / TanStack Query* is a plus.
Modern Frontend Development * Strong knowledge of *JavaScript (ES6+)*.
* Good understanding of *TypeScript*.
* Experience with modern CSS and responsive design.
* Experience with component-based UI development.
* Understanding of frontend architecture and design patterns.
* Experience with modern build tools such as *Vite, Webpack, or similar*.
* Understanding of code splitting, lazy loading, caching, and frontend performance optimization.
Microservices & API Integration * Experience integrating React applications with *microservices-based backend systems*.
* Strong understanding of *REST APIs* and JSON.
* Understanding of: * API authentication * Authorization * HTTP methods and status codes * API error handling * Pagination * Filtering and sorting * File uploads * Webhooks/events from a frontend perspective * Ability to work with multiple backend services/APIs within a single frontend application.
* Understanding of service boundaries and how frontend applications interact with distributed backend systems.
HTML / CSS * Strong knowledge of *HTML5, CSS3, and responsive design*.
* Experience with modern CSS frameworks such as *Tailwind CSS, Bootstrap, or Material UI*.
* Ability to convert UI/UX designs into clean and responsive frontend implementations.
* Good understanding of accessibility and cross-browser compatibility.
Git & Development Practices * Strong experience with *Git and GitHub/GitLab/Bitbucket*.
* Experience with: * Feature branches * Pull requests * Code reviews * Merge conflicts * Release workflows * Understanding of CI/CD workflows is a plus.
Nice-to-Have Skills * Experience with *Next.
js*. * Experience with *TypeScript* in production applications.
* Experience with *React Query / TanStack Query*.
* Experience with *WebSockets or real-time applications*.
* Experience with *Micro Frontends* is a strong plus.
* Experience with *Storybook*.
* Experience writing frontend unit/integration tests using *Jest, Vitest, React Testing Library, or Cypress/Playwright*.
* Understanding of Docker and containerized applications.
* Experience working with cloud environments such as AWS.
* Understanding of application observability and frontend monitoring.
* Experience working in Agile/Scrum teams.
Frontend Architecture Expectations The candidate should have an understanding of how to build frontend applications that can scale as the product grows.
They should be comfortable with concepts such as: * Component-driven architecture * Feature-based folder structure * Reusable UI components * Separation of concerns * State management * API/service abstraction layers * Error and loading-state management * Authentication/authorization * Performance optimization * Lazy loading and code splitting * Environment-based configuration * Scalable frontend project structure Example Technology Stack *Frontend* * React.
js * TypeScript * Redux Toolkit * React Query / TanStack Query * HTML5 * CSS3 * Tailwind CSS / Material UI Backend Integration * REST APIs * Microservices * JSON * OAuth/JWT-based authentication Development * Git * GitHub/GitLab * Vite / Webpack * Docker * CI/CD Testing * Jest / Vitest * React Testing Library * Cypress / Playwright Soft Skills * Strong problem-solving and debugging skills.
* Good communication and collaboration skills.
* Ability to work independently and as part of a team.
* Strong attention to detail.
* Ability to understand business requirements and translate them into technical solutions.
* Willingness to learn new technologies and modern development practices.
* Comfortable working in a fast-paced product development environment.
What We Are Looking For We are looking for someone who is not only capable of writing React components but can *think beyond individual screens and build scalable frontend systems*.
The ideal candidate should understand *how a modern frontend communicates with distributed backend services, manages application state, handles failures, performs efficiently, and remains maintainable as the application grows.
*