RailsWork 🚆

Software Engineer, Design Systems - Ruby on Rails at GitHub

Job Title: Software Engineer, Design Systems - Ruby on Rails

Company: GitHub

Location: Seattle, WA

Remote friendly :)


GitHub is looking for an experienced Senior Engineer to join our Design Infrastructure team. This team is responsible for evolving our open-source design system—Primer, supporting and improving our UI design patterns, documentation, component APIs, and the cross-cutting customer experiences of GitHub products.

In this role, you’ll collaborate with product and platform engineers to improve our component libraries and the developer experience of working with our design system. You’ll work with other engineers and designers to make decisions about component APIs. Our team is composed of designers and engineers who have backgrounds in product design, design systems, design ops, and illustration; as well as CSS experts, and engineers with front-end and full-stack experience working in Rails and React.js.

If you enjoy the challenge of building design systems at scale that deliver a great customer experience, and create an empowering developer experience, you might find a happy home on the GitHub design systems team.

What we're looking for:

Senior Engineers at GitHub are strong individual contributors; they're given a lot of autonomy and trust to work on high impact projects. For this specific role on Design Systems, we're looking for someone who values the following: -Systems thinking: Our team has to apply decisions holistically, making sure to look at new patterns in context to the larger system of the product, as well as ensuring we support experiences for individual features. -Inclusive design: GitHub is a home for all developers and our design system should reflect that, this means including and learning from people with a range of perspectives. Designing for inclusivity first, can lead us to solving problems for the many, and open up our product for more people. -Creating together: Getting to the right result is our focus, this can come from platform engineers or product engineers, and ideally both. Facilitating collaboration between teams and individuals is key so that we continue to evolve the design system alongside the needs of the product. -Progress and impact: Our team often works on the meta and so it's easy to get caught up in the design details. We have to be mindful of this and ensure we keep making decisions and move forward. This means being solutions oriented and prioritizing progress over correctness when it's the right call. -Candidness: We encourage candidness and recognize its role in building trust between peers and leadership. It can take time and effort to get there but it's worth it. Making decisions for projects, design patterns, and processes, will yield better results when we can get to the “real talk”.


-Lead the Primer ViewComponents open source project, including issue triage, code review, and implementation. -Contribute to the ViewComponent framework. -Write, review and maintain code primarily in Ruby, CSS, and Javascript. -Lead the implementation of complex UI components and cross-cutting features of our design system. -Work closely with designers to define component APIs, provide feedback, make recommendations, and propose improvements. -Prototype, experiment, and create demos to find the right solutions. -Provide code review on contributions to the system. -Document the systems you help build, contribute to training materials and onboarding -Participate in business-hours on-call rotations with your team, triage and respond to issues, looking for opportunities to improve service health. -Partner with select teams developing new features to share expertise as projects move from conception to launch, with a view to growing the project team’s systems thinking practices.

You might be a fit if:

-You have 2 years or more experience contributing to design systems within an organization or as part of an open-source project. -You have 5 years or more engineering experience as an individual contributor. -You have experience with component API design. -You have experience with Git version control. -You can help scale the design system of a product like GitHub. -You have led the implementation of complex components, websites, and applications. -You are confident in writing Ruby, CSS, JavaScript, and working in applications built in Rails or React. -You like to go to the extra mile to implement small but important design details.

These qualifications will help you stand out:

-You have led the development of internal or open-source design systems. -You have developed or contributed to frameworks such as CSS-in-JS libraries, open-source component libraries, or utilities that improve the developer experience. -You have experience in CSS architecture, through CSS-only frameworks or as part of component library development. -You are passionate about building accessible and inclusive products. -You have experience working on developer tools.