Responsibilities
• Design and build applications using cloud native Java technologies for low latency distributed applications.
• Collaborate with cross-functional teams to define, design, and ship new features
• Implement core practice of Agile, leveraging cloud native architecture pattern using Test Driven Development (TDD), continuous integration/continuous delivery, in an on-premises or public-cloud environment, where everything is automated
• Adopting and practicing Agile methodologies including, but not limited to, story refinement, sprint planning, complexity analysis, stand-up calls, and sprint retrospectives.
• Work on bug fixing and improving application performance
• Continuously discover, evaluate, and implement new technologies to maximize development efficiency
• Work closely with the operation team to develop or enhance features in an agile environment based on requirements from the business team.
• Maintain high standards of software quality within the team by following good practices and habits while delivering solutions on-time and on-budget
• Should be able to deliver consistent results and scale on new technologies faster
• Participate in quality assurance, peer reviews and code reviews
Qualifications
Requirements
• Graduate in computers or Engineering from a reputed university
• 5-8 years of proven software development experience. Good experience in design and build micro-services
• Hands on Java multi-threading, distributed architectures
• Solid hands-on experience of Java/J2EE and framework such as Spring, Hibernate, etc.
• Knowledge of build tools Maven and DevOps environment using tools such as Git (Bitbucket), Continuous Integration (Jenkins) and Continuous Deployment. Working with code quality tools such as Sonar, Fortify or NexusIQ will be advantageous
• Strong experience in agile methodologies and test-driven development
• Experiences building microservices
• Experiences with PaaS e.g. PCF, Openshift, and container technology
• Understand the fundamental design principles behind a scalable application
• Ability to build highly re-usable, performance optimized services
• Codes with security and data protection
• Knowledge of working in an agile environment using tools such as Jira, Confluence etc.