سباسیستم
سباسیستم

توسعه‌دهنده ارشد Backend (NestJS/Node.js)

تهران، آرژانتین
تمام وقت
شنبه الی چهارشنبه 9 الی 18
-
پاداش

این فرصت شغلی چقدر برای من مناسب است؟

11 تا 50 نفر
فناوری اطلاعات / نرم افزار و سخت افزار
شرکت ایرانی دارای مشتریان داخلی
سباسیستم
خصوصی
توضیحات بیشتر

شاخص های کلیدی از نظر کارفرما

5 سال سابقه کار در گروه شغلی مشابه
JavaScript - پیشرفته
T-SQL - پیشرفته
Node.js - پیشرفته
Git - متوسط
TypeScript - پیشرفته
RabbitMQ - مقدماتی
Docker - مقدماتی

شرح شغل و وظایف

ما در یک مجموعه نرم‌افزاری فعال در حوزه توسعه سیستم‌های سازمانی و لجستیک، به دنبال جذب یک برنامه‌نویس ارشد Backend با تخصص در NestJS و Node.js هستیم.
به دنبال فردی هستیم که علاوه بر تسلط بر تکنولوژی‌های Backend، درک عمیقی از اصول مهندسی نرم‌افزار، طراحی معماری سیستم‌های پیچیده و پیاده‌سازی راهکارهای مقیاس‌پذیر داشته باشد.
تسلط بر مفاهیم Domain-Driven Design (DDD)، Command Query Responsibility Segregation (CQRS)، Design Patterns و معماری نرم‌افزار از الزامات اصلی این موقعیت شغلی است.
مسئولیت‌ها و شرح وظایف
  • طراحی، توسعه و نگهداری سرویس‌ها و سیستم‌های Backend مبتنی بر NestJS.
  • طراحی معماری نرم‌افزارهای سازمانی با تمرکز بر توسعه‌پذیری، نگهداری‌پذیری و مقیاس‌پذیری.
  • تحلیل و مدل‌سازی دامنه‌های پیچیده کسب‌وکار با استفاده از Domain-Driven Design.
  • طراحی و پیاده‌سازی معماری مبتنی بر CQRS و تفکیک مسئولیت‌های خواندن و نوشتن اطلاعات.
  • طراحی و پیاده‌سازی ماژول‌های مستقل و با قابلیت توسعه و نگهداری بالا.
  • طراحی و توسعه RESTful API و سرویس‌های ارتباطی بین سیستم‌ها.
  • طراحی و پیاده‌سازی معماری Event-Driven و سیستم‌های مبتنی بر پیام.
  • بهینه‌سازی عملکرد سرویس‌ها، Queryهای دیتابیس و فرآیندهای پردازشی.
  • طراحی راهکارهای مناسب برای مدیریت تراکنش‌ها، یکپارچگی داده‌ها و ارتباط بین سرویس‌ها.
  • بازنگری کدها، انجام Code Review و بهبود مستمر کیفیت کد و معماری.
  • مشارکت در انتخاب تکنولوژی‌ها، ابزارها و راهکارهای فنی.
  • همکاری در هدایت فنی تیم توسعه و انتقال دانش و تجربیات به سایر اعضای تیم.
