Major Responsibilities:
- Work with engineering team, product/business, service providers and third-party vendors in multiple locations
- Ensure that project milestones are met in terms of features, quality and time for the E2E
- Conduct integration of the end-to-end system using micro-services and cross-platform (backend, frontend, integration with third-party vendors)
- Implement features in the engineering team using Agile methods and tools
- Actively participate in an integrated DevOps team and be responsible for overall setup
- Debug production issues raised by customers and customer support teams, isolate them and work towards a fix
- Exercise judgment in selecting methods, techniques and evaluation criteria for obtaining algorithm development, back-end automation, problem solving and scalability architecture
Background, Experience & Qualifications:
- Bachelor's or Master's degree in Computer Science or Computer Engineering
- 5 years of software development experience in a large-scale production environment
- Experience with development, unit tests, integration tests, performance tests for backend with modern technologies including:
- JavaScript, NodeJS, Express, Restify, Swagger, Docker, Mocha, Testdouble, Supertest, Chai, Grunt, Jsdoc, Jshint, Git
- Experience with DevOps approach with continuous integration, continuous deployment, and maintenance of deployments in AWS cloud with technologies like:
- Elastic Beanstalk, Docker, Kubernetes, Quickbuild, Jenkins
- Experience with overall use of AWS technologies including:
- Elastic Beanstalk, EC2, DynamoDB, ASG, ELB, ECR, ECS, S3, CloudFront, Lambda, CloudWatch, IAM
Necessary Skills / Attributes:
- Ability to solve problems in a fast-paced and dynamic environment with focus on high quality and standards
- Able to communicate well in writing, through email and reports, or orally complex technical to an audience of equal or higher-level technical competency
- A minimum of 2 years professional experience with AWS including development
- Strong understanding of databases, data structures and algorithms
- Ability to deliver and accept feedback on code and design
- Strong experience working in a Linux system
- Strong ability to debug unfamiliar distributed architectures and isolate problems