JOB DESCRIPTION
As a Build & Tools Engineer, your mission is to enhance and maintain our build systems, CI/CD pipelines (continuous integration, continuous deployment), and development tools that power our engineering efforts. The team you would be a part of is responsible for managing a large monorepo, scaling our build processes, and ensuring seamless code integration across the organization. You’ll play a key role in streamlining our CI/CD infrastructure using tools like TeamCity, Jenkins, and GitLab CI/CD, while working closely with developers to optimize build and release pipelines.
JOB DUTIES & RESPONSIBILITIES
- Responsible for maintaining, optimizing, and improving build and deployment systems;
- Monorepo management: oversee and optimize our large monorepo, ensuring efficient code integration, version control, and dependency management;
- Maintain and improve our Gerrit-based code review process to ensure fast and reliable integrations across teams;
- Manage and enhance our build systems, primarily using Bazel (experience with alternative systems such as Pantsbuild, Maven, or Buck is also valued);
- Design and manage CI/CD pipelines using TeamCity, Jenkins, and GitLab CI/CD, continuously seeking improvements in efficiency and reliability;
- Collaborate with developers to address technical debt, identify bottlenecks, and lead refactoring efforts to improve system maintainability and performance of the build processes;
- Package and manage dependencies using Python and C++ within the build and deployment systems;
- Drive improvements in version control workflows using Git and establish best practices for managing large, distributed codebases;
- Work with team members to resolve any build or deployment issues day to day;
- Responsible for optimizing and automating infrastructure processes;
- Design and develop additional tools to improve development workflow;
- Work closely with developers and researchers to improve and optimize software testing;
- Write clear, maintainable, portable code.
KEY CAPABILITIES
- 3-5 years of experience working with build systems, CI/CD pipelines, or similar infrastructure roles in a Finance or non-Finance environment;
- Proven experience managing a large monorepo and addressing the challenges of scaling codebases;
- Strong experience with build-related workflows and systems like Bazel (or alternatives such as Pantsbuild, Maven, Buck);
- Extensive experience with CI/CD tools, including but not limited to: TeamCity, Jenkins, and GitLab CI/CD;
- Proficiency in Python programming, with experience in build and deployment pipelines;
- Good working knowledge of C/C++ tool chains;
- Expertise in build systems in Linux;
- In-depth knowledge of Git and version control in large, distributed teams;
- Demonstrated ability to reduce technical debt, including leading refactoring efforts to optimize build and deployment systems;
- Strong interpersonal skills and problem solving ability;
- Strong analytical skills.