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

Conversation

DanailH
Copy link
Member

@DanailH DanailH commented Sep 14, 2023

@DanailH DanailH added the website Pages that are not documentation-related, marketing-focused. label Sep 14, 2023
@DanailH DanailH self-assigned this Sep 14, 2023
## 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.

@mui-bot
Copy link

mui-bot commented Sep 14, 2023

Netlify deploy preview

https://deploy-preview-38976--material-ui.netlify.app/

Bundle size report

No bundle size changes (Toolpad)
No bundle size changes

Generated by 🚫 dangerJS against 844943f

docs/pages/careers.tsx Show resolved Hide resolved
docs/pages/careers.tsx Outdated Show resolved Hide resolved
@@ -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?

## 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

@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.

docs/src/pages/careers/react-engineer-x-charts.md Outdated Show resolved Hide resolved
@oliviertassinari
Copy link
Member

oliviertassinari commented Sep 17, 2023

@DanailH Nice, thanks for opening this PR 👍

I have created an opening https://www.notion.so/mui-org/React-Engineer-xCharts-327a52135553432fb680c4788b18067d and added a few ideas on the page on how we could try to find candidates (looking at existing open-source projects, trying to find people who where invested in this in the past).

Copy link
Member

@joserodolfofreitas joserodolfofreitas left a comment

Choose a reason for hiding this comment

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

Excited to see the candidates this post will gather!
But I'm struggling to understand how the xCharts candidates should differ from the usual engineering role. I think we need to define some of the requirements of what we're looking for (which may be listed as optional). For instance, should the candidate have Graphics/WebGL/Canvas experience?
Maybe @alexfauquette has some ideas on interesting criteria we could adopt.

@DanailH
Copy link
Member Author

DanailH commented Sep 19, 2023

Excited to see the candidates this post will gather! But I'm struggling to understand how the xCharts candidates should differ from the usual engineering role. I think we need to define some of the requirements of what we're looking for (which may be listed as optional). For instance, should the candidate have Graphics/WebGL/Canvas experience? Maybe @alexfauquette has some ideas on interesting criteria we could adopt.

@joserodolfofreitas Olivier did a similar thing when the grid was started. The person who initially worked on the grid has previous experience with developing that component. We can look for people who have past experience with working with charts or even better - working on open-source (and paid as well) chart projects. If we find a good candidate like that they can help us move even faster.

@alexfauquette
Copy link
Member

Working on charts is not exactly as other components for two reasons

  • First the technology itself. We manipulate SVG or canvas instead of HTML. For example, see how hard it is to set text at the right place. So it's nice to get dev that know at least a bit of those technologies and are interested in them.
  • Second is the math aspect: In web dev, the math level you use on a daily basis is close to what children do (+, *, and %). In charts, you need to work with coordinate, so you better enjoy playing with interpolation, unit conversion, and trigonometry

So I think engineers applying for charts could be redirected to other components if they want, but you could get people interested in usual components that would not like working on charts.

Copy link
Member

@mnajdova mnajdova left a comment

Choose a reason for hiding this comment

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

It may be a bit hard for people to differentiate between the X and xChart open roles. Maybe we should mention the project with are targeting with with the X role, so it's more about choosing the project inside the team that you would like to work on.

@DanailH
Copy link
Member Author

DanailH commented Sep 20, 2023

Working on charts is not exactly as other components for two reasons

  • First the technology itself. We manipulate SVG or canvas instead of HTML. For example, see how hard it is to set text at the right place. So it's nice to get devs that know at least a bit of those technologies and are interested in them.
  • Second is the math aspect: In web dev, the math level you use on a daily basis is close to what children do (+, *, and %). In charts, you need to work with coordinate, so you better enjoy playing with interpolation, unit conversion, and trigonometry

So I think engineers applying for charts could be redirected to other components if they want, but you could get people interested in usual components that would not like working on charts.

Good point @alexfauquette . To solve that we are also going to open the regular React Engineer - X role. Regarding the difference of interest and skill - if you can put a line or 2 together so we can add it to the description that would be great, that is if you already have something in mind. If not I will do it.

It may be a bit hard for people to differentiate between the X and xChart open roles. Maybe we should mention the project with are targeting with with the X role, so it's more about choosing the project inside the team that you would like to work on.

@mnajdova I know what you mean. We had a similar issue with the tech lead role we were looking to fill for the data grid. In the end, I think what most people look is the title and the requirements. I think people really read the full description before applying.

@oliviertassinari
Copy link
Member

oliviertassinari commented Sep 20, 2023

Rebased on HEAD to avoid the annoying Argos diff at each commit.

I can't identify anything else to improve on this PR. It looks nice.

DanailH and others added 3 commits September 21, 2023 15:32
Co-authored-by: Alexandre Fauquette <[email protected]>
Signed-off-by: Danail Hadjiatanasov <[email protected]>
Co-authored-by: Alexandre Fauquette <[email protected]>
Signed-off-by: Danail Hadjiatanasov <[email protected]>
Co-authored-by: Olivier Tassinari <[email protected]>
Signed-off-by: Danail Hadjiatanasov <[email protected]>
@oliviertassinari oliviertassinari changed the title [website] Open a React Engineer - xCharts role [website] React Engineer - xCharts role Sep 24, 2023
@DanailH
Copy link
Member Author

DanailH commented Sep 25, 2023

@oliviertassinari @mnajdova If possible I would like to include this in this week's release. One thing that popped up since last Friday is that we are now entertaining the idea of opening up a Design Engineer role for the xGrid. Do we keep the React Engineer - X role or have the Design Engineer - xGrid role? I would be in favor of the second one. @oliviertassinari what do you think?

@oliviertassinari
Copy link
Member

oliviertassinari commented Sep 25, 2023

Do we keep the React Engineer - X role or have the Design Engineer - xGrid role? I would be in favor of the second one. @oliviertassinari what do you think?

@DanailH It needs to be a different role in Ashby because the hiring steps are different.
I think it should be a different role on our career page because what we are looking for is not the same.

@DanailH
Copy link
Member Author

DanailH commented Sep 25, 2023

Do we keep the React Engineer - X role or have the Design Engineer - xGrid role? I would be in favor of the second one. @oliviertassinari what do you think?

@DanailH It needs to be a different role in Ashby because the hiring steps are different. I think it should be a different role on our career page because what we are looking for is not the same.

Yes, I agree, I was thinking the same. My question was more related to do we have the green light to look for that person. If yes then I will set it up both here and Ashby.

@oliviertassinari
Copy link
Member

My question was more related to do we have the green light to look for that person. If yes then I will set it up both here and Ashby.

@DanailH I think better to handle this in a different PR. I think first to fill in https://www.notion.so/mui-org/Design-Engineer-X-b4c69cc6dd5e4b19b94943fc91af5ddf. Per https://www.notion.so/mui-org/X-General-Meeting-2023-09-22-ff17cb82865f48f89ac239e30b64c866?pvs=4#c95b50aa6fca4d7d971d8f35697b21c4 I think we can take it iteratively.

DanailH and others added 2 commits September 26, 2023 11:11
Co-authored-by: Lukas <[email protected]>
Signed-off-by: Danail Hadjiatanasov <[email protected]>
Co-authored-by: Lukas <[email protected]>
Signed-off-by: Danail Hadjiatanasov <[email protected]>
@DanailH DanailH merged commit 4e1936d into mui:master Sep 26, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
website Pages that are not documentation-related, marketing-focused.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants