We are seeking an experienced and highly skilled Node.js developer to join our growth partner’s team. Your primary responsibility will be to develop, maintain, and extend server-side applications and services using Node.js, while working with other back-end technologies such as Java and Python. You will also ensure the seamless integration of applications with databases and build & deployment automation processes. Your role will involve maintaining high-quality code, implementing unit tests, developing integration tests, and working in a collaborative and agile environment.
Responsibilities
- Develop server-side applications and services using Node.js and additional back-end technologies such as Java and Python.
- Collaborate with cross-functional teams to integrate Node.js solutions with other parts of the tech stack.
- Write and maintain comprehensive unit tests to ensure code quality and reliability.
- Develop and maintain integration tests to verify the interaction between system components.
- Work on build and deployment automation (CI/CD) using tools like GitHub Actions, Jenkins, or TeamCity.
- Implement and maintain SocketCluster to enable real-time communication features.
- Manage and interact with databases, ensuring efficient queries, performance optimization, and data integrity.
- Maintain and extend an existing codebase, adhering to existing coding patterns and tracing the execution flow for efficient debugging and scaling.
- Ensure high availability, scalability, and performance of Node.js services.
- Troubleshoot, debug, and resolve issues in a timely manner across various environments.
- Follow and implement best practices in coding standards, version control (Git), and software deployment.
- Stay up to date with the latest trends and advancements in Node.js, software development, and system architectures.
Experience & Qualifications
- Expert experience with Node.js and experience with other back-end technologies such as Java or Python.
- Expert experience developing unit tests to ensure high code quality and reliability.
- Intermediate experience developing integration tests to verify the interaction between different system components.
- Intermediate experience with CI/CD tools such as GitHub Actions, Jenkins, or TeamCity to automate build and deployment processes.
- Experience with SocketCluster for real-time, bi-directional communication.
- Solid understanding and experience working with databases (e.g., SQL, NoSQL).
- Expert experience with version control systems (Git) and handling branching, merging, and pull requests.
- Experience in maintaining and extending an existing codebase, understanding and adapting to pre-existing coding patterns.
- Ability to trace code’s path of execution to diagnose and resolve issues efficiently.
- Strong problem-solving skills and attention to detail.
- Excellent communication skills, both written and verbal, to collaborate effectively with the team.
- Ability to work in an agile environment, adapting to changing requirements and delivering results on time.
- Passionate about clean code, scalability, and performance in production-level systems.
- Fluent in English (both written and conversational)