مسئولیتهای اصلی و حوزههای تخصصی
1. توسعه و بهینهسازی سمت فرانتاند
- تسلط کامل بر پلتفرم Next.js برای پیادهسازی سایتهای SSR/CSR/ISR به صورت بهینه.
- استفاده از TypeScript جهت بهبود کیفیت کد و جلوگیری از خطاهای زمان کامپایل؛ توانایی نوشتن کد تمیز، خوانا و مستند.
- بهینهسازی رابط کاربری و تجربه کاربری:
- طراحی ریسپانسیو و مدرن با استفاده از تکنولوژیهای HTML5، CSS3 و فریمورکهایی مانند TailwindCSS و Shadcn.
- مدیریت stateهای پیچیده در برنامه از طریق Redux، Context API یا سایر ابزارهای مدیریت state.
- آشنایی و بهکارگیری تکنیکهای پیشرفته مانند Code Splitting، Lazy Loading و Pre-fetching جهت افزایش سرعت بارگذاری صفحات.
2. طراحی و پیادهسازی سمت بکاند و API
- توسعه APIها:
- تسلط در پیادهسازی APIهای RESTful و GraphQL به همراه بهینهسازی سرعت و امنیت تبادل داده.
- آشنایی عمیق با مفاهیم Authentication، Authorization، Token-based Authentication و بهکارگیری روشهای امن.
- سیستمهای Caching و مدیریت کوکی:
- طراحی و پیادهسازی سیستمهای Caching جهت کاهش بار سرور، افزایش سرعت پاسخدهی و بهبود تجربه کاربری.
- استفاده بهینه از کوکیها برای ذخیرهسازی اطلاعات غیر حساس کاربر و بهبود عملکرد جلسات (Session Management).
- استفاده از تکنیکهای Debouncing، Throttling و Caching برای رفع Bottleneck.
- ارتباط با پایگاههای داده و پردازش دادههای حجیم:
- آشنا به کار با پایگاههای داده SQL (مانند PostgreSQL یا MySQL) به همراه نگهداری بهینه و بهروز.
- آشنایی با تکنیکهای Vector Embedding برای انجام جستجوهای پیشرفته و کاربردی در متنهای معنایی.
- تجربه کار با Redis برای ایجاد پاپیلاینهای بهینه جهت مدیریت Cache، Session و پردازش دادههای Real-time.
3. یکپارچهسازی سرویسهای شخص ثالث و محیطهای توسعه
- توسعه یکپارچه با سرویسهای خارجی:
- استفاده از APIهای شخص ثالث مانند OpenAI، Gemini، xAI برای استفاده از مدلهای زبانی، Mapbox برای نقشهها، و سرویسهای GCP برای افزودن امکانات به سیستم.
- آشنایی با مفاهیم Webhook، Callback و مدیریت ارتباطات Asynchronous جهت تبادل داده با سرویسهای خارجی.
- راهاندازی و نگهداری محیطهای توسعه و استقرار:
- پیادهسازی پروژه در محیطهای ابری مانند Vercel؛ تقسیمبندی محیطهای Development، Staging و Production جهت تضمین کیفیت و پایداری.
- تجربه مدیریت CI/CD (Continuous Integration و Continuous Deployment) برای اتوماسیون تست و استقرار نرمافزار.
- توانایی تنظیم و مدیریت محیطهای کانتینری با ابزارهایی نظیر Docker جهت بهبود روند توسعه، تست و استقرار.
4. طراحی معماری نرمافزار و الگوهای طراحی
- توسعه معماری قابل توسعه و مقیاسپذیر:
- طراحی و شکستن پروژههای چندلایه به ماژولهای کوچک با توجه به تواناییهای تخصصی تیم.
- به کارگیری الگوهای طراحی نرمافزار مانند MVC، MVVM، Microservices و Event-driven Architecture جهت ایجاد سیستمهایی با انعطاف و امنیت بالا.
- توانایی شناسایی نقاط بهینهسازی و مدیریت بهینه منابع در پروژههای بزرگ و پیچیده.
- رهبری فنی و مدیریت پروژه:
- توانایی هدایت تیمهای چند تخصصی، برنامهریزی دقیق پروژهها، کنترل زمانبندی و بودجه معین.
- تسلط بر متدولوژیهای Agile و Scrum جهت ایجاد فرآیند توسعه چابک و انعطافپذیر.
سایر مهارتهای موردنیاز
مهارتهای شخصی و میانفردی:
- تسلط کامل به زبان انگلیسی در سطوح نوشتاری و گفتاری.
- توانایی کار در تیمهای چندتخصصی از جمله UX/UI Designer و Product Owner.
- قابلیت رهبری پروژه و مدیریت تیم با برنامهریزی دقیق و تقسیم وظایف.
- آشنایی با متدولوژیهای Agile، Scrum و سایر چارچوبهای توسعه چابک.
- روحیه یادگیری مداوم و تمایل به به اشتراکگذاری دانش.
مهارتهای امتیازی:
- آشنایی با Python و کتابخانههای Machine Learning به منظور همکاری در پروژههای تحلیل داده.
- تجربه در پیادهسازی معماری میکروسرویسها برای بهبود انعطافپذیری و مقیاسپذیری سامانه.
- آشنایی با سرویسهای مالی مانند Stripe، طراحی داشبوردهای تحلیلی و اتوماسیون گزارشگیری.
- تسلط بر مفاهیم امنیتی پیشرفته، رمزنگاری، نگهداری دادههای حساس و رعایت استانداردهای حریم خصوصی.
مزایا و فرصتهای شغلی
- زمان کاری انعطافپذیر: محیط کاری با امکان تنظیم ساعتهای کاری.
- حقوق رقابتی: پرداخت حقوق متناسب با تجربه و توانمندیها.
- پاداش عملکردی: جوایز و پاداشهای مالی متناسب با میزان بازگشت سرمایه و عملکرد پروژه.
- تبدیل حقوق به معادل دلاری: امکان تبدیل حقوق به دلار در صورت تبدیل نیرو به عضو اساسی تیم.
- محیط کاری دوستانه و نوآور: فرصت کار در تیمی پویا، با چالشهای فنی پیشرفته و فرصتهای مستمر رشد و یادگیری.