Systems Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Oct 23, 2018
Role Number: 200001382
Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products very quickly. Bring passion and dedication to your job and there's no telling what we can accomplish together. Do you love crafting elegant solutions to highly complex challenges? Can you intrinsically see the importance of every detail? At Apple, our Platform Architecture group is responsible for connecting our hardware and software into one unified system. Join this team, and you'll collaborate with engineers across Apple to build and deploy forward-looking prototype systems that contribute to the development of our world renowned hardware and software architecture. You and your team will confirm that every product we make performs exactly as intended. Together, our work will be the reason millions of customers feel that they can trust our devices every single day. The Systems Software Engineer within the Platform Architecture distributed systems team will be responsible for designing and implementing software for a variety of scalable, reliable, and secure distributed computing systems for Apple’s internal engineering teams.

Key Qualifications

  • Strong systems programming skills
  • Strong understanding of virtualization, containerization, and system image management (Docker, KVM, LXC)
  • Understanding of concurrency control, data structures, algorithms, distributed system architectures, and networking
  • Experience with measuring, analyzing, and optimizing performance
  • Familiarity with all aspects of software development from architecture to deployment and maintenance
  • Fluency in C/C++, Go (Golang), Python, shell scripting
  • Experience with the Linux kernel a plus
  • Familiarity with GPU hardware and drivers a plus

Description

Design, implement, and debug core execution environment components of an internal batch compute service, including containerization and virtualization tools Research and implement key technologies, architectures, and standards Work with other engineering teams to ensure that services meet scalability, availability, security, and performance goals

Education & Experience

BS degree in Computer Science or equivalent, MS or Ph.D. a plus.

Additional Requirements