NodeJs Developer
Job Description:
We are seeking a talented and experienced NodeJS Developer who is passionate about building scalable, maintainable, and high-performance applications in a cloud-native environment. The focus of this role will be in the Computer Aided Dispatch (CAD) space, and how our Control Room Management platform integrates with existing service providers. Existin providers include medical, security, fire, rVFR UAV/UAS Drone CAD solutions. The ideal candidate will have a strong background in NodeJS development, hands-on experience with Microsoft Azure services, microservices architecture, API integration, and a deep understanding of Test[1]Driven Development (TDD) and Continuous Integration/Continuous Deployment (CI/CD) practices. An understanding of the SOLID principles and Abstraction of general interfaces will also be necessary.
Key Responsibilities
- NodeJS Development: Collaborate with cross-functional teams to design, develop, and maintain robust NodeJS applications.
- Microsoft Azure: Utilize Microsoft Azure services to build, deploy, and manage cloud-based solutions, ensuring scalability, security, and reliability.
- Microservices: Design and implement microservices architecture to enable modular and scalable software development.
- API Integration: Create and integrate APIs, ensuring seamless communication between various components and third-party services.
- Test-Driven Development (TDD): Write unit tests and participate in code reviews to ensure code quality, maintainability, and reliability.
- CI/CD: Implement and maintain CI/CD pipelines to automate the deployment process and ensure rapid and error-free releases.
- Troubleshooting: Investigate and resolve software defects, performance issues, and other technical challenges.
- Documentation: Maintain comprehensive documentation of code, architecture, and development processes.
- Collaboration: Work closely with cross-functional teams, including product managers, designers, and QA engineers, to deliver high-quality software solutions.
Key Performance Indicators
- NodeJS Development: Deliver at least two fully functional and tested NodeJS modules per sprint, meeting acceptance criteria set by cross functional teams, consistently across four consecutive sprints.
- Microsoft Azure: Successfully deploy and maintain at least one NodeJS application on Microsoft Azure with 99.95% uptime and zero major security incidents over a three-month period.
- Microservices: Implement or refactor a minimum of three microservices for modularity and scalability, verified by a 20% reduction in service interdependency as measured in architectural reviews, within the next quarter.
- API Integration: Achieve 100% API endpoint documentation and integration test coverage for all new APIs, with less than 1% failed requests during integration, within each release cycle.
- Test-Driven Development (TDD): Maintain at least 80% unit test coverage and participate in 100% of code reviews for assigned user stories each sprint, with less than 5% critical defects reported post-release.
- CI/CD: Ensure that all new features or bug fixes are deployed through the CI/CD pipeline within 24 hours of merge, with a deployment success rate above 98% for three consecutive months.
- Troubleshooting: Resolve reported software defects or performance issues within an average of 48 hours from ticket assignment, reducing backlog of unresolved issues by 30% within a quarter.
- Documentation: Publish or update comprehensive documentation for all new features, APIs, or architectural changes within three days of production release, audited for completeness in monthly reviews.
- Collaboration: Attend and actively participate in at least 95% of scheduled cross-functional meetings and complete all assigned collaborative tasks on time for three straight sprints, with positive peer feedback.
Qualifications & Experience
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 4+ years of hands-on experience in NodeJS development.
- Proficiency in Microsoft Azure services, including Azure Functions, Azure App Service, Azure Storage, and Azure DevOps.
- Strong understanding of microservices architecture and best practices.
- Experience with API design, development, and integration.
- Familiarity with Test-Driven Development (TDD) and writing unit tests.
- Experience with CI/CD pipelines and tools (e.g., Jenkins, Azure DevOps, GitLab CI/CD).
- Knowledge of containerization and orchestration technologies (e.g., Docker, Kubernetes) is a plus.
- Excellent problem-solving and troubleshooting skills.
- Strong communication and teamwork abilities.
- Self-motivated and eager to learn about emerging technologies.
Required Skills:
Indicators Azure DevOps Service Providers Collaboration Interfaces Pipelines CI/CD User Stories Key Performance Indicators Scalability Azure Microsoft Azure Gitlab Reviews Features Microservices Components DevOps Reliability Storage Architecture Software Development Kubernetes Writing Jenkins Integration Docker Computer Science Security Troubleshooting Software Documentation Teamwork Design Engineering Science Communication Management