Apple is seeking to advance a widely accepted technology and design, develop the next generation of innovative connectivity technologies, specifically in the area of wireless systems and standards.
Requirements
- Good understanding of packet scheduling, networking protocols, queuing theory, Networks slicing, Application layer, solid understanding of wireless communication and Wireless Standards (5G NR, LTE)
- Good familiarity with various AI/ML libraries (e.g., PyTorch, TensorFlow...)
- Experience with designing and implementing highly parallel & concurrent applications
- Experience in building Command Line Interfaces (CLIs) and Graphical User Interfaces (GUIs)
- Programming experience in modern C++/Python/Swift
- Strong architectural knowledge and experience in framework-level development
- Experience in solving interdisciplinary problems via ML and experience in training AI/ML models/agents in simulations
Responsibilities
- Delivering architecture, design and implementation of multi-layers, distributed, and real-time simulation components
- Defining problem statements, designing AI/ML-based data-driven learning solutions, assessing the system-level performance, and researching innovative ideas & solutions
- Designing and developing complete SW components embedded into the simulation to verify end-to-end various items/ideas/concepts
- Defining innovations and technical contributions in different areas of the cellular system (L1/L2/L3) and network architecture
- Designing, developing, integrating and bringing up simulation components/subsystems with their corresponding infra-structure
- Contributing in defining services and functionalities delivered by the simulator, profiling and optimizing code
- Developing models of overall system and network performance and evaluating performance and critical metrics tradeoffs to optimize the overall architecture
Other
- Masters degree in Computer Science or Electrical Engineering
- 5+ years of experience with programming
- Highly motivated and proactive, a fast learner, and a good team player
- Passion for building highly reusable software models, writing clear and readable code, performing code reviews, and supplying a CI/CD infrastructure
- Strong communication skills