Experience with delivering highly available, scalable, distributed systems and microservices in a production setting
Work closely with architects and technical product managers to translate overall system architecture and product requirements into well-designed and implemented software components
Take ownership of the implementation of individual software components, with a high emphasis on quality, test-driven development, and sound software engineering practices
Participate in software design reviews, you conduct peer code reviews and provide input and feedback to other members of the development team
Write unit, functional, regression tests for the code you create, and you contribute to the test automation, continuous integration, and deployment processes together with everyone else in the development team
Collaborate as a member of an agile team to get products and components developed and completed with best in class software development
Excellent technical problem-solving skills and aptitude to learn new technologies and methodologies
Low tolerance for inefficiency and the burning desire to automate anything that can be automated
Creative, collaborative, and product-focused
A real passion for making simple, robust, and scalable platforms used by other engineering teams
Requirements :
BS or MS in Computer Science or related technical field
5+ years of software engineering experience
Experience with Java
Broad knowledge of AWS, server programming, databases, and cloud architectures
Work on development and deployment of system features and QA automation framework
Experience working with container frameworks (Docker) or CD frameworks (Eg. Spinnaker)
Experience with Microservices and RESTful web services