Software Infrastructure & Automation Engineer (SA2124)
Posted
- Act as a bridge between Development and DevOps/Infrastructure teams to improve engineering productivity.
- Develop automation tools and utilities using Python, Bash/PowerShell, and REST APIs.
- Design and maintain solutions that simplify development workflows and reduce manual effort.
- Administer Git/GitLab workflows across multi-repository and multi-product environments.
- Develop automation solutions using GitLab APIs and support repository lifecycle management.
- Define and maintain branching, merging, and release-management strategies.
- Support and optimize large-scale C++ build environments across Linux and Windows.
- Troubleshoot build, compilation, linkage, dependency, packaging, and deployment issues.
- Analyse dependency relationships across complex C++ codebases.
- Develop solutions for change-impact analysis and intelligent/selective test execution.
- Establish traceability between source code, dependencies, build artefacts, and test suites.
- Support test automation, code coverage, and risk-based testing strategies.
- Build internal developer tools, dashboards, reports, monitoring solutions, and self-service platforms.
- Collaborate with engineering teams to improve build architecture, development standards, and software delivery processes.
- Create and maintain technical documentation and engineering guidelines.
Requirements
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, Information Technology, or a related field.
- Strong hands-on experience with Python programming.
- Strong Shell scripting experience using Bash and/or PowerShell.
- Strong knowledge of Git and GitLab, including repository management and branching/release workflows.
- Experience working with GitLab APIs and REST APIs.
- Strong Linux administration and troubleshooting skills.
- Good knowledge of Windows development environments and cross-platform development.
- Strong understanding of large-scale C++ applications and build environments.
- Good understanding of dependency management, static/dynamic linking, DLLs, SOs, and runtime dependencies.
- Understanding of software architecture, modular design, and multi-platform development.
- Knowledge of unit, integration, and system testing.
- Understanding of test automation, code coverage, dependency analysis, and change-impact analysis.
- Experience developing automation tools and internal developer utilities.
- Strong troubleshooting and problem-solving skills.
- Ability to collaborate effectively with Software Development, DevOps, QA, and Infrastructure teams.