CMake Engineer

Noida, Indien

We are looking for a Software Engineer specializing in CMake to design, configure, and maintain cross-platform build systems for complex software projects. In this role, you will be responsible for creating efficient and maintainable CMake configurations that support scalable build workflows across multiple environments..

What does day-to-day look like:

  • Design, implement, and maintain CMake-based build systems for large-scale, cross-platform software projects.
  • Develop and optimize build scripts, toolchains, and project configurations to support multiple operating systems and compilers.
  • Collaborate with software engineers to define build dependencies, external libraries, and third-party integrations.
  • Maintain modular and reusable CMake configurations, ensuring readability, maintainability, and scalability.
  • Automate build, testing, and packaging workflows in integration with CI/CD tools (e.g., Jenkins, GitHub Actions, GitLab CI).
  • Debug and resolve build issues related to dependencies, linking, or configuration errors.
  • Implement build performance improvements, such as caching, parallel builds, and incremental compilation.
  • Document the build architecture and maintain clear setup instructions for developers and release teams.
  • Participate in peer reviews and collaborate on improving build tooling and practices across teams.

Requirements:

  • 3+ years of experience configuring and maintaining CMake build systems for complex or large-scale software projects.
  • Strong understanding of compilation, linking, and dependency management.
  • Proven experience in cross-platform build setup — including Linux, Windows, and macOS environments.
  • Hands-on experience with build tools such as Make, Ninja, or MSBuild, and integration with CMake.
  • Familiarity with version control systems (Git) and continuous integration pipelines.
  • Solid understanding of static and dynamic linking, library management, and third-party dependency integration.
  • Ability to write modular, maintainable, and scalable CMake scripts following best practices.
  • Strong problem-solving and debugging skills related to build failures and dependency conflicts.
  • Excellent communication and documentation skills, with the ability to explain build processes clearly.