
HashiCorp
about 12 hours ago

Sr. Software Engineer II - Release Engineering
About the team
This role is on the Self-Managed Release Engineering Team, a subteam 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.
In this role, you can expect to:
- Lead the design, implementation, and optimization of build and release systems that support all self-managed product engineers.
- Play a key role in enhancing our release engineering process. Collaborate with our Cloud Release Engineering team to develop uniform standards. Support developers by simplifying their work and ensuring our tools are compliant with legal and reliability requirements.
- Split time between execution and enablement work, where you must be comfortable operating under ambiguity
- 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.
- Work across teams to gather requirements for our release tooling and turn them into multi-quarter and multi-year plans for improving our systems
- 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.
- Be able to measure and quantify 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 address critical release issues for our internal customers in Engineering.
Within 1 month, you’ll…
- Learn about our company, products, and team.
- Have 1-1’s and pairing sessions with team members youll be working most closely with, and spend time getting to know your peers across the engineering org.
- Dive into the things we’ve built, and learn more about our coding and releasing practices along the way.
- 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.
Within 3 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 establish and prioritize new features and enhancements. You understand and can foresee how decisions may impact the quality, efficiency, and success 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.
- Take requirements gathered from stakeholders and produce a multi-year vision for the next iteration of release tooling.
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.
- Operating and maintaining production systems in a Linux and public cloud environment.
- Experience with container technologies, especially Docker.
- Building software packages and software installers.
- Proficient using source control tools like Git.
- You have a passion for working on developer tooling and release automation for OSS and enterprise software in business critical environments.
- Knowledge of observability tools such as Datadog and Grafana, to collect, analyze and visualize metrics, providing insight into product usage and performance
Whats nice to have (preferred qualifications)
- Proficient in project management and can successfully transition through different stages and tasks of a project.
- 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 self-reliance and autonomy.
- A track record of leading large scale developer productivity efforts, influencing architecture and best practice changes.
- You’ve thought about what it means to enable the success of an engineering team. Sometimes this means you’ll be shipping, but sometimes it’s important that you’re not the one to write the code.
- You’re comfortable getting involved in strategic conversations. You may have attempted to translate a high-level company objective into tangible outcomes for your team, and successfully delivered on those outcomes.
## LI-Remote
Individual pay within the range will be determined based on job related-factors such as skills, experience, and education or training.