Senior Software Engineer - Distributed Systems
Apple4 days ago
San Francisco, CA, United States
Hybrid
Full-time
Junior Level (1-3 years)
Job Description
Job Description
We are looking for technically hands-on engineers who want to ship high-performance distributed systems that solve real-world problems at Apple scale. You would join a team of engineers who build innovative storage and backend service while tackling interesting challenges in a supportive, balanced environment.
We spend most of our time building software and automation, but equally important is the work we do collaborating with teams across Apple, understanding their operational challenges, and iterating on scalable, long-term solutions together.
Your Responsibilities
- Engineer distributed services, tooling, and operational standards
- Collaborate with teams to refine requirements and implement lasting solutions
- Drive service scalability, resiliency, and performance
- Take ownership over components critical to Apple's success
- Optimize system performance through algorithm design and testing
- Scale services to ever-increasing problem sizes
- Improve service operability using metrics and log data
Qualifications
- 5+ years of professional software engineering experience
- Experience with high-performance, strongly typed languages such as Go, Rust, Scala, or others.
- Experience with building and operating distributed systems.
- Familiarity with some large infrastructure systems like Kubernetes.
- Strong interest in distributed storage, observability, reliability, and cloud services.
- Interest in working across different levels of the stack, including debugging OS-level issues such as memory and concurrency problems.
- Ability to efficiently develop, debug, and support new technologies in a changing environment.
- Familiarity with application and service monitoring tools and techniques.
- Experience with incident management and response.
Education & Experience
Education: BS in Computer Science or equivalent, related experience.
Required Skills
Incident Management
Scala
Rust
High-Performance Programming
Kubernetes
Reliability
Cloud Services
Debugging
Go
Distributed Systems
Observability
Performance Optimization
Software Engineering