About the job NodeJS Developer
Under general supervision of the Engineering Manager, the Software Engineer is a back-end engineer who performs work assignments in one or more of the following areas: providing technical guidance and direction to other staff members; participating in project planning and requirements definition; system/application design, system/application development, unit testing, support during QA and User Acceptance Testing, implementation and integration; customer support for and technical expertise in end-user decision support software tools and end-user computing technology; conducting all activities in accordance with standards and procedures.
- Active participation in agile (scrum) development team
- Participation in backlog refinement and sprint planning sessions; Task definition and estimation from epics /user stories
- Design and modification of new and existing features, implementation, unit testing, and support of quality assurance and customer testing
- Participation in code reviews
- Ability to identify bottlenecks and recommend or implement performance optimizations
- Compliance with established management procedures, company and department standards & best practices
- Adherence to documented security, and confidentiality
- Bachelor’s degree in Computer Science, Computer Engineering, or Information Systems and/or related work experience (open source web services development)
- 3+ years of cloud computing (AWS, Azure) and open source technologies experience (Nginx, Linux, Jenkins,
- 3+ years experience with AWS managed services like DynamoDB, SQS, SNS, Lambda, ECS
- Strong object-oriented design and programming skills
- Experience in developing RESTful web services
- Experience writing unit and functional tests
- Experience with SQL, database programming and use of ORMs
- Experience with NoSQL database programming
- Familiarity using GitHub, Jira
- Experience with OAuth authentication flows, JWT is a plus
- Knowledge of SAAS, PAAS and IAAS technologies and SOA concepts
- Experience with ecommerce products
Integrity: Gains the trust of others by taking responsibility for own actions and telling the truth.
Teamwork: Builds relationships and works cooperatively with others, inside and outside the organization, to accomplish objectives to build and maintain mutually-beneficial partnerships, leverage information and achieve results.
Adaptable: Responds to change with a willingness to learn new ways to accomplish work objectives with a positive attitude.
Innovative: Ability to develop, sponsor, or support the introduction of new and improved methods, products, procedures or technologies.
Curious: A desire to inquire and learn, to seek new knowledge and wisdom, and to listen to the contributions of others with a genuine interest to better self, the team, and the organization.
Analytical and Critical Thinking: Ability to tackle a problem by using a logical, systematic, sequential approach.
Problem Solving: Gathers and analyzes information to generate and evaluate potential solutions to problems, issues and challenges while weighing the accuracy and relevance of the facts, data and information.