Build and Release Engineer
Brain Corp is a San Diego-based AI company creating transformative core technology for the robotics industry. Our diverse teams in Software, Hardware Design, and Embedded Systems are creating comprehensive solutions to support the builders of today's autonomous machines in successfully producing, deploying, and supporting commercial robots across industries and applications. Brain Corp is funded by the SoftBank Vision Fund, Clearbridge, and Qualcomm Ventures. For more information please visit: https://www.braincorp.com/
As a member of the Software Engineering team, the Build and Release Engineer is responsible for supporting and improving our infrastructure and software tools that enable rapid iteration across the entire software team, and the design and implementation of the release and deployment pipelines. The core role is to provide the tools, processes and building blocks that give internal developers an optimal development environment to enable them to achieve high throughput (build system, testing infrastructure, simulations tools, etc.).
Duties and Responsibilities:
- Create an infrastructure that enables rapid iteration across the entire team.
- Design and implement build, release, delivery, and deployment pipelines.
- Automated deployment of development environments, including test environments.
- Enforce best practices for polyglot software systems.
- Support on-robot development teams (R&D, Application SW, Cloud integration).
- Create and maintain tools like Git, Jenkins, and custom internal tools.
- Writing custom services to autonomously manage test infrastructure.
- Working with developers to optimize workflows and improve the cadence and quality of releases.
- Interface with real hardware in complex dynamic environments.
What you need:
- Bachelor’s degree in Computer Science, Computer Engineering, or related field.
- 2+ years of experience implementing best practices for CI/CD for Linux systems.
- 2+ years of experience in Software Development, with C++/ Python 2 and 3 expertise.
- 1+ years in a technical leadership role.
- Proficiency using Jenkins tool chain in a professional environment.
- Expertise with scripting languages and build tools such as makefile, CMake or Bazel.
- Experience with containers (Docker, systemd-nspawn).
- Experience with related build technologies include package management and binary repositories (Artifactory).
- Extensive Knowledge of linux OS, in particular Ubuntu.
Things that make a difference:
- Embedded Linux, QNX, Robot Operating System (ROS) and RTOS experience.
- Proficiency using the Atlassian tool chain in a professional environment.
- Customer focused working style and communication skills.
- Understanding of self-driving vehicles or robotics.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. Essential functions may require maintaining the physical condition necessary for sitting, walking or standing for periods of time; operating a computer and keyboard; talk and hear at normal room levels; using hands to finger, grasp, and feel; repetitive motion; close visual acuity to prepare and analyze data and figures; transcribing; viewing a computer terminal; extensive reading; lift, push, carry, or pull up to 10 pounds.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. The noise level in the work environment is usually quiet to moderate. Employee is exposed to the typical office environment with computers, printers and telephones.