Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[website] React Engineer - xCharts role #38976

Merged
merged 19 commits into from
Sep 26, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/pages/careers.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,12 @@ const openRolesData = [
'You will lead the technical, product, and operational development of the store.',
url: '/careers/product-engineer/',
},
{
title: 'React Engineer - xCharts',
description:
'You will strengthen the MUI X product, build ambitious and complex new features, work on strategic problems, and help grow adoption.',
DanailH marked this conversation as resolved.
Show resolved Hide resolved
url: '/careers/react-engineer-x-charts/',
},
],
},
];
Expand All @@ -173,12 +179,6 @@ const nextRolesData = [
'You will join the MUI Toolpad team, to explore the role of MUI in the low code space and help bring the early prototype to a usable product.',
url: '/careers/fullstack-engineer/',
},
{
DanailH marked this conversation as resolved.
Show resolved Hide resolved
title: 'React Engineer - X',
description:
'You will strengthen the MUI X product, build ambitious and complex new features, work on strategic problems, and help grow adoption.',
url: '/careers/react-engineer-x/',
},
{
title: 'React Tech Lead - Core',
description:
Expand Down
7 changes: 7 additions & 0 deletions docs/pages/careers/react-engineer-x-charts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import * as React from 'react';
import TopLayoutCareers from 'docs/src/modules/components/TopLayoutCareers';
import * as pageProps from 'docs/src/pages/careers/react-engineer-x-charts.md?@mui/markdown';

export default function Page() {
return <TopLayoutCareers {...pageProps} />;
}
125 changes: 125 additions & 0 deletions docs/src/pages/careers/react-engineer-x-charts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# React Engineer - xCharts

<p class="description">You will help form the Charts team, build ambitious and complex new features, work on strategic problems, and help grow adoption.</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alexandre is the PO on the charts today: https://www.notion.so/mui-org/Charts-ba435669d56f450ea5b8bd0bfb18d5de.

What's the plan for the product ownership of the charts going forward? I mean, how do we see it scale, e.g. to 3 people?


## Details of the Role

- **Location**: Remote (preference for UTC-6 to UTC+5).
- **Type of work**: Full-time (contractor or employee [depending on circumstances](https://mui-org.notion.site/Hiring-FAQ-64763b756ae44c37b47b081f98915501#494af1f358794028beb4b7697b5d3102)).
- **Level**: [4 or above](https://mui-org.notion.site/Engineering-levels-25b2fba9dd1f4b43a1b28f47f0170f23).
- We're a **remote** company, we prefer asynchronous communication over meetings.

## About the company

MUI started with Material UI, the most successful React implementation of Google's Material Design.
We have gained a large following, thanks to our focus on Material Design fidelity, our obsession with details, on offering a large number of components, our community engagement, and by carefully improving the DX.
Today, countless teams and organizations rely on our open-source libraries to build their design system.

A couple of years ago, we started to expand our suite of products.
We released [MUI X](https://mui.com/x/), a collection of advanced components; [MUI Design kits](https://mui.com/design-kits/), the MUI components available for Figma, Sketch, etc.; and also host [Templates](https://mui.com/templates/), a set of pre-built UI kits.
We've seen rapid growth with all of them (2-3x per year) and we have more to come.
We are building [a low-code platform](https://mui.com/toolpad/) for developers to significantly increase the speed and lower the barrier for creating simple CRUD/dashboard UIs with MUI's libraries.

We are a fully distributed team, spread across multiple time zones.
We work mainly asynchronously, relying mostly on written collaboration.
Every contributor has the freedom to define how they work — the rest of us won't know what you're doing day-to-day unless you tell us.
For additional details about the MUI team and culture, you can check our [careers](https://mui.com/careers/) and [about](https://mui.com/about/) pages and also our [public Handbook](https://mui-org.notion.site/Handbook-f086d47e10794d5e839aef9dc67f324b).

## Why we're hiring

The charts team (part of MUI X) needs your help.
The component is off to [a great start](https://npm-stat.com/charts.html?package=%40mui%2Fx-charts&from=2021-06-01&to=2023-09-13), however we have only started to scratch the surface for the potential of this component. There is x10 more to build.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to have a more detailed explanation of what the targets for the charts are?

Copy link
Member

@oliviertassinari oliviertassinari Sep 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could maybe add a paragraph about our vision and plan. The person might join us on a long journey, so drawing a picture of it could be great.

In terms of differentiation, I see 4 phases of growth:

  1. Tight integration with the rest of the MUI libraries. This tight integration is both about Material UI and about the data grid for plotting data. We can likely reach 30% of the downloads of alternative React libraries, like recharts, considering benchmark data. Developers value having a single touch point, but also one they trust, and one that integrates well in the rest of their app.
  2. The most popular open-source libraries' development feels like they aren't moving as fast as it would be possible. Check chart.js, recharts, and others. With an open-core model, we will be able to allocate more resources (having more maintainers, so they can themselves engage more community contributors) to solve bolder challenges, providing more in the open-source version.
  3. The paid actors in the space capture over >$10M/year, e.g. Highchart (~$7M/year), FusionChart, Kendo UI, etc. So enough to sustain this initiative, and more importantly, we see nobody in the space betting on an open-core model. Existing paid actors can't justify losing revenues in the short-mid term (4-year cycle), exiting open-source actors don't want to risk a big culture change or can't solve the governance problem.
  4. Distribution channel toward low-code and AI. Plotly, Metabase, Observable, Cube.dev. This is long-term, but having a foothold in developers' tools will allow us to distribute and enhance charts with their primitives.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've extended the description a bit.


We also need help to continue to make the components easier to use, make it more customizable, [improve performance](https://www.causal.app/blog/react-perf), make it more accessible, improve the health of the open-source by engaging and collaborating with the community, guide developers to answers, and just generally being a positive presence in the community.
DanailH marked this conversation as resolved.
Show resolved Hide resolved

## About the role

### Why this is interesting

The advanced components portfolio is still small, with a million interesting and challenging problems to solve.

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.

### What you'll do on a day-to-day basis

Depending on the day, you'll:

- **Help guide architectural decisions**.
The future of MUI is discussed and planned in our public RFCs and issues.
You'll be helping drive these conversations and guiding MUI toward the best possible solutions.
- **Contribute to deep, meaningful refactors and feature releases**.
MUI is a complex codebase. Components we've shipped recently, such as the data grid and date pickers have required months of dedicated, careful work.
- **Reduce friction**.
A large amount of the work on MUI is reducing friction and making it easier to use.
This might involve careful API design, identifying and fixing top bugs, creating easier-to-understand error messages, and writing documentation and blog posts about features you ship.
- **Collaborate with the community**.
Many small, as well as meaningful fixes and features, have been contributed by the community. Your role is to draw the best out of the community — to inspire those across the world to create and contribute through your reviews of their issues and pull requests.
- **Experiment and play**. Great, unexpected features and heisenbug fixes have come from a number of sources — relentlessly methodical processes of elimination, free-flowing team collaboration, inspiration by adjacent libraries and projects, and difficult-to-explain individual strokes of brilliance. Whatever your preferred style is for creating new things that others might not have thought of, you'll find a welcome home on the team.
- **Take ownership of features from idea/mockup to live deployment**.
You'll shape and guide the direction of crucial new features, including new components.
- **Ship. Early and often**. You'll iterate and ship frequently.
You'll have a real impact on the end-user experience and you'll love working on a team that builds stunning UIs and prioritizes delivering real user value as often as possible.
- **You'll be interacting with the users** on a regular basis, handling inbound support and feature requests (every developer helps with developer requests).

### The best parts of this job

- **You'll be at the cutting edge of application development** — working on 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.
- **Your role will be key to making MUI the go-to UI framework** for building applications, websites, and design systems with React.

### 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 is a large codebase**. 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.

## About you

We're looking for someone with strong front-end skills. More important than specific technical skills though is that you're a strong problem solver who loves to learn. Details matter to you.

### Skills you should have

- **Expertise in the modern JavaScript ecosystem**.
MUI is built on the shoulders of giants, making use of technologies such as ES2021, 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 beautiful user interfaces and 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 community members and enterprise customers, 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**.
DanailH marked this conversation as resolved.
Show resolved Hide resolved
You scope and stage your work into well-defined milestones to ship.
- **Past work with front-end infrastructure**.
Perhaps you've created your company's design system, written a Babel plugin, or written complex React components.
It would be great if you could address this in your cover letter!

### What it would be nice if you had, but isn't required

- **You've contributed to a design system before**.
You have worked on enterprise components in the past, maybe for internal use in your company.
You have built complex and advanced features while making sure the accessibility was fully functional.
- **You've maintained an active repository before**.
DanailH marked this conversation as resolved.
Show resolved Hide resolved
Maybe you've helped maintain a popular open-source repository, or perhaps 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 to MUI before**. A history of contributing to MUI would be a definite plus.

## Benefits & Compensation

Competitive compensation depending on the profile and location.
We are ready to pay top market rates for a person that can clearly exceed the role's expectations.
You can find the other perks & benefits on the [careers](https://mui.com/careers/#perks-amp-benefits) page.

## How to apply?

[Apply now for this position 📮](https://jobs.ashbyhq.com/MUI/77584e4c-9379-45f3-a294-6e50bf250383/application?utm_source=ZNRrPGBkqO)
DanailH marked this conversation as resolved.
Show resolved Hide resolved

Don't tick every bullet? Apply anyway! Research shows that certain folx 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.
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.
Loading