Systems Software Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
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. As a member of the Platform Architecture Distributed Systems team, the Systems Software Engineer will be responsible for designing and implementing scalable, reliable, and secure software for internal platforms that support the work of engineering teams all across Apple.
- Ideally, you will have 2+ years experience and possess:
- Strong systems programming skills and knowledge of operating system fundamentals
- Strong understanding of virtualization, containerization, and system image management (Docker, KVM, LXC)
- Understanding of concurrency control, data structures, algorithms, distributed system architectures, and networking
- Familiarity with all aspects of software development from architecture to deployment and maintenance
- Fluency in C/C++, Python, shell scripting, Go (Golang) a plus
- Experience with the Linux kernel a plus
- Familiarity with GPU hardware and drivers a plus
- Experience with measuring, analyzing, and optimizing performance a plus
Design, implement, and debug core execution environment components of an internal batch compute service, including containerization and virtualization components and platform-specific optimizations Research new technologies and implement software components to leverage and evaluate a variety of hardware architectures to meet scalability, security, and performance goals Work with a wide range of software and hardware engineering teams to support their workflows or integrate their technology into our platforms
Education & Experience
BS degree in Computer Science or equivalent, MS or Ph.D. a plus.