Software Build Engineer
San Diego, California, United States
Software and Services
The Software Build & Integration team at Apple is at the core of the Apple software development process. We are responsible for delivering the state-of-the-art operating systems and applications to Apple customers. The role empowers build engineers to influence new feature integration into Apple software, by collaborating with engineers from Software, Hardware, Localization, QA, and Project Management teams. Software Build Engineers will have the opportunity to utilize and implement solutions using distributed computing, cloud services, and virtualization technologies to deliver Apple software to customers. This involves engineering innovative solutions for Apple's production build system in support of macOS, iOS, watchOS, tvOS, Xcode, and more!
- macOS, iOS, or UNIX development experience.
- UNIX administration and strong software debugging skills.
- Knowledge of operating system, network, and compiler concepts.
Job Responsibilities Specific responsibilities include: * Performing daily software builds of macOS, iOS, and its related application products * Working cross functionally with teams across Apple to ship new features or products * Collaborating with Apple development teams to configure project code bases * Troubleshooting and resolving complex software integration issues * Developing tools and processes to improve and automate workflows * Enhancing and maintaining automation tools and web services * Filing actionable bugs and resolving bugs efficiently Job Expectations A successful build engineer will be expected to: * Have excellent verbal and written communication skills * Exercise critical thinking skills, anticipating the needs of others * Be an independent learner, insatiably curious, and know when to ask for help * Demonstrate willingness to ask for clarification and context to understand the big picture * Find multiple solutions to a problem, evaluate tradeoffs, and decide the best approach * Have strong coding ability and testing mindset, e.g. CI/CD, high code coverage, chaos engineering * Understand, retain, and perform complex procedures * Be proficient with git or other version control * Develop strong UNIX debugging skills * Communicate status frequently to product teams and engineering program managers * Document new processes or update an existing wiki pages
Education & Experience
* Bachelors, Masters, or equivalent experience in Computer Science.
- Optional Experience
- Willingness to learn and master these areas:
- * Familiarity with version control systems such as git or subversion
- * Proficiency with advanced text editors (Sublime, vim, emacs)
- * Authoring complex regular expressions
- * Experience with Xcode and/or Makefiles
- * Web systems development or web application development experience
- * Comfortable reading backtraces and stack traces