As frontend engineer, I've used a DS in my current and previous companies.
I would say it's even better to have a DS if you don't have your PMF, as you want to save time instead of discussing about design implementation details and fix inconsistencies.
The sooner is the better IMHO. I've experienced the pain to build a DS on top of an existing app and it was a real nightmare.
The effort to add the usage of the DS in our routine and the time spent to implement components and switch existing code to use them was not bringing any value to the business.
Also, it was very hard to advocate for its necessity while teams were not focus on feature build.
I know we all love to say values does not only comes from what you ship but also from the code quality. However many companies in facts only look at KPIs, and building a DS on an existing product only have mid-long term impacts. Nothing you can notice soon.
You can base you DS on existing libs like materialUI or such. No need to build everything from 0. Iterating over already existing components and adjusting details is not that much an effort.
I don't see myself building a product anymore without one. It's such a time saver.
That said, I don’t think I would join a company that does not have a DS implemented.
I would say it's even better to have a DS if you don't have your PMF, as you want to save time instead of discussing about design implementation details and fix inconsistencies.
The sooner is the better IMHO. I've experienced the pain to build a DS on top of an existing app and it was a real nightmare. The effort to add the usage of the DS in our routine and the time spent to implement components and switch existing code to use them was not bringing any value to the business.
Also, it was very hard to advocate for its necessity while teams were not focus on feature build. I know we all love to say values does not only comes from what you ship but also from the code quality. However many companies in facts only look at KPIs, and building a DS on an existing product only have mid-long term impacts. Nothing you can notice soon.
You can base you DS on existing libs like materialUI or such. No need to build everything from 0. Iterating over already existing components and adjusting details is not that much an effort.
I don't see myself building a product anymore without one. It's such a time saver.
That said, I don’t think I would join a company that does not have a DS implemented.