This is a hands-on lead software development and systems operations role supporting Magic Leap's build and release automation services. In this position, you will be part of a team building, evaluating, and deploying Magic Leap’s software stack.
You will help choose and deploy commercial and open-source tools and technologies to build and support a professional software engineering environment, with an emphasis on operational self-service and continuous integration. You will maintain and manage Magic Leap’s source code repositories for internal projects, third party resources, and forks of various open-source and proprietary projects.
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 Build, Integration, Test and Software engineers to develop tools for automation, and continuously improve the release process and automation environment
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
Assist SDK and platform teams bringing up new components; encourage best practices and consistent CI across the organization
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 OSX and Windows CI systems is a plus
Experience with Jenkinsfiles / groovy
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.
All your information will be kept confidential according to Equal Employment Opportunities guidelines.