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 Test­Driven and Behavior­Driven 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