Job Summary:
We are seeking an experienced Lead Software Engineer to join a growing product engineering team responsible for designing and building modern, highly scalable applications. This is a hands-on engineering position focused on Node.js, modern JavaScript and TypeScript technologies, distributed application architecture, React, and cloud-native development practices. The role will contribute across the full development lifecycle, including architecture, hands-on development, performance optimization, automated testing, CI/CD, monitoring, and production support, while helping establish technical standards and guiding the development of new products and services.
Key Responsibilities
• Design and develop scalable backend services and APIs using Node.js and modern JavaScript/TypeScript technologies.
• Develop responsive and maintainable frontend applications using React.
• Contribute to the architecture and development of new applications and services from the ground up.
• Design solutions focused on high availability, scalability, reliability, and performance.
• Develop and integrate APIs and services using GraphQL, REST, and microservices-based architectures.
• Perform application and database performance analysis, troubleshooting, and optimization.
• Work with SQL and NoSQL/distributed database technologies to support application requirements.
• Build, enhance, and maintain automated CI/CD pipelines supporting reliable software delivery.
• Utilize Docker and other containerization technologies within development and deployment workflows.
• Design and maintain application monitoring, alerting, logging, and operational reporting capabilities.
• Support production applications by troubleshooting issues, identifying root causes, and implementing long-term solutions.
• Develop automated tests and promote Test-Driven Development (TDD) and modern engineering practices.
• Participate in code reviews and help establish standards for code quality, maintainability, testing, and application architecture.
• Partner with product, engineering, QA, and other technical stakeholders throughout the software development lifecycle.
• Provide technical guidance and mentorship to other engineers and help drive engineering decisions across the team.
• Communicate development progress, technical risks, dependencies, and delivery status to project and engineering leadership.
• Evaluate new technologies and engineering practices that can improve development velocity, reliability, and product quality.
Required Qualifications
• 5+ years of professional software development experience.
• Strong hands-on expertise with Node.js and modern JavaScript/TypeScript development.
• Experience developing modern frontend applications using React.
• Demonstrated experience designing and developing highly available, scalable, and high-performance applications.
• Strong understanding of backend development, APIs, distributed systems, and modern application architecture.
• Experience with SQL and NoSQL database technologies.
• Experience with automated testing and Test-Driven Development (TDD) practices.
• Strong understanding of software engineering principles, design patterns, code quality, and maintainable application architecture.
• Experience with CI/CD, automated build and deployment processes, and DevOps practices.
• Hands-on experience with Docker or comparable containerization technologies.
• Experience with Jenkins or comparable CI/CD and build platforms.
• Strong troubleshooting and performance optimization skills across application and database layers.
• Ability to operate effectively in a fast-paced and collaborative product engineering environment.
Preferred Qualifications
• Professional experience with an additional programming language such as Java, Python, Go, or C#.
• Experience with GraphQL and modern API design.
• Experience working with microservices and distributed architectures.
• Experience with cloud-native application development and deployment.
• Experience building or supporting observability solutions, including monitoring, logging, alerting, and application performance management.
• DevOps, platform engineering, or build engineering experience.
• Experience establishing architecture and engineering practices for newly developed applications.
• Previous experience providing technical leadership or mentoring software engineers.