About the role
AI summarisedSoftware Engineer role on the Apple Online Store engineering team, responsible for developing and maintaining the global eCommerce platform. The role involves designing and building complex, high-volume, multi-tier distributed applications using Java and related technologies, with opportunities to work on cloud and microservices.
TechnologyFull-time
Key Responsibilities
- Design and development of enterprise applications
- Deliver complex solutions for multi-tier, distributed, high volume applications
- Work with NoSQL and relational database technologies
- Develop RESTful APIs
- Use Git, build tools (Maven, Gradle etc) and CI/CD practices
- Apply enterprise architecture patterns (High availability, load balancing, replication, etc)
- Build and deploy applications in public cloud (preferably AWS)
- Build, orchestrate, and deploy highly scalable Microservices using Containerization/Kubernetes
- Apply Clean Code principles and Test Driven Development (TDD)
- Maintain high code quality through refactoring, delivering clean, efficient, and maintainable code
Requirements
- Bachelors or Masters degree in Computer Science, Mathematics, or relevant industry experience or equivalent
- Proven experience in designing and development of enterprise applications
- Proven experience delivering complex solutions for multi-tier, distributed, high volume applications
- Proficient in Java language with deep understanding of object oriented concepts and good experience in enterprise Java ecosystem
- Experience working with NoSQL and relational database technologies
- Experience with RESTful APIs
- Experience with Git, build tools (Maven, Gradle etc) and CI/CD practices
- Good understanding of enterprise architecture patterns and concepts (High availability, load balancing, replication, etc)
- Good communication and collaborative skills
- Experience in building and deploying applications in public cloud (preferably AWS)
- Experience in building, orchestrating, and deploying highly scalable Microservices using Containerization/Kubernetes
- Experience with Clean Code principles and Test Driven Development (TDD)
- Experience working in fast paced environment involving Agile development methodology and DevOps
- Proven in maintaining high code quality through refactoring, delivering clean, efficient, and maintainable code as a cornerstone of continuous improvement