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.
At the Apple Online Store (AOS), its Engineering team is responsible for the global eCommerce platform that serves millions of customers around the world. We are a team highly skilled Engineering Managers, Engineers, Analysts and Project Managers based in London, Cupertino and Singapore. This is a great opportunity for talented Software Engineers to work as part of a global Software Engineering team, and deliver ground-breaking eCommerce features to Apple’s customers, including business and education consumers.
- Degree in Computer Science or related field
- A strong foundation in Computer Science fundamentals such as data structures and algorithms is required
- Experience in Java / Service Oriented Architecture
- Knowledge of designing scalable server-side web applications
- Experience of working with Spring, Spring MVC and Spring Data would be a significant advantage
- Working knowledge of Content Management Systems and/or Product Catalog systems
- Exposure to Apache Spark a big plus
- Knowledge of a major relational or NoSQL database (e.g. Oracle / Cassandra)
- Usage of source version control software (e.g. Git)
- Commitment to code quality with experience of automated testing techniques (both static and dynamic)
The ideal candidate for this role will demonstrate the following characteristics and experience:
- Flexible attitude and willing to take on new challenges – someone who is dynamic, high-energy and works with a sense of urgency.
- Must possess aptitude for grasping new technical concepts.
- Strong understanding of the full life-cycle development process. Must understand both agile and traditional development techniques, and be eager to influence the processes adopted by the team in delivering projects.
- Adhere and contribute towards architectural & development techniques and standards.
Bachelors or Masters in a Computer Science or related Engineering field.