Software Engineer - 12 Month Fixed Term Contract

M&G Prudential

Job Description

At M&G our vision is: to become the best loved and most successful savings and investment business and we’re looking for people who are excited about joining us on our journey. We’re digitally transforming and investing heavily in technology and innovation to develop new and improved customer propositions that really raise the bar for our customers. To help us achieve our vision we’re looking for exceptional people who live our values and behaviours and who can inspire others; embrace change; deliver results and keep it simple.

What you can expect from us:We are committed to creating an environment where you can be exceptional at all you do. To help us deliver this, we promise to:

  • Challenge Your Limits by creating a stimulating working environment and providing opportunities for you to be involved in meaningful and challenging work
  • Support Your Aspirations with a commitment to learning and development that helps you achieve and build your experience with people who want you to succeed
  • Value Your Input whereby leaders and managers will involve you in key decisions, listen to your thoughts and recognise the important contribution you make
  • Balance Your Life through a work life partnership that focuses on making this an inclusive, diverse and friendly place to work and offers the flexibility and support that enables everyone to be at their best

The Role:

The Investment Management vertical has been established to provide IT change capability for all teams within M&G that are on the investment value chain.  The vertical has successfully delivered major transformation initiatives for M&G in the last 2 years including the delivery of Aladdin, and creating a digital platform (Azure and Apigee) using Agile methods.  The primary objectives for the Investment Management IT vertical are to: 

  • Build a function that can deliver change at the pace and scale required for an organisation undertaking sustained transformation
  • Remove barriers between the business and our team, creating trust and fostering a culture of innovation
  • Transform the method of delivery to an end-to-end capability where change is driven through multi-disciplined, business-led teams

We have chosen to use the move to BRS Aladdin as a catalyst to accelerate our adoption of modern cloud centric practices. As a result, our design is API centric (APIGEE), PAAS first (AZURE) and seeks a frictionless model (Agile). Development is done via multiple disciplined business capability aligned squads following Agile practices including Behavior Driven Development (BDD). Each team comprises Developers, Testers & Analysts and a Scrum Master.  The priority of the deliverables is decided by the Capability Owner working closely with the business stakeholders aligned to the business capability.

All our engineers are expected to be knowledgeable about API Centric patterns (HATEOAS), common Cloud development patterns and to have hands on knowledge of developing in AZURE using PAAS services including DocDB, Key Vault, Logic & Function Apps. We are use APIGEE as our API gateway management product. The engineers are expected to develop in JavaScript, node.JS, Groovy and either JAVA or .Net.

To achieve BDD, the engineers also write most of the test automation scripts using Groovy. They are also expected to keep our “Logistics Suite” up to date throughout the day, as all dash-boards, plans and reports are driven off it. The “Logistics Suite” is a sophisticated CI implementation of JIRA, Git, BitBucket, Confluence, Artifactory and Azure DevOps.  Through our Communities of Practice our Leads are expected to ensure the delivery teams work towards the strategic technology goals set within the department minimising the creation of any technical debt.

Key Responsibilities:

  • Champion and instill end-user centric approach by interpreting and translating business requirements into efficient software delivery that integrates efficiently into existing business process
  • Implement and articulate a broad range of software design and architectural patterns, when they should be used, alternatives which could be considered and the practical considerations of implementing them in a relevant language
  • Implement and articulate advanced programming concepts and techniques in a relevant language (e.g. Python, C#, C++, Java, Go, Perl, Ruby, shell scripting etc.)
  • Plan and lead development on sets of related stories and collaborate with technical leads and architects to ensure adherence to the platform architecture
  • Articulate the development, test and production environments used by the team and how they are provisioned, and be able to modify and execute the provisioning of new environments through a repeatable, automated process and troubleshoot environmental issues
  • Create fully automated tested software engineering solutions with a focus on continuous integration and continuous deployment. Rigorously apply static code quality analysis tools
  • Participate on code reviews and actively review code written by other developers whilst driving the code review process within their team
  • Proactively communicate with colleagues to keep abreast of the future backlog items to identify possible risks or challenges, raise them within team meetings and offer practical solutions
  • Be a pivotal member of the Scrum team and advise, generate ideas, and share the most appropriate agile software development methods, tools and techniques
  • Implement well-crafted software which does not require extensive documentation, and which adheres to the principles of SOLID, YAGNI, KISS and DRY
  • Define and contribute to the team's documentation about the products it develops as well as the documentation created by other teams
  • Implement specific tools and techniques such as continuous integration, automated unit testing, pair programming, test-driven development, design patterns, behavior-driven development, domain-driven design, code refactoring etc.
  • Implement and provide guidance on the concept of Quality Assurance i.e. systematic and inherent quality management underpinning a controlled professional process and reliability and correctness of product
  • Implement and provide guidance on the concepts of Safety and Security, Traceability and Verification and Validation
  • Implement iterative and incremental development approaches under the Agile Methodologies (DevOps, Software engineering)
  • Start becoming a guide in the Engineering Community by writing articles, blog posts and sharing ideas to help others implement best practices

You Will Have:

  • Languages – C# mastery is a must, experience on Java and JavaScript desirable
  • Microsoft Azure – Service Fabric, App Services, Service Bus, Azure VM, Azure SQL, API Management, WebJobs, Table Storage, Blob Storage, Application Insights, Azure Active Directory, Azure Data Factory, Azure Data Lake Store, Azure Data Lake Analytics, Stream Analytics, Cognitive Services
  • Developer Toolkit - Deep knowledge of relational database systems, NOSQL Databases, Object Oriented programming and web application development.

Test Automation

  • Familiarity with Unit testing frameworks e.g. MS Unit Testing Framework, NUnit, Mocha as well as BDD tools e.g. Spock
  • Methodologies & Practices
  • Agile, Scrum, TDD, BDD
  • Service Oriented Architecture (SOA)
  • Continuous Integration, Continuous Delivery, Atlassian Suite, Microservices

We live by four behaviours at M&G and we ask all our employees to:

  • Inspire Others - Support and encourage each other, creating an environment where everyone can contribute and succeed
  • Embrace Change - Be open to change, willing to be challenged and able to adapt quickly and imaginatively to new ideas
  • Deliver Results - Focus on outcomes, set high standards and deliver with energy and determination
  • Keep it Simple - Cut through complexity and bureaucracy, be clear and decisive and never overcomplicate things

At M&G Diversity and Inclusion is a strategic objective. We know that an inclusive environment makes us more accessible and ensures we attract, engage, promote and retain exceptional people.  We welcome applications from all individuals regardless of age, gender/gender identity, sexual orientation, ethnicity/nationally, disability, or military service and welcome those who have taken career breaks. We will consider flexible working arrangements for any of our roles.

FindTheBestJob is a free service and does not charge a fee at any stage of application or recruitment process. Don’t provide your bank account or credit card details to anyone during job application. FindTheBestJob does not guarantee the availability of a job since organizations may end applications earlier than due date.

Apply Now