Jobs and Careers
RE

Principal Software Engineer (Full Stack)

Red Hat
United StatesRemotefull_timeVerifiedPosted 30 Dec 2024
💰 $234,500/yr($142,140/yr$234,500/yr)

About the role

Software Engineer (Full Stack), InstructLab


Company Description

At Red Hat, we connect an innovative community of customers, partners, and contributors to deliver an open source stack of trusted, high-performing solutions. We offer cloud, Linux, middleware, virtualization, and AI technologies, together with award-winning global customer support, consulting, and implementation services. Red Hat is a rapidly growing company supporting more than 90% of Fortune 500 companies.

Job Summary

Red Hat’s InstructLab & Granite team is looking for an experienced full-stack software engineer with a passion for user experience to help us democratize AI with open source! 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 the design, development, and refinement of software tools that enable the customization and fine-tuning of machine learning models. The focus of this role is on the user experience and requires working from the user interface (primarily CLI) into the core engine/runtime and supporting libraries' logic. As part of these responsibilities, you will need to adhere to coding best practices and standards, including well-documented scalable and efficient code; practicing test-driven development by building and implementing automated tests, maintaining updated code documentation and comments, following security best practices; participating in code reviews and other peer review, and staying up-to-date with software engineering technologies, frameworks, and methodologies. Qualified software engineers in this role regularly participate in design reviews, automated testing, and productization for major product features and bug fixes. 

The ideal candidate will have deep experience with Linux fundamentals and have a proven background in building seamless user experiences via Linux/UNIX style command line interfaces. They will be a highly collaborative individual with a passion for working on complex open source projects in an open organization where contributions are valued and expected from all levels. This job role will require working openly in and engaging with 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 directly to the Manager of Software Engineering for InstructLab. This position must have the ability to partner collaboratively in our local office at least 3 days per week.

Primary Job Responsibilities

  • Ensuring an excellent user experience of InstructLab, working from the command line interface and command structure, into the core engine/runtime of InstructLab as well as supporting libraries for synthetic data generation, training, evaluation, and more.

  • Profiling and optimizing the application for performance, memory usage, and security vulnerabilities to prevent negative impact to the user experience.

  • Monitoring upcoming changes to supporting libraries to help ensure backwards compatibility and users have a smooth upgrade path for the tool.

  • Evaluating the effectiveness of end user experience with InstructLab via upstream community and customer interactions, and bringing those findings into design improvements of the interface.

  • Design and build new product features, carrying your feature through all phases of software development and delivery, including: researching and conceptualization, participation in team design review, writing the implementation, authoring a testing strategy and necessary automation, productizing and packaging the code, and supporting its deployment through to end-users.

  • Take part in the shared responsibility of delivering and maintaining your product.

  • Run technical initiatives that grow, improve, and scale our existing processes.

  • 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.

  • Monitor and participate in upstream AI/ML communities, evaluating new AI/ML-related technologies in the space and considering potential integrations and collaborations upstream.

Required Skills

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 →