**Responsibilities:**
- Lead the backend development team, providing mentorship and guidance to junior developers.
- Design, develop, and maintain robust backend systems using Node.js and NestJS with TypeScript.
- Implement event sourcing and message queue solutions using technologies such as Kafka or RabbitMQ.
- Utilize strong PostgreSQL knowledge to design, optimize, and manage databases effectively.
- Implement DevOps practices and tools to ensure continuous integration and delivery (CI/CD), containerization with Docker, and orchestration with Kubernetes.
- Collaborate closely with frontend developers to integrate backend services with user interfaces seamlessly.
- Lead and contribute to architectural discussions and decisions to ensure scalability, reliability, and performance of our systems.
- Troubleshoot and resolve technical issues promptly, demonstrating strong analytical and problem-solving skills.
**Requirements:**
- Bachelors or Masters degree in Computer Science, Engineering, or a related field.
- 5+ years of experience in software development, with a significant focus on backend technologies.
- Proven leadership experience as a team lead or senior developer, with a track record of mentoring junior developers and leading successful projects.
- Profound expertise in Node.js and NestJS with TypeScript.
- Experience with event sourcing and message queues (e.g., Kafka, RabbitMQ).
- Strong knowledge of PostgreSQL, including database design, optimization, and management.
- Solid understanding of DevOps practices and tools (CI/CD, Docker, Kubernetes, AWS/GCP/Azure).
- Ability to collaborate effectively with cross-functional teams, including frontend developers.
- Strong analytical skills and problem-solving abilities.
- Excellent communication and leadership skills.