Duties & Responsibilities
As the UK’s most successful omni-channel retailer, ecommerce is a key part of our business - we run one of the busiest websites in the UK, driving a significant proportion of our sales. Our engineering practice includes 30+ teams, working on everything from Cloud platforms to mobile apps, from e-commerce functionality to machine learning.
This is an opportunity to work as a lead iOS developer on a cross-functional Agile development team. You will be working collaboratively with other highly skilled developers as well as BAs, Testers, Designers and User Experience specialists on technically challenging customer-facing projects.
As a Senior Engineer you will have full responsibility for the development approach and provide technical assurance on various exciting projects. You will also use your knowledge of iOS and app development to support shaping of new projects and support the professional development of less experienced developers. You will work with a diverse range of technical and non-technical stakeholders which will require excellent communication skills.
Learning new skills is extremely important to us. Engineers are expected to continuously improve their skills and keep abreast of the latest technologies and techniques regardless of their experience or job grade. In return for this commitment you will be given the resources and support you need to help you with your learning journey.
*Please note that within the John Lewis Partnership, this role will be known as Product Engineer ITL5*
Ideal candidates will have extensive experience of iOS (Swift 4 and Objective-C), with a track record of
working in teams delivering high-quality software. Successful candidates will have passion for using
technology to deliver outstanding and innovative software solutions.
*Please refer to attached job description for further information regarding duties and requirements*
Required essential experience skills and qualifications
- iPhone/iPad/Universal iOS development using Swift 4 and Objective-C.
- Object-Oriented programming and tiered design methodologies.
- TDD, including writing multiple levels of tests (unit, functional, integration, UI).
- A structured approach to systems analysis and development.
- Working in a mission critical, high availability systems development environment.
- Using the latest industry standard development tools.
- Agile development methods, such as Scrum or Kanban.
Required desirable experience skills and qualifications
- VIPER Design patterns.
- Familiarity with Git. We use Gitlab.
- CI/CD tools such as Jenkins or BuddyBuild.
- Integrating with APIs and RESTful API design.