This role is open specifically for people who are looking to work on a flexible contract.
We know everyone’s lives are different and that traditional working patterns may not be quite right for you. Whether you’ve taken a career break, had time out to support family or are looking to balance your career with another passion of yours, we can offer you a flexible contract to work the pattern that suits you.
We are open to flexible contracts
Once you’ve joined the firm you will have access to training, giving you the opportunity to upskill yourself on our various systems. You’ll also benefit from additional support designed to help you integrate into the firm and connect and build relationships with other flexible workers across our network.
A career in Information Technology, within Internal Firm Services, will provide you with the opportunity to support our core business functions by deploying applications that enable our people to work more efficiently and deliver the highest levels of service to our clients. Our Information Technology Generalist - Practice Support team focuses on managing the design and implementation of technology infrastructure within PwC, developing and enhancing internal applications, and providing technology tools that help create a competitive advantage for PwC to drive strategic business growth.
Senior Developers are a mainstay of product teams and are expected to have prior experience using modern, agile software development practices. They will take responsibility for the design and development of applications, writing and maintaining efficient code. They will work closely with product managers and architects to determine technical effort required for product features and be able to efficiently estimate and break work down into vertical slices.
Senior Developers have a quality first mindset, ensuring they create efficient unit tests and work alongside testers to create rapid feedback loops. Although design and coding practices are a focal point of the role, developers will be expected to have ‘T-shaped’ skills, being able to turn their hands to the practicalities of testing, support and deployment.
A Senior Developer will always look for ways to improve the efficiency of engineering practices, through methods such as pair programming, continual refactoring and feature toggling Senior Developers will not be afraid to explore new ways of working for the team to increase quality, stability and cadence of delivery.
A Senior Developer works within product teams to:
Design and develop high quality products using modern engineering practices
Introduce techniques to ensure that high quality code can be delivered quickly and efficiently through automation and modern software engineering practices and tools, such as:
Effective branching strategies
Efficient, lean test automation frameworks
Utilising automated code scanning tools
Providing quick effective quality feedback
Ensure support items are rapidly triaged and managed
Work with DevOps engineers and test engineers to embed practices in the team which enable consistent, predictable, fully tested deployments
Directly lead and mentor developers and test engineers on all of the above
Aware of the importance of considering developing process efficiency and the common ways in which processes are optimised. Supports specific activities to improve development processes. Able to spot or identify obvious deficiencies.
Understands key principles of modern standards approach, how they apply to the work they are undertaking, and will apply under guidance.
Collaborates with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools.
Translates logical designs into physical designs. Produces detailed designs, and documents all work using required standards, methods and tools, including prototyping tools where appropriate. Designs systems characterised by managed levels of risk, manageable business and technical complexity and meaningful impact. Works with well-understood technology and identifies appropriate patterns.
Able to build and test simple interfaces between systems, or can work on more complex integration as part of a wider team.
Able to analyse solutions end to end and optimise accordingly. Work within the product team to enable quick feedback loops through use of automated testing and toolsets.
Keeps up with the latest trends and techniques within the wider industry and is able to apply them in a relevant context. Ensures the teams are equipped with cutting edge tools and approaches. Able to strike the right balance between automated and manual test approaches and look to identify and ‘shift left’ risk.
Deep understanding of software engineering practices and technical excellence, drives quality engineering innovation within the teams, uses pragmatic and analytical techniques and solves complex technical problems.
Deep understanding of the products and related infrastructure, ability to rapidly triage, fix or remediate issues. Uses tools and techniques to measure code quality in production.
Understand and apply design techniques in relevant fashion. Work with other team members to identify risks early and encourage regular integration points. Understand the approaches required for evolutionary, continuous and incremental design.
Ability to script solutions and work on interfaces between products to facilitate quick feedback loops. Adept at developing and managing test scripts and good knowledge of testing APIs and working with SDKs