Position: Senior Node.js Developer
Company: MPS Development
Experience required: 5y
English level: upper

We seek a Node.js Developer who will be responsible for developing, maintaining, and continuously improving and supporting both internal and client-facing IT infrastructure. The ideal candidate is a strong developer that will work with the team and cross-functional partners while driving cross-team.

Responsibilities:
-Test your work to ensure that it works as expected and meets all acceptance criteria
-Work with your customers to ensure that your work will meet the business needs and present work for sign off
-Shepherd your code (and other's code) through the process until deployment
-Own and understand the process, including contributing to and improving the efficiency and consistency of the process
-Take part in peer code reviews providing qualitative feedback
-Research internal implementations as well as potential new technologies and communicate the output of that research
-Detect root cause of defects and production bugs and fix them when requested
-Communicate the impact of bugs and work with stakeholders to schedule fixes
-Research changes to external integrations, update code to account for differences, understand the cadence of these changes, and contribute to the ongoing plan to manage
-Document work done inappropriate location, i.e., in code or in a document library, and hand off to intended recipients or audience
-Document previously un-documented systems or practices as encountered in your work environment
-Provide technical direction on various types of tasks on your platform
Update team members on the progress including significant issues and actively encourage other team members to do the same while also providing insights into how to optimize this communication
-Perform necessary communication with other teams and stakeholders as outlined in your team agreement and call out areas where there may be communication issues
-Strive to have a clear understanding of stakeholder goals to help drive better communication between your team and them
-Stay current with platform changes and third-party libraries
Investigate, proactively, better solutions for current technologies
-Contribute ideas on ways to make our project management systems more efficient
-Respond to emergency issues and alerts assigned to you and contribute ideas on how to improve monitoring and alerting systems
Participate in technical interviews and offer ideas on how to improve the interview process
-Other duties as assigned

Qualifications:
-Experienced in architect programs which operate either independently or within a larger system
-Advanced proficiency in Node.js
-Excellent understanding of the internal technologies used by your team. ---Able to provide commentary, review, and feedback to other teams about their projects and products when necessary, especially in how those integrate with your own team
-Experience with JIRA or other Ticket system and the ability to resolve tickets according to technical direction
-Understanding of project management tools and processes
-Excellent understanding of build and test processes; able to modify build processes to add new modules to an existing project and develop build processes for new projects. Able to design, develop, and debug unit and integration tests for new and existing code
-Experience in developing RESTful Web APIs
-Proficient at using your team's version control system, and the ability to address any merge conflict. Complete understanding of your team's branching process
-Experience in Cloud-based application development on GCP, Azure or AWS
-Good knowledge of designing, writing code using Object Oriented Programming (OOP) concepts, S.O.L.I.D design principles, and Design Patterns
-Experience in asynchronous and parallel programming techniques
-Experience in modeling and working with Relational (RDBMS) databases and No-SQL databases, performance tuning long running queries
-Experience in writing and automating unit tests, functional tests, and integration tests
-Experience in Continuous Integration (CI) and Continuous Build mechanisms using Jenkins and Circle CI
-Knowledge of web servers like nginx or any other
-Experience with all phases of systems development life cycle (SDLC) using Agile (Scrum) methodologies
-Familiarity with containerization of applications using Docker and Kubernetes (K8s).
-Ability to research and recommend third-party libraries and services for product development
-Understanding of advanced version control concepts (rebase, resolving merge conflicts)