Software Engineer
Apple Inc.
Charing Cross, United Kingdom
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
EnglishJob location
Charing Cross, United Kingdom
Tech stack
Webdriver
C
Java
Bash
C++
Cloud Computing
Continuous Integration
Distributed Systems
Embedded Software
Protocol Buffers
Python
Network Troubleshooting
Network Protocols
Ansible
Scala
Software Engineering
Web Services
Kubernetes
Objective C++
gRPC
Docker
Go
Job description
Apple's device cloud team has an immediate opening for a software engineer working primarily in Go who will: Collaborate across functions to maintain a fleet of Apple devices numbering in the thousands Improve the functionality, observability, scalability, availability, usability, security, and performance of our services & infrastructure Adapt cloud technologies and industry best practices to solve challenges unique to Apple workloads Triage, investigate, and remediate production issues
Requirements
- In depth of experience in software development and a passion for software engineering
- Experience designing or working with web services (HTTP+JSON, gRPC, etc.)
- An understanding of Networks and Networking Protocols
- Experience with, or interest in, Go
- Troubleshooting distributed systems and networking issues
Preferred Qualifications
- Languages: Golang, Swift, C, C++, Objective-C, Python, Java, Scala, shell
- RPC libraries and protocols: protobuf, gRPC
- Cloud technologies: Kubernetes, Docker, CI/CD, Envoy proxy
- Automation technologies: Ansible, Pkl, WebDriver
- Experience with IoT or other embedded development
About the company
Role Number:200654897-2114Imagine what we could do together. At Apple, new ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. We're looking for a driven but adaptable developer, working primarily in Go, with some Swift, and dipping into other languages like Python or Bash as necessary, to help build a powerful platform that enables internal engineers to deliver incredible experiences to end-customers. Our team's device cloud offers thousands of real and virtual Apple devices spanning hundreds of different hardware configurations, for use as remote development devices from desk and for automated testing in CI. Leveraging our device-centric API, engineers can use devices for purposes such as low-level hardware bring-up using custom firmware and kernels, validating ML model performance on released hardware, all the way to automating the UI with XCTest to validate Apple's cloud services. Join us to solve problems spanning maintaining a highly
available fleet of thousands of Apple devices, constructing complex overlay networks and even SoC or USB debugging, all with the quality expected of Apple - to make this platform just work, like magic, every time!