Description : Responsibilities
The engineer is intended to participate and / or lead efforts around core platform service design, development, deployment, and integration.
Be part of an agile team entrusted with developing applications and prototypes with quick turnaround time
Contribute to an Agile team to build web and mobile applications, APIs, SDKs and other tools as required
Collaborate with various teams within Rakuten to realize the requirements for the project and rapidly deliver iterative solutions
Follow trends in tools and technology and suggest new approaches to application design and development
Review and evaluate designs for compliance with development guidelines
Implement best practices and methods to improve the development process within the team and organization
Developing tools and libraries to simplify platform eco-system integration / adoption is also always welcome
5+ years experience as a full stack Java developer
Excellent knowledge and experience of : REST, NoSQL / SQL, Spring, JUnit, oAuth and related technologies
Working knowledge of AngularJS, Python
Experience in designing applications for Availability, Scalability, Performance, Monitoring, Logging and in ensuring security standards are met
Experience in working with Relational and Non relational data stores, queue infra &caching. Familiarity with popular libraries
Experience in building RESTful services, knowledge of micro services & pragmatic understanding of the trade offs in real world.
Agile development experience with experience of CI / CD, test automation, Junit, Mockito, Mocha, NYC
Demonstrated proficiency with OO design principles
Solid coding practices including design, unit testing, and peer code-reviews.
Strong communications skills and self-starting initiative to go beyond assigned responsibilities
Desired Skills and traits
Experience in the ecommerce
Experience with collaborating with cross functional teams around the globe
Git, Jenkins, TeamCity
Experience with Azure or GCP
Excellent problem solving skills with passion to solve complex technical problems and ability to come up with creative solutions
Experience with Linux or Unix environment
Exposure to all phases of product development life cycle
Highly motivated team player who collaborates well with others to help team and project succeed
Self-driven, with a strong commitment to deliver high quality software
Innovative / out of box thinking
Bachelor’s Degree (Engineering) or higher in Computer Science or related field.