Backend Developer
Added 5 days ago
We are seeking an experienced Backend Developer with a strong background in Node.js to join our team. As a Backend Developer, you will play a key role in designing, developing, and maintaining our backend services, utilizing cutting-edge technologies such as NestJS, GraphQL, microservices, and Elasticsearch. If you are passionate about building scalable and resilient systems, we invite you to apply!
Key Responsibilities:
- Developing and Maintaining Backend Services: Design, develop, and maintain backend services using NestJS, Node.js, and TypeScript.
- Database Interaction: Implement and manage database schemas and interactions with PostgreSQL and Elasticsearch.
- Containerization: Create, deploy, and manage Docker containers for microservices.
- AWS Integration: Integrate AWS Cognito for secure user authentication and authorization.
- API Design: Design and implement RESTful APIs and integrate with AWS SQS for microservice communication.
- GraphQL Gateway: Build and maintain a GraphQL gateway for interactions between microservices and the frontend.
- Testing: Write unit and integration tests to ensure code quality and application reliability.
- Collaboration: Collaborate with cross-functional teams, including front-end developers and DevOps, to implement end-to-end solutions.
- Security and Compliance: Ensure compliance with security best practices and data protection regulations.
- Code Review and Documentation: Participate in code reviews, architecture discussions, and Agile development sprints. Document technical processes and software architecture.
- Continuous Learning: Stay up-to-date with the latest developments in backend development, microservices architecture, and related technologies.
Requirements:
- Proficiency in Node.js and TypeScript: Extensive experience with Node.js and TypeScript, as NestJS is a Node.js framework that heavily leverages TypeScript.
- Experience with Docker and Docker Compose: Familiarity with containerization and orchestration of microservices using Docker and Docker Compose.
- Knowledge of PostgreSQL and TypeORM: Understanding of PostgreSQL for relational data storage and TypeORM for object-relational mapping within NestJS.
- Familiarity with Elasticsearch: Experience with Elasticsearch for handling search and analytics operations.
- Understanding of AWS Services: Knowledge of AWS services, particularly AWS Cognito for user authentication and authorization, and AWS SQS for message queuing between services.
- GraphQL Competence: Ability to work with GraphQL and set up a GraphQL gateway for interacting with microservices.
- RESTful API Development: Competence in building and maintaining RESTful APIs and integrating microservices using REST or message queues.
- Version Control: Experience with version control systems like Git for code management and collaboration.
- Testing Capability: Capability to write unit and integration tests to ensure the robustness of the application.
- Microservices Architecture: Knowledge of microservices architecture principles, such as scalability, resilience, and inter-service communication.
- CI/CD Understanding: Understanding of CI/CD pipelines for automated testing and deployment processes.
- Required Experience: Minimum 3 years
- English Level: Conversational C1