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.
Primary Accountabilities:
Technical (90%)
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
Operational (10%)
Compliance with established management procedures, company and department standards & best practices
Adherence to documented security, and confidentiality
Required Qualifications:
Bachelor’s degree in Computer Science, Computer Engineering, or Information Systems and/or related work experience (open source web services development)
5+ years of JavaScript development experience, preference for Node.js
3+ years of cloud computing (AWS, Azure) and open source technologies experience (Nginx, Linux, Jenkins, Celery, Redis)
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
Preferred Qualifications:
Experience with OAuth authentication flows, JWT is a plus
Knowledge of SAAS, PAAS and IAAS technologies and SOA concepts