برای توسعه و نگهداری بکاند یک فروشگاه آنلاین بزرگ، به یک توسعهدهنده ارشد NestJS نیاز داریم.
این پروژه یک وبسایت ساده فروشگاهی نیست؛ هدف ما ساخت یک زیرساخت حرفهای، پایدار و قابل توسعه برای یک کسبوکار با حجم بالای محصول، سفارش، کاربر و تراکنش است.
در حال حاضر تیم فرانتاند پروژه فعال است و دو نیروی Senior Frontend روی توسعه Frontend کار میکنند. همچنین تیم DevOps در مراحل زیرساخت و استقرار پروژه در کنار تیم توسعه خواهد بود.
به دنبال فردی هستیم که بتواند در کنار توسعه، در تصمیمگیریهای فنی بکاند نیز نقش جدی داشته باشد و در ادامه به یکی از نیروهای اصلی تیم برای نگهداری، توسعه و ارتقای محصول تبدیل شود.
مسئولیتها
- طراحی، توسعه و تکمیل Backend پروژه با NestJS
- طراحی و توسعه APIهای مورد نیاز Frontend
- طراحی معماری Backend با قابلیت توسعه و مقیاسپذیری
- توسعه ماژولهای اصلی فروشگاه شامل: کاربران و احراز هویت، محصولات و دستهبندیها، موجودی و انبار، سبد خرید، سفارشها، پرداخت، تخفیفها و کمپینها، ارسال، مدیریت کاربران و سطح دسترسی، گزارشها و سایر سرویسهای مورد نیاز
- طراحی و پیادهسازی ساختار مناسب Database
- بهینهسازی Queryها و عملکرد سیستم
- پیادهسازی Cache و Queue در بخشهای مورد نیاز
- پیادهسازی Authentication و Authorization
- رعایت اصول امنیتی در طراحی APIها
- نوشتن کد تمیز، قابل تست و قابل نگهداری
- Code Review و همکاری در استانداردسازی کد
- رفع باگ و مشکلات Production
- همکاری نزدیک با تیم Frontend و DevOps
- همکاری در طراحی و پیادهسازی CI/CD و فرآیند Deployment در کنار تیم DevOps
- مانیتورینگ و بررسی مشکلات Backend در محیط Production
- مستندسازی معماری، APIها و بخشهای مهم سیستم
- مشارکت در تصمیمات فنی و انتخاب تکنولوژیهای مناسب
- ادامه توسعه و نگهداری پروژه پس از Launch
مهارتهای الزامی
- حداقل 2 سال تجربه حرفهای در Backend Development
- تسلط حرفهای به Node.js
- تسلط بالا به NestJS
- تسلط مناسب به TypeScript
- تجربه طراحی و توسعه RESTful API
- آشنایی عمیق با معماری نرمافزار و Design Patternها
- تجربه کار با پروژههای متوسط و بزرگ
- تسلط به Git
- تجربه کار با PostgreSQL یا MySQL
- تسلط مناسب به طراحی Database و بهینهسازی Queryها
- تجربه کار با Redis
- تجربه کار با Queue / Message Broker
- آشنایی با Docker
- آشنایی با Linux و محیط Production
- درک مناسب از امنیت API و Backend
- تجربه Debugging و Performance Optimization
معماری و مقیاسپذیری
انتظار داریم صرفاً یک «کدنویس» نباشید و بتوانید درباره معماری سیستم تصمیم بگیرید.
آشنایی و تجربه در موارد زیر امتیاز بسیار مهمی محسوب میشود:
- Modular Architecture
- Clean Architecture
- SOLID
- Design Patterns
- Microservices
- Event-Driven Architecture
- Caching
- Queue Systems
- Horizontal Scaling
- Database Optimization
- Load Balancing
- High Availability
مزیت مهم: Frontend
تخصص اصلی این موقعیت Backend / NestJS است؛ اما اگر در کنار Backend تجربه حرفهای در Frontend نیز داشته باشید، یک مزیت جدی محسوب میشود.
بهخصوص تجربه در React، Next.js، TypeScript، REST API Integration، SSR / SSG و Performance Optimization برای ما امتیاز محسوب خواهد شد.
توجه: قرار نیست این موقعیت جایگزین نیروهای Frontend فعلی شود. تیم Frontend جداگانه داریم؛ اما داشتن دید Full-Stack باعث میشود همکاری و تصمیمگیری فنی بین Backend و Frontend بسیار بهتر انجام شود.
ویژگیهای فردی مورد انتظار
- مسئولیتپذیر
- اهمیت دادن به کیفیت کد
- توانایی کار مستقل
- مشارکت در حل مسئله و منتظر Task نماندن
- توانایی تحلیل معماری و تصمیمات فنی
- توانایی Debug کردن مشکلات پیچیده
- جدی گرفتن مستندسازی
- توانایی کار تیمی با Backend، Frontend و DevOps
- توانایی تحلیل و رفع سریع و منطقی مشکل در شرایط Production
- تمایل به همکاری بلندمدت
شرایط همکاری
- همکاری به صورت تماموقت
- همکاری بلندمدت
- مشارکت در یک پروژه واقعی با مقیاس بالا
- امکان ادامه همکاری و تبدیل شدن به یکی از اعضای اصلی تیم فنی پس از Launch
- حقوق و مزایا متناسب با سطح Seniority و توانایی فنی
- امکان رشد و افزایش مسئولیت فنی در پروژه
اگر تجربه توسعه Backend با NestJS در پروژههای واقعی و نسبتاً بزرگ را دارید و میتوانید علاوه بر کدنویسی، در معماری، Performance، Security، Scalability و نگهداری Production نیز نقش داشته باشید، رزومه خود را برای ما ارسال کنید.