Java Principal Engineer
oraclecloud
Job Description
• Design and build high performance, scalable and reliable component-based applications using latest technologies such as AWS, Docker, Elasticsearch etc.
• Lead and mentor junior engineers
• Collaborate across teams for developing or enhancing product features
• Help define architecture & assist throughout refinement process
• Effectively communicate software solution expectations to internal customers, team members and other stakeholders in a timely and clear fashion
• Discuss the merits of various approaches with peers and junior engineers
• Develop new applications as well as enhance and support existing applications
• Provide guidance to resolve production problems in a timely manner by rapidly organizing and deploying the appropriate resources
• Continuously review problems to determine the root cause to prevent them in the future
• Ensure that secure coding practices are followed throughout the software life cycle
• Participate in planning meetings, retrospectives, daily stand ups, and other meetings as part of the software development process
• Provide guidance to team members to research and experiment with new tools and technologies, build working PoCs, conduct knowledge sharing sessions and provide recommendations for product improvement
• Champion own ideas as well as team's ideas
• Learn in area of leadership, management and agile
• Understand the view of all the scrum teams from an engineering and architectural perspective as well as the business objectives
• Help identify organizational impediments
Qualifications
• 8-12 years experience working in in Java, SQL, XML, JSON
• Experience with AWS or any cloud provider, Docker, Elasticsearch is a plus
• Experience leading small-medium sized technical teams
• Experience in creating and consuming RESTful services & APIs
• Experience working in Web Application Frameworks such as Angular or React
• Experience working with Spring and Message Queues
• Working knowledge of software development tools, testing methodologies, continuous integration and Agile processes
• Ability to easily express architectural ideas to engineers and non-technical members
• Ability to guide junior engineers to quickly debug problems based on experience and prior patterns
• Self manage time and tasks with little to no direction from others
• Identify subtle or well hidden technical debt, understand some of the organizational technical debt
• Strong teamwork and problem-solving skills
• Ability to effectively present information in one-on-one as well as in large-group setups
• Excellent written and verbal communication skills with the ability to present complex information in a clear and concise manner to a variety of audience
• Minimum of bachelor’s degree in Computer Science (or related field) from four-year college or university