Python Developer

#R-00181639
Location
Warszawa, Poland
Contract
Permanent - Full Time
Brand
NatWest Group
Job category
Software Engineering - Technology
Posted
18/08/2022
Closing date for applications: 19/10/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 Poland and as such all normal working days must be carried out in Poland.

Join us as a Python Developer

  • This is an opportunity for a technically minded individual to join our IT department
  • Be a member of our SCRUM team and develop our forecasting platform: Scenario Planning System
  • Hone your existing software engineering skills and advance your career in this critical role

What you'll do

You’ll apply widely agreed software engineering principles and methodologies to design, develop, test and maintain applications and services to achieve the stated business and technology goals within required budgets and timelines.

Specifically as a Python Developer in IT department you will be responsible for development and support of the Scenario Planning System, which is an in-house developed Python-based forecasting platform.

You’ll also:

  • Design and develop software that is amenable for a greater automation of build, release testing and deployment process on all environments
  • Drive the reuse and sharing of platform components and technologies within the software engineering teams
  • Deliver software components to enable the delivery of platforms, applications and services
  • Write unit and integration tests, in automated test environments to ensure code quality
  • Collaborate with the Statistical Modelling team and various Technology teams located in Europe
  • Develop new features according to business requirements
  • Propose new improvements to simplify statistical modelers’ work and make results more available and user friendly to final stakeholders
  • Integrate SPS tool with internal systems - Beepio, PBCS, external APIs and other applications
  • Provide daily basis support: end user support, bug fixing, problem management, incident management

The skills you'll need

You’ll need a strong background in software engineering, software design or database design and architecture, as well as extensive experience of developing software in a SOA or micro-services paradigm. You should also have development experience in a programming language, experience of using industry recognised frameworks and development tooling, and a background of implementing programming best practice, especially around scalability, availability and performance.

You’ll also need:

  • Extensive experience of test-driven development alongside the use of automated test frameworks, mocking and stubbing and unit testing tools
  • Knowledge of the key phases of software delivery lifecycle and established software development methodologies
  • Experience of working in an environment where products must be delivered to specific timescales
  • Software design skills, keenness to apply principles such as SOLID, single level of abstraction
  • Ability to decompose units of code
  • Skills of adding new features to legacy (untested) code
  • Experience with ORM (such as SQLAlchemy), as well as plain SQL
  • Basic knowledge of web standards like HTML, JS, JSON
  • Some experience with Web development such as CherryPy or Flask is highly desirable
  • Ability to work in a team
  • Good written and spoken English