We are seeking an experienced Full-time Senior BackEnd Developer (Node.js) with a strong background in E-Commerce systems. In this role, you will be pivotal in managing the flow of data between the server and users. Your primary focus will involve developing server-side logic, maintaining the central database, and ensuring the application's high performance and responsiveness to front-end requests.
Additionally, you will collaborate with our front-end development team, integrating their elements seamlessly into the application. Therefore, a fundamental understanding of front-end technologies is essential for success in this role.
- The job is a hybrid position in the Tehran office.
key Responsibilities:
- Integration of user-facing elements developed by front-end developers with server-side logic
- Writing reusable, testable, and efficient code
- Design and implementation of low-latency, high-availability, and performant applications
- Implementation of security and data protection
- Integration of data storage solutions
Qualifications & Experience:
- +5 years of application development experience in Back-End technologies
- Ability to communicate complicated technical problems to both technical and business audiences
- Strong proficiency with JavaScript
- Knowledge of Node.js and frameworks available for it such as Express.js, Nestjs
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Good understanding of server-side templating languages
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- Understanding accessibility and security compliance
- User authentication and authorization between multiple systems, servers, and environments
- Integration of multiple data sources and databases into one system
- Understanding fundamental design principles behind a scalable application
- Creating database schemas that represent and support business processes
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git
- Advanced experience in SQL DBs (MySQL, PostgreSQL, etc.)
- Advanced experience in NoSQL (MongoDB, DynamoDB, etc.)
- Middle experience in queue management (RabbitMQ)
- Middle experience in containers (Docker, Kubernetes)
- Middle experience in Micro Services architectures