We are seeking a skilled Backend Engineer to design, develop, and maintain scalable backend systems that support our core products and platform enhancements. This role is critical in accelerating development timelines, ensuring system reliability, and building robust integrations with internal and third-party services. You will work closely with cross-functional teams to deliver high-quality, performant backend solutions.
Qualifications
- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent practical experience).
- Strong experience with Node.js and backend development, preferably using NestJS.
- Hands-on experience with microservices architecture and asynchronous messaging systems such as Kafka or RabbitMQ.
- Proficiency in SQL databases (PostgreSQL, MySQL) and NoSQL databases (MongoDB).
- Experience with Redis or similar caching technologies.
- Solid understanding of RESTful APIs and backend system design principles.
- Experience writing and maintaining API documentation.
- Familiarity with testing frameworks and best practices for backend testing.
- Strong problem-solving skills and the ability to work collaboratively in a fast-paced environment.
Responsibilities
- Design, develop, and maintain scalable backend applications using Node.js, with a strong focus on the NestJS framework.
- Implement and manage microservice architectures, including event-driven communication using message queues such as Kafka and RabbitMQ.
- Develop and maintain integrations with third-party systems, data providers, and internal services.
- Work with both SQL databases (PostgreSQL, MySQL) and NoSQL databases (MongoDB) to ensure reliable and efficient data management.
- Optimize application performance and scalability by implementing caching strategies using Redis.
- Collaborate with stakeholders to analyze business requirements and translate them into well-designed technical solutions.
- Develop and maintain clear, comprehensive API documentation to support frontend teams and external integrations.
- Ensure high code quality through best practices, including unit testing, integration testing, and code reviews.
- Monitor, troubleshoot, and resolve production issues, ensuring system stability, performance, and uptime through proactive maintenance.