Principal Java Engineer - Home Ownership
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
About the role
We are seeking motivated Principal Java Engineers who are passionate, results focused to take accountability for the delivery of Microservices that will be used by banking applications. You will be part of our delivery team and will be responsible for providing technical leadership throughout all phases of the software delivery life cycle as we initiate a transformation of NAB technology. At NAB, we believe success comes from our people. We're committed to supporting your talent and skills through your career, as you help us build a culture that affects change for our customers and for the community too. YOUR JOB RESPONSIBILITIES Provide hands-on leadership to the design, development, and deployment of technical solutions; Collaborate with other NAB's technology leaders towards improving and fulfilling the NAB technical direction; Evangelise and promote Java best practices; Be passionate about Java and understand how to implement advancement for existing or new systems; Lead and conduct training to empower engineers on sufficient programming skills; Design, develop, review, implement, and manage Java application code and services for the production and pre-release environments; Design, develop, review, implement, and manage continuous integration, build management and deployment scripts, systems, and any code as required; Participate in Agile software development, prototyping, and code review with international development teams to build scalable microservices-based products and APIs using Java technologies on AWS or Azure cloud architecture; Understand the requirements of the customer or business and utilize this knowledge to develop applications that are consistent with this; Work with delivery teams to achieve success through development using CI/CD and DevOps practices, processes, and tooling; Provide robust coding practices, solid unit/component test coverage, and debugging code; YOUR SKILLS & EXPERIENCE Minimum of +8 years' experience as a Technical Architect/Principal Engineer in a complex, enterprise-level development environment; solid in architecting, developing, and deploying modern architectural patterns/techniques (microservices, DDD, TDD ...) Solid experience in Java 8+, Java open-source frameworks, including developing using modern frameworks, e.g. Spring Boot, Spring Cloud (less preferable) Solid experience in designing & developing RESTful APIs and microservices-based system Solid experience with AWS / Azure Cloud services is highly desired Experience supporting a production service in a DevOps friendly environment Solid experience in Agile development environments; Well-versed in writing structured, well-documented, maintainable, and clean code; Excellence in problem-solving and analytical skills; Experience in leading and coaching at least one software engineering team on multiple projects; Strong understanding of standard Software Engineering processes, Testing, and Agile methodology; Strong understanding of secure coding practices and application security; Strong work ethic, self-motivation, dedication, and commitment Excellent technical documentation and diagramming skills Excellent teamwork and coaching skills Strong English communication skills (both verbal & written), especially in the global software development environment;