Software Engineer
Role details
Job location
Tech stack
Job description
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!, 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
Do you have experience in gRPC?, 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, 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