Engineer III
General Atomics
General Atomics Aeronautical Systems, Inc. (GA-ASI), an affiliate of General Atomics, is a world leader in proven, reliable remotely piloted aircraft and tactical reconnaissance radars, as well as advanced high-resolution surveillance systems.The Electrical Test Engineering team has an exciting opportunity for a Software Build and Release Engineer to design, implement, and maintain the infrastructure used to build, package, submit, and release software products. This role will develop the workflow that begins when a user initiates a build, interfaces with the formal Software Configuration Management (SCM) build environment and supports the subsequent submission and release process through SCM.
The engineer will work closely with software developers, configuration management, systems engineering, quality assurance, cybersecurity, and program leadership to ensure that builds and releases are repeatable, traceable, secure, and compliant with program requirements.
DUTIES AND RESPONSIBILITIES:
- Design and implement automated build and release workflows.
- Develop web user interfaces between build-request systems and the organization’s formal SCM and build infrastructure.
- Configure and maintain agents, repositories, pipelines, scripts, and support infrastructure.
- Integrate build workflows with formal SCM processes for:
- Source retrieval and version selection
- Baseline and configuration identification
- Build execution
- Build-result reporting
- Submission of build artifacts
- Release authorization and distribution
- Ensure that build and release activities produce appropriate logs, audit records, version information, and traceability.
- Support controlled software releases, including promotion of approved artifacts between environments.
- Implement validation and error handling for incomplete, invalid, or unauthorized build and release requests.
- Establish procedures for managing build failures, rejected submissions, corrupted artifacts, and release rollbacks.
- Collaborate with IT to design, implement, and maintain the infrastructure required to support the software build system.
- Develop and maintain technical documentation, operating procedures, architecture diagrams, and user instructions.
- Monitor build and release systems for availability, performance, and failures.
- Troubleshoot issues involving source code, build environments, dependencies, tools, infrastructure, and release packages.
- Support audits, program reviews, customer demonstrations, and process improvement activities.
- Mentor developers and other users on the build and release processes.