Job
Description
You are a dynamic messaging company dedicated to delivering high-quality, scalable, and reliable messaging solutions for your clients. As you expand your services and scale your platform, you are seeking an experienced and motivated Lead Node.js Software Engineer to join your team. This role is perfect for a driven professional with a passion for backend engineering, messaging technologies, and high-performance systems. As the Lead Node.js Software Engineer, you will play a critical role in developing and maintaining the core components of the Messaging Platform, touching modules like Authentication, Email, SMS, Voice, Templating, etc. You will lead a team of 5 engineers responsible for maintaining the core aspects of the platform, from finding and fixing bugs to performing research tickets and feature enhancements. Your expertise in the MERN Stack, Containerized environments, and both on-premises & cloud environments will be essential as you drive the evolution of the platform. Your responsibilities will include leading the maintenance, development, and implementation of both front (React) and backend (NodeJS) services. You will develop and maintain efficient RESTful APIs for both internal and consumer-facing products. Implementing RabbitMQ message queuing solutions for real-time, distributed processing will be a crucial part of your role. Maintaining SQL and NoSQL database schemas to ensure optimal data management, storage, and retrieval strategies will also be a key aspect. Collaborating closely with cross-functional teams, including product managers, NetOps, and CustomerOps, to deliver high-quality software solutions is essential. You will mentor and guide your team, promoting best practices, leading and facilitating code reviews, and peer-programming. Implementing performance optimization techniques, scalability strategies, and robust error-handling mechanisms will also be part of your responsibilities. To qualify for this role, you must have a Bachelor's degree in Computer Science, Engineering, or a related field (or relevant equivalent experience). Additionally, you should have 5+ years of hands-on experience in Node.js and Typescript development, expertise in designing and developing RESTful APIs, and strong experience with RabbitMQ or similar message queuing systems. Proficiency in NoSQL databases such as MongoDB, DynamoDB, or similar, and experience with Docker containerization and orchestration are required. You should also have proven experience working with both on-premises and cloud environments (AWS or GCP), solid understanding of software architecture principles, microservices, and distributed systems, familiarity with CI/CD pipelines and DevOps practices, excellent problem-solving skills, and strong communication skills. Preferred skills for this role include familiarity with Kubernetes or similar container orchestration systems, knowledge of monitoring and logging tools such as DataDog, ELK Stack, Prometheus, Grafana, and experience with agile methodologies and best practices for software development.,