.Backend Java Developer-220008WG**Applicants are required to read, write, and speak the following languages**: English**Preferred Qualifications**Principal Software DeveloperBrief Description:Oracle's Adaptive Intelligence Applications team is looking for exceptional talent to develop our next generation of Applications running on Oracle Cloud Infrastructure.Detailed Description:Job Requirements:We are seeking brilliant individuals with strong engineering background and proven track of records to take feature/design through the entire software lifecycle to release of robust, high quality, production code.The Role will entail interactions with other Developers across the globe and Product managers so excellent communication skills, both written and interpersonal, are crucial for the role.- BS or MS degree or equivalent experience relevant to functional area.- Has strong CS fundamentals, should be able to write an algorithm with ease- Good understanding of system architecture.- Experience in big data technologies - streaming architecture, data pipelines, etc.- Thorough understanding of OO principles, design patterns, and best practices- Design and implementation of REST APIs- Experience working with MicroServices and Application Servers- Experience with technologies such as Spring Framework, Spring Boot, Spring Batch, Quartz is a plus- Experience working with HTTP, SSL, REST and JSON.- Experience working with Kubernetes and Dockers- Experience working with Relational and NoSQL databases- Proficient in at least one big data technologies: Spark, Kafka etc- Experience working in Agile Env- Deep understanding of Data Science Concepts and principles- Understand CI/CD best practicesSoft Skills:- Proven analytical, investigative and problem-solving skills- Effective communication skills (written and spoken)- Self-starter, able to deliver projects on time meeting high quality standards- Multi-tasking- Customer focused and quality driven outlookAs a member of the software engineering division, you will analyze and integrate external customer specifications. Specify, design and implement modest changes to existing software architecture. Build new products and development tools. Build and execute unit tests and unit test plans. Review integration and regression test plans created by QA. Communicate with QA and porting engineering to discuss major changes to functionality