مهارت‌ها و تخصص‌های موردنیاز
مهارت‌های فنی ضروری
  • تسلط بر JavaScript و TypeScript و مفاهیم پیشرفته آن‌ها.
  • تسلط بر Node.js و اکوسیستم آن.
  • تسلط بر NestJS و معماری داخلی، ماژول‌ها، Providers، Guards، Interceptors، Pipes و Middleware.
  • تسلط بر طراحی و توسعه RESTful API و اصول طراحی API.
  • تسلط بر مفاهیم OOP، اصول SOLID و Separation of Concerns.
  • تسلط بر Design Patterns و توانایی انتخاب و پیاده‌سازی الگوهای طراحی مناسب.
  • تسلط بر Domain-Driven Design (DDD)، شامل:
  • Strategic و Tactical Design
  • Bounded Context
  • Aggregate و Aggregate Root
  • Entity و Value Object
  • Domain Events
  • Repository Pattern
  • Domain Services و Application Services
  • Context Mapping
  • تسلط بر CQRS و پیاده‌سازی عملی آن در سیستم‌های نرم‌افزاری.
  • آشنایی عمیق با Clean Architecture، Hexagonal Architecture و Layered Architecture.
  • تسلط بر اصول Clean Code و طراحی کدهای قابل نگهداری و توسعه.
  • تجربه کار با پایگاه‌های داده رابطه‌ای و طراحی دیتابیس‌های پیچیده.
  • تسلط بر SQL و بهینه‌سازی Queryها و ایندکس‌های دیتابیس.
  • تجربه کار با ORMها و Data Access Patterns.
  • تسلط بر مفاهیم Asynchronous Programming، Promise، Event Loop و مدیریت هم‌زمانی در Node.js.
  • تجربه طراحی سیستم‌های توزیع‌شده و آشنایی با چالش‌های ارتباط بین سرویس‌ها.
  • تجربه کار با Message Brokerها و الگوهای ارتباطی مبتنی بر پیام.
  • معماری و الگوهای طراحی پیشرفته
  • تسلط بر الگوهای طراحی حرفه‌ای و توانایی استفاده صحیح از آن‌ها در مسائل واقعی.
  • آشنایی با الگوهای Enterprise Application Architecture.
  • تجربه طراحی و پیاده‌سازی Event-Driven Architecture.
  • آشنایی با الگوهای Saga، Transactional Outbox و Distributed Transactions.
  • درک مفاهیم Idempotency، Eventual Consistency و Concurrency Control.
  • آشنایی با Modular Monolith و Microservices Architecture و شناخت مزایا و محدودیت‌های هرکدام.
  • توانایی طراحی سیستم‌های قابل توسعه، تست‌پذیر و مستقل از جزئیات زیرساختی.
ابزارها و تکنولوژی‌های تکمیلی
  • تجربه کار با Message Brokerهایی مانند RabbitMQ، Kafka یا NATS.
  • تجربه کار با Redis و مفاهیم Caching و Distributed Locking.
  • آشنایی با Docker و Containerization.
  • تجربه کار با Git و فرآیندهای مدیریت نسخه و توسعه تیمی.
  • آشنایی با Unit Testing، Integration Testing و E2E Testing.
  • آشنایی با ابزارهای تست مانند Jest.
  • آشنایی با CI/CD و فرآیندهای استقرار نرم‌افزار.
  • آشنایی با Logging، Monitoring، Distributed Tracing و Observability.
  • آشنایی با مفاهیم امنیت API و استانداردهای احراز هویت و سطح دسترسی.
خصوصیات فردی
  • توانایی مدیریت زمان، اولویت‌بندی و مدیریت و پیشبرد مستقل وظایف محول‌شده.
  • برخورداری از روحیه کار تیمی و توانایی برقراری تعامل سازنده با سایر اعضای تیم.
  • علاقه‌مندی به انتقال دانش و تجربیات فنی و مشارکت در رشد تخصصی اعضای تیم.
  • انعطاف‌پذیری در مواجهه با چالش‌های فنی و توانایی ارائه راهکارهای مناسب به‌جای تمرکز صرف بر مشکلات.
محیط و مزایای همکاری در سبا سیستم
  • محیط کاری دوستانه، صمیمی و مبتنی بر احترام و اعتماد متقابل.
  • همکاری با تیمی متخصص و باتجربه در حوزه توسعه نرم‌افزارهای سازمانی.
  • فرصت یادگیری، تبادل دانش و رشد مستمر مهارت‌های تخصصی.
  • احترام به تخصص، نظرات کارشناسی و استقلال عمل اعضای تیم.
  • فراهم بودن فرصت ارائه ایده‌ها و مشارکت در تصمیم‌گیری‌های فنی.
  • همکاری در توسعه و نگهداری سیستم‌های نرم‌افزاری سازمانی و پروژه‌های فنی چالش‌برانگیز.
  • فرصت مشارکت در بهبود معماری و ارتقای کیفیت محصولات نرم‌افزاری.
  • بیمه تامین اجتماعی.

شرایط احراز شغل

سن
30 - 40 سال
جنسیت
تفاوتی ندارد
خدمت سربازی
اتمام خدمت سربازی و یا معافیت از آن الزامی است
نرم افزارها
Node.js| پیشرفته JavaScript| پیشرفته TypeScript| پیشرفته T-SQL| پیشرفته Docker| مقدماتی Git| متوسط RabbitMQ| مقدماتی

ارسال رزومه برای سباسیستم

گزارش مشکل یا تخلف آگهی