Principal Engineer, Java

#R-00178278
Location
Chennai, India
Contract
Permanent - Full Time
Brand
NatWest Group
Job category
Software Engineering - Technology
Posted
07/12/2022
Closing date for applications: 09/12/2022

Our people work differently depending on their jobs and needs. From home working to job sharing, visit the remote and flexible working page on our website to find out more.

This role is based in India and as such all normal working days must be carried out in India.

Join us as a Principal Engineer

  • This is a challenging role that will see you design and engineer software with the customer or user experience as the primary objective
  • You’ll actively contribute to our architecture, design and engineering centre of excellence, collaborating to improve the bank’s overall software engineering capability
  • You’ll gain valuable stakeholder exposure as you build and leverage relationships, as well as the opportunity to hone your technical talents
  • This role is available at vice president level

What you'll do

As a Principal Engineer, you’ll be creating great customer outcomes via engineering and innovative solutions to existing and new challenges, and technology designs which are innovative, customer centric, high performance, secure and robust.

You’ll be working with software engineers in the production and prototyping of innovative ideas, engaging with domain and enterprise architects to validate and leverage these in wider contexts, by incorporating the relevant architectures. We’ll also look to you to design and develop software with a focus on the automation of build, test and deployment activities, while developing the discipline of software engineering across the business.

You’ll also be:

  • Defining, creating and providing oversight and governance of engineering and design solutions with a focus on end-to-end automation, simplification, resilience, security, performance, scalability and reusability
  • Working within a platform or feature team along with software engineers to design and engineer complex software, scripts and tools to enable the delivery of bank platforms, applications and services, acting as a point of contact for solution design considerations
  • Defining and developing architecture models and roadmaps of application and software components to meet business and technical requirements, driving common usability across products and domains
  • Designing, producing, testing and implementing the working code, along with applying Agile methods to the development of software with the use of DevOps techniques

The skills you'll need

We're looking for someone with significant experience in software engineering, software or database design and architecture, as well as experience of developing software within a DevOps and Agile framework. You'll also have a strong background in leading software development teams in a matrix structure, introducing and executing technical strategies.

Along with an expert understanding of the latest market trends, technologies and tools, you’ll bring significant and demonstrable experience of implementing programming best practice, especially around scalability, automation, virtualisation, optimisation, availability and performance.

You’ll also need:

  • Experience in Java Microservices, Springboot framework or Django, JBoss, Spring MVC, Spring Cloud and similar
  • Experience in RESTful WebServices, JSP, Struts, JSF, XML, JavaScript and Websphere, Apache Tomcat, Jboss or RHEL server
  • A thorough understanding of DevOps and Agile methodology and associated toolsets and methodologies
  • Experience in distributed databases such as SQL or RDBMS database and exposure to NoSQL databases such as Mongo or Cassandra
  • Experience in code repositories such as GitHub, GitLab, BitBucket or equivalent as well as bug tracking tools and wikis
  • Significant and demonstrable experience of test-driven development and using automated test frameworks, mocking and stubbing and unit testing tools
  • A background in designing or implementing APIs