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;
Evangelizing and promoting Java best practices;
Be passionate about Java, understanding 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 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.
Experience as a Lead Java designer/developer in a complex, enterprise-level development environment;
+7 years' experience working in Software Development:
Solid experience in JAVA 8+;
Solid experience in Java open source frameworks, including developing using modern frameworks, e.g. Spring Boot.
Solid experience in designing & developing RESTful APIs and microservices-based system;
Solid experience in Cloud computing and Amazon Web Services - particularly Serverless Development:
Experience in Containers (ECS, Kubernetes, Docker) and FaaS (AWS Lambda) technologies.
Solid DevOps and Continuous Delivery skillset:
Experience in modern CI/CD pipelines and tools (e.g. Git, Ansible, Jenkins, Gradle, NPM, Gradle).
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 English communication skills (both verbal & written), especially in the global software development environment;
Experience in the Banking or Financial Services industry;
Any additional certification or training in IT, Business, Computer Science, or related area;