Overview
Location: Full remote.
Schedule: Full time
Job Purpose
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)