Senior Software Engineer (Java) – Apple Online Store
London, Greater London, United Kingdom
We’re a diverse collection of thinkers and doers, continually reimagining our products, systems, and practices to help people do what they love in new ways. This is a deeply collaborative place, where everything we create is the result of people in different roles and teams working together to make each other’s ideas stronger. That same passion for innovation that goes into our products also applies to our practices, strengthening our commitment to leave the world better than we found it. Today, the Apple Online Store provides one of the best multichannel commerce experiences in the world, and operates in 37 countries world-wide. The Apple Online Store Engineering team is responsible for the global eCommerce platform that serves millions of customers around the world. This is a great opportunity for talented Software Engineers with a proven track record of delivering complex software applications to focus on the design and development of the core services and fabric of an eCommerce system.
- A strong foundation in Computer Science fundamentals such as data structures and algorithms is required
- Significant years of experience in Java and Service Oriented Architecture
- Experience of working with Spring, Spring MVC and Spring Data would be a significant advantage
- In-depth knowledge of architecting and designing scalable server-side web applications
- Significant years of experience of a major relational or NoSQL database (e.g. Oracle / Cassandra)
- Commitment to code quality with experience of automated testing techniques (both static and dynamic)
- Exposure to asynchronous messaging concepts
- Exposure to Cloud technologies (GCP / AWS)
The ideal candidate for this role will demonstrate the following characteristics and experience: • Conscientious forward thinking individual, ready to aim for and define future visions, rather than simply maintaining status quo. • An in-depth understanding of Internet technologies and architectures and general application development. • Flexible attitude and willing to take on new challenges – someone who is dynamic, high-energy and works with a sense of urgency. • Strong understanding of the full life-cycle development process and be eager to influence the processes adopted by the team in delivering projects. • Adhere and contribute towards architectural & development techniques and standards. • Work timings will vary 4 to 5 days a month to support engineering activities with global teams.
Education & Experience
Bachelors or Masters in a Computer Science or related Engineering field.
- Travel to the United States will be required once or twice a year.