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 Boston, MA 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
8+ years of experience as a software developer, software engineer, or similar roles.
Design thinking skills and ability to partner with product management and user experience designers and engineers to understand end user needs.
Passion, curiosity, and desire to create new things and examine how things work internally.
Solid experience with source code management tools such as Git .
Ability to proactively add new features, debug, identify, and track issues.
Strong experience developing in Python, particularly using libraries such as argparse and click for argument parsing and command structure. Experience with Go and C/C++ languages are not required, but are considered nice to have.
Experience developing unit and integration tests for your code.
Excellent system understanding and troubleshooting capabilities.
Ability to work on your own in a fast-paced, ever-changing environment.
Understanding of how Open Source and Free Software communities work.
Ability to quickly learn and use new tools and technologies and proactively work as a part of a wider team.
Nice to Haves
Familiarity with AI and Machine Learning platforms, tools, and frameworks, such as: Tensorflow, PyTorch, LLaMA.cpp, and Kubeflow.
Experience working with Kubernetes/OpenShift and containers, troubleshooting issues, and working with YAML.
Experience creating Ansible automation scripts.
Experience with hardware accelerators, such as GPU, CUDA, and ROCm.
Understanding of DevOps methodology.
Bachelor's degree or higher in computer science or other related discipline.
#LI-JC1
The salary range for this position is $163,420.00 - $269,640.00. Actual offer will be based on your qualifications.Pay Transparency
Red Hat determines compensation based on several factors including but not limited to job location, experience, applicable skills and training, external market value, and internal pay equity. Annual salary is one component of Red Hat’s compensation package. This position may also be eligible for bonus, commission, and/or equity. For positions with Remote-US locations, the actual salary range for the position may differ based on location but will be commensurate with job duties and relevant work experience.
About Red Hat
Red Hat is the world’s leading provider of enterprise open source software solutions, using a community-powered approach to deliver high-performing Linux, cloud, container, and Kubernetes technologies. Spread across 40+ countries, our associates work flexibly across work environments, from in-office, to office-flex, to fully remote, depending on the requirements of their role. Red Hatters are encouraged to bring their best ideas, no matter their title or tenure. We're a leader in open source because of our open and inclusive environment. We hire creative, passionate people ready to contribute their ideas, help solve complex problems, and make an impact.
Benefits
● Comprehensive medical, dental, and vision coverage
● Flexible Spending Account - healthcare and dependent care
● Health Savings Account - high deductible medical plan
● Retirement 401(k) with employer match
● Paid time off and holidays
● Paid parental leave plans for all new parents
● Leave benefits including disability, paid family medical leave, and paid military leave
● Additional benefits including employee stock purchase plan, family planning reimbursement, tuition reimbursement, transportation expense account, employee assistance program, and more!
Note: These benefits are only applicable to full time, permanent associates at Red Hat located in the United States.
Diversity, Equity & Inclusion at Red Hat
Red Hat’s culture is built on the open source principles of transparency, collaboration, and inclusion, where the best ideas can come from anywhere and anyone. When this is realized, it empowers people from diverse backgrounds, perspectives, and experiences to come together to share ideas, challenge the status quo, and drive innovation. Our aspiration is that everyone experiences this culture with equal opportunity and access, and that all voices are not only heard but also celebrated. We hope you will join our celebration, and we welcome and encourage applicants from all the beautiful dimensions of diversity that compose our global village.
Equal Opportunity Policy (EEO)
Red Hat is proud to be an equal opportunity workplace and an affirmative action employer. We review applications for employment without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, ancestry, citizenship, age, veteran status, genetic information, physical or mental disability, medical condition, marital status, or any other basis prohibited by law.
Red Hat does not seek or accept unsolicited resumes or CVs from recruitment agencies. We are not responsible for, and will not pay, any fees, commissions, or any other payment related to unsolicited resumes or CVs except as required in a written contract between Red Hat and the recruitment agency or party requesting payment of a fee.Red Hat supports individuals with disabilities and provides reasonable accommodations to job applicants. If you need assistance completing our online job application, email application-assistance@redhat.com. General inquiries, such as those regarding the status of a job application, will not receive a reply.