Build Engineer - Android
Santa Clara Valley (Cupertino), California, United States
Software and Services
State of the art software requires state of the art software build engineers. We are looking for someone to own the increasingly complex build system and software integration for our Android applications. You have experience with a variety of software engineering practices and tools. You understand how to balance improved software quality via unit tests and lint tools with the rapid turnarounds that engineering and QA teams demand. You know that our final product is a rich amalgamation of many different components — some developed here at Apple, some coming from the larger software community — with widely varying requirements. Most importantly of all, you want to work with a team that is committed to building the best products in the world.
- To succeed in this role, you will need:
- Expertise with common Android build tools: Gradle, Android Studio, Make, Maven, Artifactory
- A solid understanding of Jenkins and similar CI and CT tools.
- Robust scripting skills: sh, Python, Groovy
- Ability to read and understand a wide variety of existing build scripts and adapt them to new environments
- Experience crafting build systems that can easily be used for manual builds on the development desktop, for automated PR verification, and on sealed production build machines.
- Knowledge of git, including tag and branch management strategies
- Familiarity with Java and Kotlin — able to triage build and unit-test failures and quickly escalate them to engineering to fix
- Excellent communication skills: Able to converse fluently with SW engineers, QA engineers, security teams, and non-technical Legal and Marketing staff.
- At least 3 years experience in a comparable role
- BS degree in a technical field
In this role, you will: * Own the build scripts and process for Android applications and associated libraries (including JNI-based native libraries) * Work with Apple’s corporate build service to ensure that release builds run correctly on the sealed production build servers. * Triage build failures and quickly escalate them to engineering as necessary. * Manage a large collection of open-source and third-party projects we rely on: This involves tracking and importing new versions as appropriate, consulting with Legal representatives on compliance issues, and aiding Security teams in responding to vulnerabilities. * Support project engineers with build issues. * Help us improve product quality by accelerating builds and expanding our use of automated code quality tools in our build pipelines. * Ensure that we run unit tests for both in-house and imported software.
Education & Experience
BSCS (or equivalent) experience will be considered
- * Experience with Xcode and Apple build tools
- * Familiar with various software delivery mechanisms
- * Understanding of CVE and vulnerability tracking processes
- * Comfortable with Proguard and other code optimization and obfuscation tools
- * Knowledge of testing frameworks and different approaches for both unit and integration testing