ما به دنبال یک مهندس ارشد بکاند با تجربه هستیم که مسئول طراحی، توسعه و مقیاسپذیری زیرساخت پیامرسانی و سیستم نوتیفیکیشن یک محصول دیجیتال در مقیاس بزرگ باشد. فرد منتخب نقش کلیدی در توسعه قابلیتهای چت، پیامرسانی لحظهای، نوتیفیکیشنهای هوشمند و بهبود عملکرد سیستم خواهد داشت و مستقیماً در انتقال ویژگیها به محیط عملیاتی (Production) مشارکت میکند. شرح وظایف
# مسئولیتها
* مالکیت منطق اصلی محصول شامل کاربران، پروفایلها، نقشها و سطوح دسترسی (RBAC)، گراف اجتماعی، گروهها، رویدادها/میزها (Events/Tables)، عملیات CRUD و وضعیتها، درخواستهای عضویت و RSVP، پرداختها، رسانهها، سیستم مدیریت محتوا و پنل مدیریت. * مدلسازی ماشینهای حالت (State Machines) در پایگاه داده رابطهای برای فرآیندهایی مانند:
* RSVP / عضویت: Pending → Accepted → Rejected → Canceled * پرداخت: Authorize → Capture → Refund همراه با Migrationهای ایمن و قابل بازگشت. * طراحی جریان پرداخت، Escrow و تقسیم هزینه (Cost Split) با قابلیت:
* Idempotent Writes * دفتر کل مالی (Basic Ledger) * مدیریت Webhookها با اعتبارسنجی امضا (Signature Verification) * فرآیند Reconciliation محدودیتهای درگاه پرداخت و الزامات Compliance توسط تیم محصول و حقوقی تعریف میشود؛ اما مسئولیت طراحی جریان بکاند، Idempotency، Ledger، Webhookها و Reconciliation بر عهده این موقعیت شغلی است. * پیادهسازی سیستمهای احراز مجوز (Authorization) شامل:
* Ownership Checks * RBAC * APIهای مدیریتی و Moderation * مدیریت فایلها و رسانهها از طریق:
* آپلود و تحویل با Signed URL (S3/CDN) * SSRF-Safe Server-Side Fetch * اعتبارسنجی حجم و نوع فایل * ممیزی کامل بکاند موجود و شناسایی بخشهای:
* Done * Partial * Broken * Missing * Over-Engineered همراه با ارائه مستندات، برآورد زمانی بر اساس ساعت و رساندن توسعهها به محیط Production همراه با Monitoring.
## شرایط احراز
* حداقل ۴ تا ۷ سال سابقه حرفهای در توسعه بکاند (سطح Senior)؛ * حداقل ۳ سال تجربه با Node.js و TypeScript؛ * تجربه عملی در NestJS در محیط Production بهشدت ترجیح داده میشود (یا تجربه قوی Node.js در فریمورکهای ساختارمند مشابه). * تسلط بر پایگاههای داده رابطهای:
* طراحی Schema * Indexing * Transactions * Query Optimization * آگاهی از Connection Pooling * مدلسازی State Machine برای فرآیندهایی مانند RSVP و پرداخت * تجربه طراحی سیستمهای پرداخت، Escrow و Cost Split شامل:
* Idempotent Writes * Basic Ledger * Signature-Verified Webhooks * Reconciliation * تسلط کامل بر Authorization:
* Route Guards * Ownership Checks * Role Checks * RBAC * APIهای مدیریتی و Moderation * JWT / Session Management * Secrets Handling * تجربه در Migrationهای ایمن و قابل بازگشت.
* استفاده از synchronize:true یا Auto Sync در محیط Production مجاز نیست. * تجربه مدیریت رسانه:
* REST API * Swagger / OpenAPI * Validation * Pagination * Error Handling * تجربه استفاده از Redis برای:
* Caching * Rate Limiting * تجربه کار با Background Jobs و Queueها. * سابقه کار روی Codebaseهای موجود و ناقص، توانایی درک و بهبود کدهای ناآشنا و رویکرد عملگرایانه بدون تمایل به بازنویسی کامل سیستم. * تجربه در:
* Unit Testing * Integration Testing * Git و Workflowهای Pull Request * Docker * مبانی CI/CD * Logging * Metrics * استقرار و Monitoring در Production * توانایی برآورد زمانی بر اساس Ticket و ساعت کاری و انجام Peer Review حرفهای. * تسلط کافی به زبان انگلیسی برای مطالعه مستندات و نگارش یادداشتهای فنی. * سابقه فعالیت در حوزههای Marketplace، Booking، Event، Reservation، Fintech یا Social مزیت مهم محسوب میشود.
## مزیتهای رقابتی (Nice to Have)
* تجربه Stripe Connect و جریانهای Escrow * تجربه سیستمهای رزرو یا Marketplace مبتنی بر کمیسیون * تجربه مدلسازی دادههای رویداد و موقعیت مکانی (آشنایی با PostGIS اختیاری است) * تجربه کار با Payment Gatewayها
ما یک استارتاپ در حال توسعه هستیم در حال ساخت یک اپلیکیشن با محتوای سوشال مدیا است . مجموعه ما تشکیل شده از جوانان خلاق و با انگیزه که در کنار تخصصشون با همدلی مسیر این پروژه رو پیش گرفتند . ما در تلاشیم با در نظر گرفتن بهترین شرایط برای کارجو ها فضایی امن و قابل پیشرفت رو درست کنیم