Desired Skills and Experience
- Engineer systems and tools to support the build, integration, and verification of complex software systems spanning multiple hardware platforms, embedded devices, mobile platforms, and cloud-based services
- Automate the compilation, continuous integration, testing, packaging, and distribution of multiple software components
- Work closely with other product and engineering teams to describe and validate expected software behavior and performance
- Develop tools and scripts to automate the testing of software and hardware systems
- Assist developers with build issues, including maintaining Makefiles and cmake lists, resolving compilation errors, unit test failures, and similar issues
- Encourage and enforce best practices to enable rapid new feature development while maintaining multiple functioning software products
- Work closely with Build, Integration, Test and Software engineers to develop tools for automation, and continuously improve the release process and automation environment
- Execute and create functional test plans that verify quality, correctness, and performance of software and hardware systems
- Install, configure, and extend a variety of software systems, including software for version control, code peer review, compilation, continuous integration, performance data collection and analysis, systems monitoring, and more
- 5+ years experience in build engineering and release automation
- Experience managing and building Android/AOSP projects
- Experience managing and building Linux based distributions and packaging
- Experience with make and cmake
- Experience with Linux, shell-scripting, Git and Gerrit, Jenkins
- Expertise with one or more programming languages, such as C, C++, C#, Ruby, Python
- Experience with software development and testing, and familiarity with TestDriven and BehaviorDriven Development (TDD/BDD), Continuous Integration, and Continuous Deployment
- Familiar with virtual machines such as VMWare and VirtualBox, and containers such as Docker and LXC
- Familiar with performing and automating systems administration tasks using tools such as Chef, Puppet, Ansible, Fabric
- Excel in a fast-paced, agile environment supporting multiple projects using a wide variety of technologies
- Strong communication skills and the desire to teach and mentor other engineers with varying domains of expertise
- BA/BS, MS preferred, in Computer Science or related field is preferred, but considerable weight will be given to experience and prior accomplishments