The ideal candidate has a passion for developer productivity and build tools. You likely have been a software engineer in your past developing features for customers in either a customer facing application or backend service. However, during your tenure, you have found interest in serving your fellow software engineers through innovative tools, services, and processes that help engineers be productive.
You also have amazing skills that allow you to take requirements to produce scalable, reliable, and easy to understand architecture. Additionally, you are astute in taking an architectural design and performing a work breakdown for your team so that your team can deliver value each sprint. Lastly you are a mentor to your fellow engineers helping each person grow. You do this by being a role model within the team.
Specifically, you will be leading a team s technological direction responsible for creating a build systems, pipelines, tools, and telemetry, other engineering teams will use to build software at scale. You will help drive technical decision-making, particularly about the architectural direction of the platform components for building software. Your team focuses on providing a simple process and set of tools for application teams to leverage so that they can build their application with quality and velocity.
You will help set the tone for how your team operates by setting standards engineering and operational excellence. You ll insist on modern, rigorous software development practices that emphasize testability, repeatability, and self-service automation.
You are experienced and capable of playing a leading role to design and develop complex functional changes to existing software systems, or new ones, involving yourself and other engineers. You make good decisions when to build new and when to extend existing.
You provide guidance on design, coding, and operational best practices, and have a track-record of applying these best practices to software that you have worked on. You can propose and create best practices proactively where none exist.
You make high impact decisions driving how and what software gets built. Your decisions are often right, and you are persuasive in delivering your suggestions and ideas to your team. You understand how individual pieces of software fit into a greater ecosystem and can actively communicate and advocate for choices among multiple stakeholders.
You are an effective communicator as exemplified by your technical documentation, and your interactions with stakeholders and adjacent teams. Your success is judged as much on your own productivity as on the positive impact you have on engineers around you.
What to Bring:
Bachelor s degree with 9 - 13 years of experience as a software developer using at least one of (Swift, Kotlin/Java, Javascript or Golang preferred) and has a good understanding of how software applications are built. This includes understanding an application s dependency tree.
Hands-on experience with at least two build systems consisting of (e.g. gradle, maven, yarn, npm, bazel, make, buck, rush)
You are famliar with how to establish telemetry within the software development lifecyle from local developer to production deployment.
Hands-on experience with designing, maintaining, and measuring Continuous Integration systems at scale.
Hands-on experience with at least one IaC tool (e.g. CDK, Terraform, CloudFormation)
Hands-on experience with at least one cloud provider (AWS, GCP, Azure, or other)
Experience with the development and operation of high throughput build systems supporting hundreds (or preferably 1,000 s) of developers or more.
Hands-on experience with automating development workflow pipelines (CI/CD)