Build Systems Engineer
Santa Clara Valley (Cupertino), California, United States
Machine Learning and AI
Apple is looking for a talented, detail oriented and results oriented software engineer to develop a build infrastructure for our next-generation products. In this position, you will have the opportunity to work with a group of top notch software engineers from related but different backgrounds to make a product truly innovative. To be successful in this role, the candidate must be hands-on, proactive, excellent at problem solving and have a strong desire to learn. This build engineer candidate takes pride in creating and managing a build and test infrastructure as well as automated build tools using continuous integration practices. This engineer needs to closely work with cross-functional teams to identify the issues, design and implement the proper solution, and work with the engineering teams to properly test and deploy the changes. Critical thinking, writing solid and clean code, planning, documenting and communicating within the team and cross-functionally is critical to the success of the role.
- 5+years of SW development and build infrastructure experience.
- Excellent software development process skills.
- Previous experience working on a project that has a build and release process integrating at least 25 components.
- Experience with Jenkins or similar tools.
- Breath of knowledge on a variety of techniques and tools in the areas of build, test, deploy, and release.
- Have created and managed software package dependencies (such as: deb, dmg).
- Familiar with artifact management solutions (artifactory, aptly, package mirrors).
- Demonstrated experience with project level build tools such as bazel, CMake, Make, buck, ninja for large scale software.
- Experience in building C based projects.
- Deep understanding of build dependencies at various levels (header dependencies, linking dependencies, tools dependencies, package dependencies...)
- Ability to script in python, bash.
- Familiarity with macOS and Linux development and debugging tools.
- Experience with embedded systems software a plus.
- Experience with LLVM and/or Xcode is a plus.
- Excellent teamwork and communication skills.
- Strong verbal and written communication skills.
- Ability to manage multiple tasks and self-prioritize.
- Detail oriented.
As a build engineer you will be responsible for developing a multi-language build infrastructure for a unified set of OS kernels, frameworks, applications and internet services. Analyzing build and test cycle time, robustness and optimizing software builds. Developing tools to enable developer efficiency for build, test and release tasks. Apple is seeking a software engineer with a strong technical and programming background enthusiastic about build and test infrastructures. The successful candidate for this role is a team-oriented professional with excellent communication skills, comfortable in a fast-paced environment.
Education & Experience
BS/MSEE in Computer Science or related field.
- - Coding experience in a C based language a plus (C, C++, ObjectiveC).
- - Familiarity with container eco-system (cluster schedulers, Kubernetes, docker, service registries, secrets management) is a plus.
- - Familiar with Virtualization Technologies (vmware, KVM) is a plus.