ما در شرکت ریتون به دنبال همکاری توانمند در حل مسأله و علاقمند به انجام کار تیمی هستیم که بتواند در کنار تیم فنی، در طراحی و پیادهسازی رابطهای کاربری خلاقانه و بهینه نقش کلیدی ایفا کند.
شرح شغل:
• طراحی و پیادهسازی زیرساخت: مشارکت در طراحی و پیادهسازی زیرساخت پروژههای فرانتاند.
• توسعه و سفارشیسازی کامپوننتها: طراحی، پیادهسازی و سفارشیسازی کامپوننتهای رابط کاربری مورد نیاز، با رعایت اصول قابلیت استفاده مجدد و پایداری.
• همکاری با تیم طراحی: همکاری مستمر با تیم UI/UX در تبدیل طرحهای گرافیکی (مانند Figma/Adobe XD) به کدهای کاربردی و ریسپانسیو. درک عمیق از تجربه کاربری (UX) جهت پیادهسازی راهکارهای بهینه، از اهمیت بالایی برخوردار است.
• یکپارچهسازی با APIها: پیادهسازی یکپارچهسازیهای لازم با رابطهای برنامهنویسی کاربردی سمت سرور (REST/GraphQL) و مدیریت وضعیت (State Management) برنامههای کاربردی.
• تست و تضمین کیفیت: نگارش تستهای واحد (Unit Tests) و مشارکت در نگارش تستهای یکپارچهسازی (Integration Tests) به منظور تضمین کیفیت نرمافزار.
• بهینهسازی عملکرد: مشارکت در فرآیند بهینهسازی عملکرد و سرعت بارگذاری رابطهای فرانتاند.
• بررسی کد و استانداردها: مشارکت فعال در فرآیند بررسی کد (Code Review) و رعایت دقیق استانداردهای کدنویسی تعریفشده در سازمان.
• نگهداری و بهبود: همکاری در نگهداری و بهبود مستمر نرمافزارهای تولید شده.
• همکاری بین تیمی: همکاری مؤثر با سایر اعضای تیم توسعه نرمافزار، شامل تحلیلگران، توسعهدهندگان بکاند و متخصصین تضمین کیفیت.
• رفع اشکال: تشخیص و رفع اشکالات (Bugs) در برنامههای کاربردی توسعه داده شده.
دانش و مهارتهای مورد نیاز:
• دانش پایه وب: تسلط کامل بر HTML، CSS و JavaScript و توانایی دیباگ کردن مسائل مرتبط با عملکرد آنها.
• تجربه با فریمورکها: حداقل 1 تا 2 سال تجربه کاری مرتبط با یکی از فریمورکهای اصلی فرانتاند (React, Angular, یا Vue).
• توسعه مبتنی بر کامپوننت: آشنایی با اصول توسعه مبتنی بر کامپوننت و ابزارهای مرتبط (نظیر Storybook).
• ابزارهای طراحی و مستندسازی: آشنایی حرفهای با Figma و Swagger.
• پروتکلهای ارتباطی: تسلط بر پروتکلهای ارتباط با سرور (HTTP و WebSocket).
• Progressive Web Apps (PWA): تسلط کامل بر پیادهسازی PWA.
• امنیت فرانتاند: آشنایی با مباحث امنیت در فرانتاند، از جمله XSS، CSRF، CSP و مدیریت توکنها.
• سیستم کنترل نسخه و CI/CD: توانایی کار با Git و آشنایی با فرآیندهای CI/CD (مانند GitHub Actions, GitLab CI).
• دانش بکاند (مزیت): آشنایی مقدماتی با فناوریهای بکاند (نظیر Node.js, Express) مزیت محسوب میشود.
مهارتهای تکمیلی و مورد علاقه (مزیت محسوب میشوند):
• تسلط بر فناوریهای هسته وب: توانایی دیباگ کردن عمیق و بهینهسازی عملکرد جاوااسکریپت، CSS و HTML.
• درک عمیق فریمورکها: نه تنها استفاده، بلکه درک عمیق از معماری داخلی، نقاط قوت و ضعف کتابخانهها و فریمورکهای مدرن، و توانایی شناسایی و حتی بهبود گلوگاههای عملکردی آنها.
• آگاهی از معماری UI/UX: توانایی درک خوب و عملی از اصول تجربه کاربری (UX) و مشارکت در پیشنهاد راهکارهای UI/UX (با توجه به وجود تیم مجزای UX).
• مشارکت Open-Source: علاقمندی و توانایی مشارکت فعال و مستقل در پروژههای Open-Source و ارائه Pull Requestهای باکیفیت.
• تسلط بر TypeScript: تسلط عمیق بر TypeScript و مفاهیم Advanced Types، از جمله توانایی نگارش Type Guardهای پیچیده، Generics پیشرفته و Type Utilityهای سفارشی.
• آزموننویسی پیشرفته: توانایی نگارش تستهای واحد و یکپارچهسازی با پوششدهی بالا و آشنایی با TDD (Test-Driven Development).
• ابزارهای باندلینگ: آشنایی با پیکربندی و بهینهسازی ابزارهای باندلینگ نظیر Webpack، Rollup، Vite یا Parcel.
• مدیریت Git پیشرفته: توانایی Rebase کردن، Cherry-Pick، Squash Commit و حل Conflictهای پیچیده در یک محیط تیمی بزرگ، با حفظ تاریخچه Git.
• JavaScript و معماری React: درک عمیق از مفاهیم پیشرفته React نظیر Context API، Hooks، Suspense و توانایی نگارش کدهای بهینه با حداقل Re-render.
• طراحی کامپوننتهای پایدار: توانایی ایجاد کامپوننتهای انعطافپذیر، قابل توسعه و قابل تست برای استفاده مجدد در پروژههای مختلف.
• Next.js: تسلط بر Next.js مزیت محسوب میشود.