December 13, 2019

Day 11: Design system Developer Experience #25DaysofDS

Developer experience is an important aspect while building the Design System. When I say 'developer', it means developers behind the design system. Why their experience is important? My question would be why not? They are the one who is building the Design system as well as while maintaining and scaling your design system dev experience matters a lot.

Check the old blogs here

What is the developer's experience?

Developer experience varies as per the person to person. If you will Google, most of the articles you will found where they talk about how you should improve dev experience by giving proper tech documentation, API guidelines, etc.
Here I am referring to the other side of the fence. The developers who are building the Design system. How as tech lead you can improve their experience?

  1. JIRA: Use JIRA for the stories, tasks, and defects assignment. 1 place for all the requirements and project status.
  2. Code Control Tool: Invest in good code control Tool such as GitHub. A center repo for code management and tracking the history of the code.
  3. Code Guidelines: Document all the code guidelines which your team should follow. Put them in the repo's README.MD file. This is important not just for the current developers but for the future devs who will be joining your team as well as it will also improve the PRs quality.
  4. PR Process: Define the PR process, how to raise, make a template for the PR raising, how many approvals are required, etc. If the comments are more than 10, open a new PR.
  5. Linters: Make linters your best friend. Make the Linters part of your pipeline while raising the PR and Merging the code.
  6. Automation: Look for the opportunities where you can do the automation. Such as doing the tasks like copying build from one folder to other, merging folders, build tasks, linters, etc. Any task which is repetitive and non-dev you should move that for automation
  7. Unit testing: Make the test cases your friend and make them the part of the build process too

These are the few I can think of right now. I will keep adding more.

No comments: