Overview:
The Senior DevOps Engineer - Build/Release plays a crucial role in our organization by leading the design, implementation, and maintenance of the build and release process for our software applications. This role involves collaborating with development, operations, and testing teams to streamline the build and deployment pipelines, ensuring the reliability, security, and scalability of our products.
Key Responsibilities:
- Improve developer feedback cycles by optimizing builds, speeding up compiling and testing.
- Develop utilities and patterns to increase developer productivity.
- Develop linters and other static analysis tools to increase safety.
- Improve feedback cycles at all levels of development (examples: improving the experience of iterating on code locally, deploying to test environments, deploying to production).
- Improve organization wide concerns (examples: identifying and fixing build bottlenecks, improving the observability of running systems, language and library upgrades).
- Help other technologists at be more effective in their roles, through tool and library improvements.
- Provide technical input and knowledge to the planning, design, and requirements process for new products and features.
- Review other software engineersβ code for correctness, style, and information security concerns.
- Improve the performance, maintainability, and operations of the code base by engaging in occasional refactoring and upgrade projects.
- Support your teamβs production software by responding to an occasional alert or bug report.
- Be an expert and guide for best practices in engineering.
Required Qualifications:
- Bachelorβs or Masterβs degree in Computer Science, Engineering, or a related field.
- At least 6+ years of software development experience.
- Genuinely passionate about working with developers and improving their experience and velocity.
- Experience building multi-language monorepo tooling (preferably Bazel).
- Experience with the Bazel production ecosystem (e.g. EngFlow, BuildBarn, BuildBuddy etc.).
- Experience with the integration between Bazel and IDEs such as IntelliJ and VSCode.
- Advanced proficiency in at least one language. We use mostly Scala and C++ on our backend and Typescript on the frontend β itβs great if youβre comfortable in those or if youβre willing to learn.Β
- Experience optimizing builds, CI/CD pipelines, and/or test automation.
- Experience building useful utilities and abstractions that enable other teams to deliver software faster.
- Experience as a Technical Leader within a team, helping evaluating and making tech decisions for the team.
- Experience training or mentoring other developers.
- The ability to work closely across teams and manage dependencies.
- A customer- and product-focused mindset, with the ability to make well-reasoned tradeoffs between speed and quality.
- The ability to adapt and handle multiple competing priorities in collaboration with peers.
- Strong bias for automation.