Sr. Software Engineer - Release Engineering

Vollzeit
vor 3 Tage
About the team

This role is on the Self-Managed Release Engineering Team, a sub team of the Platform Engineering organization. This team standardizes the release process of self-managed artifacts such as binaries, linux packages, terraform providers, and docker images, across all of our product lines. Our mission is to build tools that give teams a repeatable, reliable, and lovable way to deliver all their artifacts to customers on a scalable platform. We believe our customers (internal developers in R&D) should enjoy using our tools and our tools should be transparent enough that they are a part of their day to day development workflow without additional toil.

What you’ll do (responsibilities)

  • Architect, build, improve, maintain, and document internal release systems and pipelines.
  • Collaborate across internal teams to lead and improve release tooling and services while fostering a culture of inclusivity, respect, and openness. Contribute to building an environment where all voices are heard and valued.
  • Be responsible for the full lifecycle of feature development on common release tooling components from design through testing, release, and ongoing support.
  • Continuously improve automated build, test and deployment workflows.
  • Help to evolve the CI/CD strategy for our product pipelines with a focus on reusability, reliability and scale.
  • Work on projects to help integrate our self-managed products with our Cloud offerings.
  • Participate in measuring and quantifying improvements in our release processes
  • Mentor other release engineers, nurturing a culture of high-quality work and continuous learning.
  • Participate in our on-call rotation to resolve critical release issues for our internal customers in Engineering.
  • Share best practices for releasing software within and across teams
Within 1 month, you’ll…
  • Learn about our company, products, and team.
  • Have 1-1’s and pairing sessions with team members you'll be working most closely with, and spend time getting to know your peers across the engineering org.
  • Find opportunities for improvements within our existing CI/CD pipelines, and in our existing tools.
  • Dive into the things we’ve built, and learn more about our coding and releasing practices along the way.
  • Complete your first ticket by committing changes and helping perform code reviews.
Within 3 months, you’ll…
  • Gain an understanding of the shared struggles and common-pitfalls within engineering, and work to alleviate those with better automation, tooling, and documentation.
  • Begin working on your first project within a group, ship the MVP, celebrate your success, and iterate based on feedback.
  • Review and comment on project proposals from other team members.
  • Work with internal and external stakeholders to determine and prioritize new features and enhancements. You understand and can foresee how decisions may impact the quality, efficiency, and effectiveness of our team and closely related teams.
Within 6 months, you’ll…
  • Extensively contribute to tools and services which will enable self-service developer workflows and reduce toil.
  • Work with internal and external stakeholders to determine and prioritize new features and enhancements. You understand and can foresee how decisions may impact the quality, efficiency, and effectiveness of our team and closely related teams.
  • Write and share a project proposal with the team.
  • Lead a group project, and present in one of our quarterly demo sessions to key stakeholders.

What you’ll need (basic qualifications)

  • Experience scripting and building developer tools with proficiency in unit and integration testing
  • Solid hands on coding and development experience with at least one programming language
  • Experience designing, implementing, and maintaining CI/CD pipelines.
  • Experience operating and maintaining production systems in a Linux and public cloud environment.
  • Experience with container technologies, especially Docker.
  • Experience building software packages and software installers.
  • Experience using source control tools like Git.
  • You have a willingness and desire to learn.
  • You have a passion for working on developer tooling and release automation for OSS and enterprise software in business critical environments.
  • You are driven to make iterative improvements as we mature our systems and organization.
  • Strong knowledge of observability tools such as Datadog and Grafana, to collect, analyze and visualize metrics, providing insight into product usage and performance
  • Strong written and verbal communication skills.

What's nice to have (preferred qualifications)

  • Strong project management fundamentals and proficiency in navigating through project phases and activities effectively.
  • You have a passion for automation, testing, reliability, operational maturity, and documentation.
  • Experience with container orchestration (e.g., Nomad, Kubernetes), infrastructure-as-code tools (e.g., Terraform, Ansible), secrets management tools (e.g., Vault) and other HashiCorp products (e.g., Packer, Consul)
  • Experience with AWS services such as EC2, S3, Lambda, CloudFront and ECR in a professional setting.
  • Experienced in working across a distributed team, able to consistently deliver quality results when given a high level of independence and autonomy. 

#LI-Onsite 

Individual pay within the range will be determined based on job related-factors such as skills, experience, and education or training.

The base pay range for this role in the SF Bay Area / NYC area is:$176,000—$207,000 USDThe base pay range for this role in Seattle Metro, Denver / Boulder Metro, New York (excluding NYC), Washington D.C., or California (excluding SF Bay Area) is:$161,300—$189,800 USDThe base pay range for this role in Colorado (excluding Denver / Boulder Metro) and Washington (excluding Seattle Metro) is:$146,600—$172,500 USD