As a Software Engineer, you will be responsible for designing, developing, and maintaining scalable backend systems that support our core products and services. You will play a key role in building robust APIs, data-driven services, and event-based systems, working closely with product, frontend, and infrastructure teams. This role requires strong backend fundamentals, experience with Node.js (NestJS), and a solid understanding of modern architectural patterns to deliver reliable and maintainable software at scale.
Responsibilities
Design, develop, and maintain backend services using Node.js and NestJS. Build and optimize data models and queries using PostgreSQL, ensuring performance and data integrity. Apply Hexagonal (Ports & Adapters) architecture principles to create clean, testable, and maintainable codebases. Develop and maintain services within a modular monolith architecture, with a clear path toward scalability. Implement asynchronous and event-driven communication using RabbitMQ. Use Redis for caching, performance optimization, and distributed coordination where needed. Collaborate closely with frontend, product, and DevOps teams to deliver end-to-end features. Write clean, well-tested, and well-documented code following best practices. Participate in code reviews, architectural discussions, and technical decision-making. Identify performance bottlenecks and proactively improve system reliability and scalability.
Requirements
More than 2 years of experience in backend development.
Strong hands-on experience with Node.js and NestJS.
Solid experience working with PostgreSQL in production environments.
Experience working with or designing modular monolith architectures.
Experience using Redis for caching or other backend use cases.
Experience using Docker and building containerized applications.
Ability to write unit and integration tests and an understanding of testing best practices.
Good understanding of RESTful APIs and backend fundamentals.
Strong problem-solving skills and attention to detail.
Ability to work independently as well as collaboratively within a team.
Good communication skills and a proactive mindset.
Nice to Have
Familiarity with Hexagonal architecture and its core principles. Hands-on experience with RabbitMQ for messaging and event-driven systems. Familiarity with Kubernetes and container orchestration concepts.
اسنپشاپ با هدف تسهیل خرید آنلاین و ارائه تجربهای سریع و مطمئن، فعالیت خود را در سال ۱۳۹۸ آغاز کرد. این پلتفرم با ارائه خدمات تحویل سفارشها در انواع مختلف تحویل زیر سه ساعت، تحویل بهصرفه و تجمیعی استانداردی نوین در بازار خردهفروشی آنلاین ایران ایجاد کرده است.
امروز اسنپشاپ بهعنوان یکی از سرویسهای اصلی خانواده اسنپ، در مسیر توسعه پایدار و گسترش خدمات به شهرهای بیشتر قرار دارد. ما متعهدیم کیفیت خدمات خود را همگام با استانداردهای جهانی ارتقا دهیم و ارزشآفرینی مستمر برای مشتریان و جامعه فراهم کنیم.