Jobs and Careers
RE

Principal Release Engineer

Red Hat
United StatesRemotefull_timeVerifiedPosted 4 Sept 2024
💰 $269,640/yr($163,420/yr$269,640/yr)

About the role

Job Summary

Red Hat’s Global Engineering team is looking for an experienced software engineer to join our newly formed InstructLab team. In this role, you’ll contribute directly to Red Hat’s rapidly growing AI/ML (artificial intelligence and machine learning) family of products and will be responsible for managing the deployment of software releases and/or AI model artifacts to various staging and production environments, addressing issues with these deployments as they arise, and continuously improving the deployment process to enhance efficiency. Qualified software engineers in this role regularly participate in discussions and decisions around technical design and architecture, release planning, automated testing, and productization. This role is integral to ensuring that new features, bug fixes, and updates are delivered efficiently and reliably to end-users.

The ideal candidate will be a highly collaborative individual with a passion for working on complex projects in an open organization where contributions are valued and expected from all levels. This job role will require engaging in upstream open source communities. As this is a fast-moving area of opportunity for Red Hat, the ability to communicate productively and effectively with team members, stakeholders, and Red Hat leadership is critical.

This position reports a Manager of Software Engineering with the InstructLab team. This position must have the ability to partner collaboratively in our Boston, MA office at least 3 days per week.

Primary Job Responsibilities

  • Set up and maintain automated build systems; ensure that code can be compiled and built into deployable artifacts with minimal manual intervention.

  • Manage deployment of software releases to various environments (e.g., development, staging, production); this may involve creating scripts and using deployment tools to automate and streamline the deployment process.

  • Oversee versioning of software releases, ensuring that different versions of the software are correctly tagged and documented in version control systems.

  • Integrate various components of the software system, including third-party tools and libraries; ensure system components work together seamlessly.

  • Partner closely with quality engineers to ensure that automated tests are run as part of the build and deployment process. They may also be involved in setting up continuous integration/continuous deployment (CI/CD) pipelines.

  • Actively monitor the deployment and operation of software in production environments, troubleshoot issues that arise, and work on resolution strategies.

  • Document release procedures, configurations, and deployment processes to ensure that there is clear, reproducible guidance for future releases.

  • Collaborate with developers, quality engineers, and operations teams to ensure that software releases are aligned to expected timetables and meet production standards.

  • Contribute to the development of the open-source projects that comprise Red Hat’s AI family of products.

  • Regularly communicate with project stakeholders including other teams of Red Hat engineers, product managers, consultants, management, and senior leadership.

Required Skills

  • 5+ years of experience as a software developer, software engineer, or similar roles.

  • Extensive experience developing in Python. Experience with Go and C/C++ languages are not required, but are considered nice to have.

  • Experience creating automation for GitHub, using GitHub actions or related continuous integration tools.

  • Experience developing functional and non-functional testing.

  • Experience working with production level environments and containers, troubleshooting issues, and working with YAML.

  • Proficiency with build automation tools (e.g., Jenkins, GitLab CI/CD, Travis CI).

  • Strong documentation skills to create clear, comprehensive release notes, procedures, and configuration guidelines.

  • Ability to quickly learn and use new tools and technologies.

Nice to Haves

  • Experience writing Kubernetes controllers and operators.

  • Experience with deployment tools and orchestration systems (e.g., Docker, Kubernetes, Helm).

  • Familiarity with AI and Machine Learning platforms, too

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Red Hat

View company profile →