This Senior Software Engineer role focuses on designing, building, and maintaining critical platforms and services enabling engineers at Apple. The position involves understanding stakeholder needs, designing high-quality solutions, coding, testing, and integrating services, and collaborating with engineering teams. It emphasizes a strong collaborative and fast-paced environment.
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
- Extensive experience in building analytics systems using event driven methodology
- 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 with large dataset storage solutions (HDFS, S3) and RPC protocols
- Excellent written and oral communication skills
- Strong knowledge of SQL and NOSQL data-stores
Benefits
- Comprehensive medical and dental coverage
- Retirement benefits
- Discounted products and free services
- Educational reimbursement
- Performance bonuses/commission
- Relocation assistance