Staff Engineer — Pigment CSS
Research, build, document, and help ship a next-gen zero-runtime CSS-in-JS library with a focus on performance and great developer experience.
Details of the role
- Location: Remote (preference for UTC-6 to UTC+5).
- Type of work: Full-time (contractor or employee depending on circumstances).
- Level: IC5 or above.
- We're a remote company, we prefer asynchronous communication over meetings.
The company
MUI's story began in 2014 with Material UI, the most successful React implementation of Google's Material Design. Today, Material UI stands as one of the most popular open-source libraries on GitHub and has paved the way for the fully-fledged startup known as MUI (founded in 2019), which now boasts an ever-expanding ecosystem of React UI products. We're a company of 35+ people as of early 2024, and we're growing.
The products
MUI is best known for our flagship product, Material UI—but this is just one of three core component libraries we maintain. Base UI is our headless component library, and Pigment CSS is a zero-runtime CSS-in-JS styling engine. We also host Design Kits and pre-built Templates.
Beyond the core libraries, MUI X offers advanced components like the Data Grid, Date and Time Pickers, and Charts, for more complex user interactions and data visualization needs.
We're also making ambitious moves to incorporate our full suite of components into Toolpad, a low-code admin builder tool for assembling full-stack apps faster than ever.
Learn more about MUI's products in this blog post: An introduction to the MUI ecosystem.
The culture
MUI is a fully remote company with a team that spans the globe. The majority of our work is asynchronous, and we rely on written communication to collaborate. We're radically transparent: nearly all of our work happens in public. Each contributor has the freedom to decide how and when they work, and that work is primarily self-directed: it's your responsibility to define and complete your own tasks in a timely manner.
For additional details about the culture, you can check our careers and about pages and also our public Handbook.
Why we're hiring
We believe CSS-in-JS is the best styling API with the best developer experience for writing CSS. We've used it in Material UI since v1 (back then, with JSS, and currently with Emotion in v5). However, there are key challenges we need to overcome to keep using this stack: improving performance and compatibility with React 19 features, including React Server Components. That's why, about a year ago, we started to work on Pigment CSS! We recently released an early alpha version, introduced at React Conf 2024, for which we're seeing early positive adoption and some community validation.
This is just the beginning, though. There's so much to do to make Pigment CSS a reliable and mature option for the future of Material UI and for many developers looking for a next-generation CSS-in-JS styling engine. We're well-positioned to make this happen, so we're looking for a talented engineer to join the team and help us get further beyond!
Why this is interesting
If the team is successful, we believe that over 1/3 of the JavaScript community would use Pigment CSS to style their application, making the mission both extreamly challenging and impactful.
The role
Key responsibilities
Depending on the day, you'll:
- Build. You will help Pigment CSS mature by integrating it with various bundlers and frameworks, building new features, and improving DX.
- Nurture community contributions. You will provide guidance and direction to unlock the contributions of the community.
- Influence the product strategy. You will be empowered to help design and shape a roadmap that solves real developer problems.
- Keep technical debt in check. You will ensure we can keep shipping features at a reasonable pace while aligning the team on "the right way" of doing things.
- Be a solver. You will dig deep into arbitrarily complex problems and find an appropriate path forward. Some focus on a given area for long periods, others bounce from hotspot to hotspot as guided by organizational leadership.
The best parts of this job
- You'll be at the cutting edge of application development working on one of the fastest-growing CSS-in-JS libraries on the market.
- You'll be part of an active, open, friendly community of developers who are excited about building awesome applications.
- Your role will be key to making MUI's libraries the go-to UI solutions for building applications, websites, and design systems that do not have to trade performance for a great developer experience.
The worst parts of this job
- Shifting context. You will necessarily have to shift context and dive into a different feature before the current one is done. It may even be in an area of the codebase you're unfamiliar with or don't have a ton of understanding about. It's fun, rewarding work, but it can be very challenging.
- We move quickly but don't sacrifice quality. We ship early, often, and quickly. You may not be initially comfortable with the cadence with which we ship high-quality features and improvements to end-users. By doing so, we sacrifice solving each problem 100% in exchange for fast feedback. Solving 50-70% of the issue is often enough. Our users quickly tell us when we haven't pushed it far enough.
- MUI has large codebases. You may bang your head against the wall at times and then write tests to assist future you. The work you will be doing is somewhat unique and idiosyncratic. You probably have not had a similar role before.
- In open-source, you're faced with a nonstop stream of bug reports and support requests. That means you need to develop an intuition for when to ignore something and when to dig in further.
Who we're looking for
We're looking for someone with strong core JavaScript skills. More important than specific technical skills, though, is that you're a strong problem solver who loves to learn. Details matter to you.
Required
- Expertise in the modern JavaScript ecosystem. You'll use technologies such as TypeScript, Node.js, Babel, Rust, or SWC. We'd appreciate it if you've already written a Babel plugin or something similar.
- A track record of solving real-world user problems. If you have a knack for solving problems at the root cause and shipping beautiful user interfaces with intuitive APIs, we want you on our team.
- Strong written and verbal communication skills. As part of the team, you'll interface directly and indirectly with community members and enterprise customers, as well as contribute to internal and external documentation.
- Ability to dive into complex problems. You should be able to quickly assess, understand, and iterate upon aspects of our codebase.
- Willingness to ask and answer questions. You're comfortable saying you're unsure and asking for help. You'll also reach out out to assist others. We thrive through continuous learning—first-time mistakes are celebrated, not blamed.
- Leadership skills. You will guide and mentor contributors, steering the community in the right direction.
Nice to have (but not required)
- You've maintained an active repository before, regardless of whether it was open-source or private, that saw contributions from multiple teams.
- You've contributed to a CSS-in-JS library in the past.
Benefits and compensation
Competitive compensation depending on the profile and location. We are ready to pay top market rates for a person who can clearly exceed the role's expectations. You can find the other perks & benefits on the careers page.
How to apply
Don't meet every requirement? Apply anyway! Research shows that certain folks are less likely to apply for a role than others unless they meet 100% of the outlined qualifications. If this role excites you, we want to hear from you. We'd love for you to share the unique skills, passion, and experience you could bring to MUI.