Code infra engineer
You will drive the development and maintenance of the infrastructure that powers all MUI products.
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: IC4 or above.
- We're a remote company, operating mostly asynchronously.
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 across the globe. The majority of our work is asynchronous, and we rely mostly 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
Over the time, MUI expanded the product lines by adding more products. We currently actively work across 5+ different repositories and need to maintain several documentation sites.
We want to build a team that will take care of the infrastructure that's needed to make the work across different repositories/docs experiences seamless. We want to set up common utilities and set up best practices that all teams across the company can use.
Overall, both our open-source community and our premium products are growing fast. We need talented people to keep up with the demands of our exigent community!
Why this is interesting
You would be able to shape the infrastructure of one of the most visited repositories and documentation sites. The impact of your work will not only improve the experience for the MUI team, but also for thousands of other open source contributors that contribute to our projects.
Our products empower React developers to build awesome applications faster – we see millions of developers on MUI's docs every year, one million a month.
The role
Key responsibilities
Depending on the day, you'll:
- Keep technical debt in check. You will make sure we can keep shipping features at a reasonable pace.
- Find consensus. In response to their needs, this role aligns the teams on "one way" of doing things and doing it well. You'll need to communicate clearly and openly. You'll be of service to the teams' DX needs.
- Be a solver. You will dig deep into 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.
- Own infrastructure tasks, like managing dependencies, analytics, TypeScript modules, and hosting, so product teams can stay focused on their primary responsibilities.
- Develop new features that will enhance the way the libraries are showcased.
Tasks and initiatives you might take on
- Responding to outages and failing CI.
- Stabilizing and optimizing test infrastructure.
- Optimizing and improving build tools, linting tools.
- Improve packaging and publishing flow.
- Enhance security of our documentation websites
- Improve documentation performance
- Migrate the docs platform to the Next.js App Router
- Allow users to search the docs within a specific product scope
- Design a distribution model for shared documentation infrastructure
- Introduce a more scalable solution for hosting videos and images
The best parts of this job
- You'll be at the cutting edge of application development — supporting one of the fastest-growing UI libraries on the market.
- You'll be part of an active, open, friendly community of developers that are excited about building awesome applications.
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 on solving each problem 100% in exchange for fast feedback. Solving 50-70% of the issue with quality should be enough for any given iteration. Our users quickly tell us when we haven't pushed a solution far enough.
- MUI has a large codebase. You may bang your head against the wall at times and then write tests to assist the future you 😌. The work you will be doing is somewhat unique. You probably have not had a similar role before.
- In open-source, you're faced with a non-stop 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 technical skills and experience in infrastructure-related work. 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. MUI's open-source projects are built on the shoulders of giants, making use of technologies such as latest ECMAScript, TypeScript, Node.js, React, Next.js, webpack, and Babel.
- A track record of demonstrating an eye for product and solving real-world user problems. If you have a knack for solving problems at the root cause, shipping intuitive APIs, we want you on our team.
- Experience building and shipping production code in a team setting with a passion for writing tested, performant, and high-quality code.
- Strong written and verbal communication skills. As part of the team, you'll interface both directly and indirectly with team members, and contribute to user documentation. Clear communication is fundamental in creating intuitive and compelling resources.
- Ability to dive into complex problems. You should be able to quickly assess, understand, and iterate upon aspects of our codebase.
- Ready and willing to ask and answer questions. If you're comfortable saying you're unsure, asking for help; but equally reaching out to assist others, you'll be an incredible addition to our team. We thrive because of continuous learning. First-time mistakes should be celebrated, not blamed.
- Avoid monolithic deliverables. You scope and stage your work into well-defined milestones to ship.
- Past work with infrastructure related work. Perhaps you've been responsible for setting up the CI for some of your company's projects, or you needed to write a Babel plugin for your custom needs. It would be great if you could address this in your cover letter!
Nice to have (but not required)
- You've maintained an active repository before. Maybe you've helped maintain a popular open-source repository, or you've worked on internal repositories that saw contributions from multiple teams. Previous experience with highly active repository workflows is a definite plus for this role.
- You have contributed code. A history of contributing to MUI's open-source projects is a plus.
Benefits and compensation
We offer competitive compensation based on your experience and location, and we are prepared to pay top market rates for someone who can clearly exceed the expectations of the role. You can find other perks and 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.