Job description
Company culture :
Aba Technology is a company driven by innovation, where creativity, experimentation, and bold thinking shape everyday work. This entrepreneurial mindset is supported by strong structure and process discipline, ensuring efficiency and consistent quality. Teams thrive in a collaborative and caring environment that values trust, support, and close teamwork. While performance and competition play a lighter role, the focus remains on agility, collective alignment, and impactful innovation.
Job :
Technical Leadership
• Define the frontend architecture (choice of frameworks, design system, project structure, state management strategy, micro-frontends if applicable).
• Establish and enforce code standards (guidelines, linting, conventions, systematic code reviews).
• Make technical decisions and manage technical debt (technical roadmap, planned refactoring).
• Carry out the most complex developments and proofs of concept.
• Ensure quality through testing strategy (unit, integration, E2E - Jest/Vitest, Testing Library, Playwright/Cypress).
Team Management
• Mentor and develop the skills of a team of 3 to 6 frontend developers (mentoring, pair programming, regular feedback).
• Participate in recruitment (technical interviews, tests) and onboarding of new hires.
• Lead technical rituals (architecture reviews, frontend guilds, knowledge sharing).
• Estimate workload and contribute to sprint planning and estimations.
Product and Design Collaboration
• Work closely with Product Managers and UX/UI designers to transform mockups into high-performing and accessible interfaces.
• Challenge functional specifications from a feasibility and user experience perspective.
• Contribute to the construction and governance of the design system.
Performance, Accessibility, and Security
• Optimize web performance (Core Web Vitals, lazy loading, code splitting, caching, SSR/SSG).
• Ensure accessibility (WCAG 2.1/2.2, RGAA) and cross-browser/cross-device compatibility.
• Apply frontend security best practices (CSP, XSS/CSRF protection, secure token management) in coordination with security teams.
• Oversee frontend monitoring (Sentry, performance analytics, RUM).
Required profile :
Hard Skills
• Education: Master's degree in Computer Science or equivalent (experience is valued).
• Experience: 5 to 8 years in frontend development, with at least 1 year in a lead or technical referent role.
• Assets: Open-source contributions, design system experience, backend knowledge (Node.js) to communicate with fullstack teams.
• Languages: JavaScript (expert), TypeScript (expert), HTML5, CSS3/Sass.
• Frameworks: In-depth mastery of React JS with Next.js/Nuxt a plus.
• State management: Redux, Zustand, or equivalents.
• Tooling: Vite/Webpack, npm/pnpm, monorepos (Turborepo/Nx).
• Testing: Jest/Vitest, Testing Library, Playwright, or Cypress.
• APIs: REST and GraphQL consumption, cache and error management.
• Design systems: Storybook, design tokens, reusable components.
Soft Skills:
• Natural leadership and ability to unite without direct hierarchical authority.
• Excellent communication (technical explanation to non-technical people).
• Product and user experience mindset.
• Demand for quality balanced with pragmatism (time-to-market).
• Ability to make decisions and stand by them.
وصف الوظيفة
ثقافة الشركة :
أبا تكنولوجي هي شركة تقودها الابتكار، حيث يكوِّن الإبداع، والتجريب، والتفكير الجريء العمل اليومي. هذه العقلية الريادية مدعومة بــهيكلة وانضباط عمليات قوي، مما يضمن الكفاءة والجودة المتسقة. الفرق تزدهر في بيئة تعاونية ومهتمة تقيّم الثقة والدعم والعمل الجماعي الوثيق. بينما تلعب الأداء والمنافسة دورًا خفيفًا، يظل التركيز على الرشاقة، التوافق الجماعي، والابتكار المؤثر.
العمل :
القيادة التقنية
• تحديد هندسة الواجهة الأمامية (اختيار أطر العمل، نظام التصميم، هيكل المشروع، استراتيجية إدارة الحالة، الميكروفيرنتس إن كان ذلك مناسبًا).
• Establish and enforce code standards (guidelines, linting, conventions, systematic code reviews).
• اتخاذ قرارات تقنية وإدارة الدين التقني (خارطة الطريق التقنية، refactoring المخطط).
• تنفيذ أكثر التطورات تعقيدًا وإثبات المفاهيم.
• ضمان الجودة من خلال استراتيجية الاختبار (وحدوي، تكاملي، End-to-End - Jest/Vitest، Testing Library، Playwright/Cypress).
إدارة الفريق
• توجيه وتطوير مهارات فريق من 3 إلى 6 مطوري واجهة أمامية (التوجيه، البرمجة الزوجية، التغذية المرتدة المنتظمة).
• المشاركة في التوظيف (مقابلات تقنية، اختبارات) وتوجيه الموظفين الجدد.
• قيادة الطقوس التقنية (مراجعات الهندسة، نقابات الواجهة الأمامية، تبادل المعرفة).
• تقدير عبء العمل والمساهمة في تخطيط السبرنت والتقديرات.
التعاون مع المنتج والتصميم
• العمل عن كثب مع مديري المنتجات ومصممي UX/UI لتحويل النماذج إلى واجهات عالية الأداء وقابلة للوصول.
• تحدي المواصفات الوظيفية من منظور الجدوى وتجربة المستخدم.
• المساهمة في البناء وحوكمة نظام التصميم.
الأداء، قابلية الوصول، والأمان
• تحسين أداء الويب (Core Web Vitals، التحميل الكسول، تقسيم الأكواد، التخزين المؤقت، SSR/SSG).
• ضمان الوصول (WCAG 2.1/2.2، RGAA) والتوافق عبر المتصفحات والأجهزة.
• تطبيق أفضل ممارسات أمان الواجهة الأمامية (CSP، حماية XSS/CSRF، إدارة الرموز الآمنة) بالتنسيق مع فرق الأمان.
• الإشراف على رصد الواجهة الأمامية (Sentry، تحليلات الأداء، RUM).
الملف الشخصي المطلوب :
المهارات الفنية
• التعليم: درجة الماجستير في علوم الحاسب أو ما يعادلها (يُقدر الخبرة).
• الخبرة: من 5 إلى 8 سنوات في تطوير الواجهة الأمامية، مع سنة واحدة على الأقل في دور قيادي أو مرجع تقني.
• الأصول: مساهمات مفتوحة المصدر، خبرة في نظام التصميم، معرفة الخلفية (Node.js) للتواصل مع فرق الواجهة كاملة التكديس.
• اللغات: JavaScript (خبير)، TypeScript (خبير)، HTML5، CSS3/Sass.
• الأطر: اتقان عميق لـ React JS مع Next.js/Nuxt يعد زائدًا.
• إدارة الحالة: Redux، Zustand، أو ما يعادله.
• الأدوات: Vite/Webpack، npm/pnpm، مونو ريب (Turborepo/Nx).
• الاختبار: Jest/Vitest، Testing Library، Playwright، أو Cypress.
• APIs: استهلاك REST وGraphQL، إدارة التخزين المؤقت والأخطاء.
• نظم التصميم: Storybook، رموز التصميم، مكونات قابلة لإعادة الاستخدام.
المهارات الناعمة:
• قدرة قيادية طبيعية وتوحيد الفريق بدون سلطة هرمية مباشرة.
• تواصل ممتاز (شرح تقني لغير التقنيين).
• عقلية المنتج وتجربة المستخدم.
• السعي للجودة مع الواقعية (الزمن إلى السوق).
• القدرة على اتخاذ القرارات والالتزام بها.