Apple Services Engineering (ASE)’s Solutions Architecture & Platform team is looking for technically expert Software Engineer to design, develop, enhance, test, and support software and software engineering of its platforms. Our platforms power secure and reliable processing of metadata and business operations of Apple’s internal services at scale, including Apple’s Digital Content to enable the availability of content to the store front, reporting, and software development of internal applications and tooling. A key focus of this role would be to develop software for a stream processing platform within a data mesh architecture, while collaborating with the engineers on the team and engineering teams across ASE. The scale and scope are complex and require someone who has passion for solving difficult problems, conducts technical due diligence, and looks at the big picture when solving them.
Requirements
- Strong coding experience in Java, Python
- Extensive experience in building distributed stateful micro services systems using RPC and Event Driven methodology.
- Familiarity with Domain Driven Design approach.
- Deep experience in API design, service oriented architecture (SOA), large scale distributed systems and asynchronous patterns with data guarantees.
- Experience in developing fault tolerant systems in multi-DC environments
- Strong knowledge of open-source stream and batch processing platforms, such as Spark, Flink, Kafka; and data formats - Avro, Protobuf
- Experience working with Data Lakehouse technologies (e.g. Apache Iceberg)
Responsibilities
- designing and building critical platforms, services and tools that enable engineers across Apple to build secure and scalable services
- work with engineering teams across ASE to understand the needs of stakeholders, align on goals, design and deliver high quality software that meets Apple's standard and scale
- understanding requirements, designing solutions, coding, testing, and integrating our services to provide a great user experience
- participate in prototyping, mentoring, design / code reviews, and incident analysis
- apply your expertise to prioritize critical features and deliver quality solutions
- develop software for a stream processing platform within a data mesh architecture
- collaborating with the engineers on the team and engineering teams across ASE
Other
- Excellent written and oral communication skills are a must
- The scale and scope are complex and require someone who has passion for solving difficult problems, conducts technical due diligence, and looks at the big picture when solving them.