Skip to content

Commit 4abc1b4

Browse files
github-actions[bot]danilo-lealoliviertassinari
authored
[website] Open the Docs-infra engineer role (@danilo-leal) (#42496)
Co-authored-by: Danilo Leal <[email protected]> Co-authored-by: Olivier Tassinari <[email protected]>
1 parent 9ba2d34 commit 4abc1b4

File tree

6 files changed

+126
-3
lines changed

6 files changed

+126
-3
lines changed

docs/data/base/pages.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ const pages: readonly MuiPage[] = [
110110
children: [
111111
{
112112
pathname: '/base-ui/guides/working-with-tailwind-css',
113-
title: 'Working with Tailwind CSS',
113+
title: 'Working with Tailwind CSS',
114114
},
115115
{
116116
pathname: '/base-ui/guides/overriding-component-structure',

docs/pages/careers.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ const openRolesData = [
152152
'You will strengthen the MUI X product, build ambitious and complex new features, work on strategic problems, and help grow adoption.',
153153
url: '/careers/react-engineer-x/',
154154
},
155+
{
156+
title: 'React Engineer — Docs-infra',
157+
description:
158+
'You will drive the development and maintenance of the documentation platform that powers all MUI products.',
159+
url: '/careers/react-engineer-docs-infra/',
160+
},
155161
],
156162
},
157163
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import * as React from 'react';
2+
import TopLayoutCareers from 'docs/src/modules/components/TopLayoutCareers';
3+
import * as pageProps from 'docs/pages/careers/react-engineer-docs-infra.md?muiMarkdown';
4+
5+
export default function Page() {
6+
return <TopLayoutCareers {...pageProps} />;
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# React Engineer — Docs-infra
2+
3+
<p class="description">You will drive the development and maintenance of the documentation platform that powers all MUI products.</p>
4+
5+
## Details of the role
6+
7+
- **Location**: Remote (preference for UTC-5 to UTC+2).
8+
- **Type of work**: Full-time (contractor or employee [depending on circumstances](https://mui-org.notion.site/Hiring-FAQ-64763b756ae44c37b47b081f98915501#494af1f358794028beb4b7697b5d3102)).
9+
- **Level**: [confirmed IC3 or above](https://mui-org.notion.site/Leveling-at-MUI-5c30f9bfe65149d697f346447cef9db1).
10+
- We're a **remote** company, we prefer asynchronous communication over meetings.
11+
12+
## The company
13+
14+
MUI's story began in 2014 with Material UI, the most successful React implementation of Google's Material Design.
15+
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.
16+
We're a company of 35+ people as of early 2024, and we're growing.
17+
18+
## The products
19+
20+
MUI is best known for our flagship product, Material UI—but this is just one of three core component libraries we maintain.
21+
Base UI is our headless component library, and Joy UI is a sister library to Material UI that implements our own in-house Joy Design system.
22+
We also host Design Kits and pre-built Templates.
23+
24+
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.
25+
26+
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.
27+
28+
Learn more about MUI's products in this blog post: [An introduction to the MUI ecosystem](https://mui.com/blog/mui-product-comparison/).
29+
30+
## The culture
31+
32+
MUI is a fully remote company with a team that spans the globe.
33+
The majority of our work is asynchronous, and we rely on written communication to collaborate.
34+
We're radically transparent: nearly all of our work happens in public.
35+
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.
36+
37+
Learn more about what we value as an organization: [Evolving MUI's core values and behaviors](https://mui.com/blog/2023-mui-values/).
38+
39+
## Why we're hiring
40+
41+
Documentation is critical to the overall experience of our products, and as one of the leading open-source UI projects, users expect our docs to be the best in class.
42+
It's a differentiating factor for the product.
43+
44+
The docs are the primary means by which developers discover our products and learn how to wield them effectively.
45+
And just like the products themselves, the documentation should reflect our fundamental priorities of performance, speed, beauty, and clarity.
46+
47+
Our internal Docs-infra team currently shares responsibility for this domain, and they've developed features such as [autogenerated](https://x.com/olivtassinari/status/1783894370011213869) OG images, multi-tab component demos, [speed](https://github.com/mui/material-ui/pull/40314) performance improvements, and more.
48+
49+
There are so many other features we'd like to implement, and projects we could draw inspiration from (for example, [Nextra](https://nextra.site/))—but the existing team (each of whom spends most of their time on one of our product engineering teams) simply doesn't have the bandwidth to take on bigger and more ambitious projects.
50+
For example, we could offer visitors the ability to toggle the design language they want to view the docs in; add automatic conversion of demos to Tailwind CSS; use AI to provide component demo customization; and so much more.
51+
52+
That's why we're looking for a skilled JavaScript developer to own the docs infrastructure as their full-time responsibility.
53+
54+
## The role
55+
56+
As the first full-time React engineer to own this domain, you will work on developing new features and infrastructure-related tasks to make documentation generation and consumption smoother, faster, and more intuitive.
57+
58+
Because this role involves maintaining a platform that all of our products depend on, you will have frequent opportunities to foster cross-team collaboration to gather feedback and iterate on new features.
59+
Day-to-day tasks may range from internal configuration improvements (for example, working with Webpack, AST transformation tools, Netlify, and other developer tools) to user-facing feature implementation (for example, developing a playground feature teams can use to showcase components), so you should be comfortable working across the full stack of a Next.js-based app.
60+
You will also play a fundamental role in defining the Docs-infra roadmap and priorities.
61+
62+
### Key responsibilities
63+
64+
- Ensure the documentation feels fast and snappy for readers
65+
- Monitor Lighthouse scores, bundle size, and search quality to make incremental improvements
66+
- Develop new features that will enhance the way the libraries are showcased
67+
- Improve the documentation authoring experience for both the maintainers and the community
68+
- Own infrastructure tasks like managing dependencies, analytics, TypeScript modules, and hosting, so product teams can stay focused on their primary responsibilities
69+
70+
### Tasks and initiatives you might take on
71+
72+
- Migrate the docs platform to the Next.js App Router
73+
- Allow users to search the docs within a specific product scope
74+
- Make it possible to store different parts of our documentation in different repositories
75+
- Standardize the documentation design and layout across all of MUI's products
76+
- Introduce a more scalable solution for hosting videos and images
77+
78+
## Who we're looking for
79+
80+
### Required
81+
82+
- You're comfortable with the modern JavaScript ecosystem: we use React, TypeScript, Node.js, Next.js, Webpack, and Babel, among other tools
83+
- You get energized to dive into complex problems
84+
- You're excited about helping engineers and designers build amazing UIs
85+
- You're highly empathetic
86+
- You have good product/design sensibility
87+
- You have great written and spoken English skills
88+
89+
### Nice to have (but not required)
90+
91+
- Strong product/design skills
92+
- Experience in open-source
93+
- Experience with design systems
94+
- Experience with MUI products
95+
96+
## Benefits and compensation
97+
98+
We offer competitive compensation commensurate with your experience level and location and are prepared to pay top market rates for someone who can clearly exceed the role's expectations.
99+
You can find the other perks and benefits on the [careers](https://mui.com/careers/#perks-and-benefits) page.
100+
101+
## How to apply
102+
103+
[Apply now for this position 📮](https://jobs.ashbyhq.com/MUI/673f3178-56f4-47fd-bd2b-6dcba57758aa/application?utm_source=ZNRrPGBkqO)
104+
(will add the link once we publish the role also on Ashby)
105+
106+
Don't meet every requirement?
107+
Apply anyway!
108+
Research shows that certain folks are less likely to apply for a role than others [unless they meet 100%](https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless-theyre-100-qualified) of the outlined qualifications.
109+
If this role excites you, we want to hear from you.
110+
We'd love for you to share the unique skills, passion, and experience you could bring to MUI.

docs/translations/translations.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
"/base-ui/react-transitions/hooks-api/#use-transition-state-manager": "useTransitionStateManager",
134134
"/base-ui/react-transitions/hooks-api/#use-transition-trigger": "useTransitionTrigger",
135135
"/base-ui/guides": "How-to guides",
136-
"/base-ui/guides/working-with-tailwind-css": "Working with Tailwind CSS",
136+
"/base-ui/guides/working-with-tailwind-css": "Working with Tailwind CSS",
137137
"/base-ui/guides/overriding-component-structure": "Overriding component structure",
138138
"/base-ui/guides/next-js-app-router": "Next.js App Router",
139139
"/material-ui/getting-started-group": "Getting started",

packages/mui-docs/src/translations/translations.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
"decreaseSpacing": "decrease spacing",
9898
"demoToolbarLabel": "demo source",
9999
"demoStylingSelectSystem": "MUI System",
100-
"demoStylingSelectTailwind": "Tailwind CSS",
100+
"demoStylingSelectTailwind": "Tailwind CSS",
101101
"demoStylingSelectCSS": "Plain CSS",
102102
"diamondSponsors": "Diamond sponsors",
103103
"becomeADiamondSponsor": "Become a Diamond sponsor",

0 commit comments

Comments
 (0)