WHAT DOES A BUILDING ENGINEER DO?
The Building Engineer focuses on the creation and maintenance of automated processes for game builds, asset exports, and continuous integration, ensuring efficiency across platforms like Xbox, Windows Store, and Steam. This role involves setting up automated testing environments, administering source control, and deploying continuous integration servers to support both internal build deployments and public game releases. The engineer also collaborates closely with game teams to optimize build processes, integrates platform-specific SDKs, and constantly explores new technologies to enhance testing procedures and developer feedback systems.
A Review of Professional Skills and Functions for Building Engineer
1. Building Engineer Duties
- Release Coordination: Coordinate and manage multiple, complex application releases and maintenance across the platform.
- Release Ownership: Own the release and deployment process of both vendor software releases as well as internal software releases.
- Process Improvement Leadership: Play a lead role in improving processes and procedures of the implementation and release management area.
- Automation Implementation: Look to automate as much as possible the entire release and deployment process using Source Code Management tools.
- Stakeholder Collaboration: Work closely with Development QA and other stakeholders to identify the gaps in the build/deployment process and add to automation road maps.
- Technical Documentation: Maintain technical documentation and conduct training to Development/QA teams in SCM tools.
- SCM: Deliver best practices in SCM/Version control, and automate the build, Continuous Integration (CI).
- Continuous Integration: Work with existing continuous integration build setup to ensure that functioning, recent builds of games and various tools are available to those who require them.
- Automated Testing: Create new automated tests as part of a continuous integration system, and manage existing tests to ensure they remain relevant for the projects in question.
- Build Process: Improve all aspects of the build process and systems for various projects.
2. Building Engineer Details
- Branch Management: Dealing with branch merging and management to ensure product feature branches are kept up to date to provision relevant builds for QA and release.
- Bug Fixing: Diagnosing build problems and fixing bugs in build releases.
- Build Delivery: Delivering builds for QA and release of Unity projects across all of the supported platforms.
- QA Liaison: Liaising with QA to ensure the builds are in a fit state to demo to clients and to release.
- Unit Testing Development: Working with the infrastructure team to help develop unit testing and automation to assist with project delivery and deployments.
- Asset Pipeline: Assisting with asset pipeline support and other tools used by the project team.
- Documentation Maintenance: Responsible for keeping build process documentation up to date.
- Automated Processes: Responsible for conceptual design and implementation of automated build and deployment processes.
- Toolchain Administration: Responsible for the administration and configuration of toolchain components.
- CI/CD Pipeline: Responsible for optimization and further development of CI/CD pipelines in close cooperation with the development teams.
- Workflow Automation: Responsible for the automation of workflows within CI/CD infrastructure.
3. Building Engineer Responsibilities
- Software Configuration: Updates and maintains software configuration and builds system
- Embedded Software Development: Design, implement, debug, and test embedded software
- Build Process Automation: Responsible for automating the software build process
- 3rd Party Build Environment Adaptation: Understands 3rd party build environment and adapts that to APCON builds
- Build Server Performance Monitoring: Responsible for monitoring the performance and stability of build servers
- Build Troubleshooting: Troubleshoot build failures and general configuration management issues
- Tool Construction: Constructing tools for automating and streamlining game publishing
- CI Pipeline Development: Developing CI pipelines for games and other in-house tech
- Development Process Improvement: Finding new ways to improve and automate development processes
- Deployment Integration: Working closely with the development teams to integrate new deployment processes
- Build/Release Documentation: Creating and maintaining documentation of the build/release processes
4. Building Engineer Job Summary
- Continuous Integration: Work with existing continuous integration build setup to ensure that functioning, recent builds of games and various tools.
- Automated Testing: Creating new automated tests as part of a continuous integration system.
- Test Management: Managing existing tests to ensure they remain relevant for the projects in question.
- Build Optimization: Ensuring that the build process is as fast and hassle-free for all members of the teams.
- Process Improvement: Improve all aspects of the build process and systems for various projects.
- Build Packaging: Responsible for the process of creating and packaging a build as well as project-specific paths such as data export and validation.
- IT Troubleshooting: Work with the IT department on troubleshooting problems with network/hardware.
- Automated Test Setup: Setup automated tests on numerous games to help lessen the load on the test team.
- Soak Testing: Responsible for setting up soak tests for games designed to find bugs faster.
- Hardware Utilization: Responsible for maximizing the use of current build hardware and planning capacity for the future.
5. Building Engineer Functions
- Requirements Gathering: Work with Engineering and IT to gather functional requirements and think solutions for teams that are growing.
- Workflow Optimization: Iterate and improve workflows in a highly automated environment.
- Jenkins Pipeline Maintenance: Maintain Jenkins pipeline scripts (written in Groovy) and develop new ones.
- Infrastructure Management: Maintain the infrastructure of remote farms of Macs that are hosts to virtual machines.
- Documentation Creation: Create and maintain the documentation for the systems involved in the automation.
- Testing System Support: Help engineers build and maintain testing systems for all applications.
- Unit Test Maintenance: Help application engineers maintain unit tests, code coverage reports, and other app health tools.
- Tool Development: Build custom tools to improve the development process and automate tasks.
- CI System Improvement: Research and develop improvements to the Continuous Integration system.
- Technology Monitoring: Stay connected to emerging technologies in the build and release industry.
6. Building Engineer Job Description
- System Maintenance: Responsible for the maintenance of the build system
- Tool Development: Writing tooling to improve the build and deploy pipeline (in the language of choice)
- Tool Integration: Responsible for writing integrations between tools
- Pipeline Analysis: Analyzing the game production pipeline from dev to release to identify areas of improvement
- Cross-functional Collaboration: Work with Production, Developers, and QA to identify their pain points
- Code Management: Manage code deployed to web platforms (Steam, Epic Games Store, GoG)
- Developer Support: Responsible for providing developer support for building code
- Team Collaboration: Work as part of a small but perfectly formed close-knit team, where opinion and efforts count
- Project Setup: Setting up new projects on continuous integration and building farms
- Project Maintenance: Maintaining existing projects on continuous integration and building farms
- Process Streamlining: Work with other developers to streamline build processes
7. Building Engineer Overview
- Support Technician Needs: Directly supporting all propulsion technicians' needs by being on the front line with them daily.
- Collaborative Documentation: Working closely with technicians and responsible engineers to author, maintain, and improve work instructions, manufacturing BOMs, and manufacturing processes.
- Instruction Quality Improvement: Transforming work instructions from ‘minimum viable product’ to ‘flight-level’ quality.
- Build Sequence Optimization: Optimizing build sequences for subassemblies, turbopump/engine assemblies, and ATPs.
- eBOM to mBOM Iteration: Playing a critical role in eBOM-to-mBOM iteration and learning cycles.
- Physical Configuration Management: Being responsible and accountable for the physical configuration of all subassemblies and engines.
- mBOM Ownership: Responsible for owning, updating, and communicating all mBOMs.
- Cross-functional Collaboration: Working closely with design, development, configuration, and test/dev teams to understand changes to the engineering BOM and its effects on product quality.
8. Building Engineer Details and Accountabilities
- Risk Management: Identifying, tracking, communicating, and mitigating technical and assembly risks.
- Tool Design: Designing and building tools to support assembly, proofs, flows, and ATPs.
- ERP Implementation: Supporting the implementation of Epicor, a new ERP system.
- Meeting Management: Owning daily Build Ops standup meetings to provide status and manage roadblocks and risks.
- Quality Assurance: Assuring product quality by owning, ensuring adherence to, and improving shop floor processes.
- Consultation: Consulting and working with the Advanced Manufacturing and Materials team.
- SOP Creation: Creating, improving, and documenting standard operating procedures such as cleaning and brazing.
- Training Development: Creating training programs for and educating technicians and engineers.
- Design Collaboration: Working with design engineering to drive ‘design for manufacturability’ with a focus on assembly.
- Process Scaling: Scaling the assembly process in support of both development and flight engine throughput.
9. Building Engineer Tasks
- Automated Processes: Create and maintain automated processes for game builds, tools build, asset exports, continuous integration, code signing, and game packages.
- Automated Testing: Create and maintain automated testing environments and build farms.
- Collaboration: Collaborate with game teams to identify build process needs and requirements.
- Platform Setup: Set up platform release environments for games including Xbox, Windows Store, and Steam.
- SDK Integration: Responsible for integrating the platform-specific SDKs.
- Source Control: Administrate and deploy source control and continuous integration servers.
- Build Deployment: Manage services and processes for deployment of internal builds and public game releases.
- Feedback Systems: Develop systems that provide timely feedback and analytics to developers and service users.
- Documentation: Document processes and provide user guides for developers and other service users.
- Technology Promotion: Investigate and promote the use of new technologies and better testing procedures.
10. Building Engineer Roles
- Automating Deployment: Automate deployment and configuration of NAS in AWS.
- Developing Automation: Develop automation for provisioning applications, infrastructure, and network elements.
- Integration and Testing: Integrate and test new features and requirements into the environment deployment pipelines.
- Architectural Design: Design and review the solution architectures.
- Documentation: Document solutions and handover to the operation teams.
- Troubleshooting: Troubleshoot issues in UAT, Stage, and Production environments.
- Production Changes: Promote changes to production and participate in a rotating on-call schedule.
- Compliance Assistance: Assist in ensuring compliance with all company and regional policies, City, State, and Federal OSHA safety and environmental laws, codes, standards, and regulations.
- Operational Tasks: Perform high-tier operational tasks, i.e., monitoring, root-cause analysis, handling escalations from operation teams, raising issues to vendors, etc.