Git: Help colleagues with branching, merging, resolving conflicts, etc.
GitHub: Org & repo maintenance and administration.
GitHub Actions: Runner group & runner management, writing and maintenance of GitHub Actions workflows.
Jenkins: Configuration and maintenance of nodes, jobs and pipelines.
Artifactory: Management of generated artifacts, including administration of Conan remotes.
CMake: Writing & maintenance of modern, target-based C/C++ build scripts, toolchain files, and CMakePresets for multi-platform CI builds.
Compilation & Linkage: Working knowledge of compiler/linker behavior (GCC, Clang, MSVC), static vs. dynamic linking, ABI compatibility, and cross-compilation toolchains.
Conan 2.0: Writing & maintenance of Conan recipes, profiles, and remotes; managing binary compatibility and dependency resolution.
Containerization: Writing, maintenance and optimization of Docker images.
Key Responsibilities
Source Control Management:
Administer and maintain GitHub organizations and repositories (access control, repo structure, etc.).
Enforce branch/PR rules and review practices.
Disseminate knowledge and debug issues of colleagues.
CI/CT
Design, build, and maintain GitHub Actions workflows for automated build, test, and deployment.
Manage and optimize Jenkins pipelines and jobs for various projects.
Maintain and optimize CMake build configurations across platforms/architectures, including toolchain files, presets, and build caching.
Write and maintain Conan recipes, manage remotes and package promotion workflows on Artifactory, and resolve dependency/binary compatibility issues.
Diagnose and resolve build/link failures related to compiler/linker configuration, ABI mismatches, or toolchain differences.
Integrate and maintain GoogleTest/CTest suites, static analysis (cppcheck), sanitizers (ASan/UBSan/TSan), and code coverage (gcov/lcov) in CI pipelines, with reporting.
Monitor and troubleshoot build, test, and deployment failures.
Automation, Tooling & Documentation
Develop scripts and automation to improve developer productivity and reduce manual effort.
Create and maintain scripts for first-day onboarding of new users and machines.
Maintain configuration files, secrets, and credentials in a secure manner.
Write and update documentation of new and existing CI/CT work packages.