Developer Experience in Open Source Lorna Mitchell, Redocly
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 2
Developer Experience Developer experience is about people getting things done in a confident and efficient way.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 3
Open Source Lifecycle From user to contributor. From contributor to maintainer.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 4
The art of README
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Documentation Documentation is a multiplier. •Use Docs-as-Code •Publishing is optional •Getting started •Platform-specific info •Advanced usage @redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 7
Metadata Topic tags help project discovery. Introduce your project briefly. Key project measurements.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 8
Issues •A well-maintained issue list is a warm welcome. •Respond, and close as appropriate. •List all known issues, and any workarounds. •Use the help-wanted and good-first-issue tags.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 9
Code of Conduct A code of conduct sets out expectations for all participants. GitHub prompts with a selection of CoC templates.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 10
Contributing file Everything a new user needs to contribute. •Branching strategy •Commit naming requirements •How to run tests •Coding standards, linting •How to set up local tools •Docs process
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 11
Pull request reviews Transferrable skill from other code projects. •Be clear and constructive •Be prepared to add one more commit •Be consistent •Be responsive Does this feature improve things for the project audience/purpose? @redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 12
Tools and automation Let the machines do the work
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 13
What to automate A non-exhaustive list of suggestions: •tests •linting (all file formats) •formatting/coding standards •build or compile •spell and link checking Include anything you can include. @redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 14
Local tools Provide developer information in CONTRIBUTING.md. Local tools shorten feedback cycle and improve developer experience.
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 15
Outreach Your project is more than the code. Build and enable the ecosystem: •write about the project •feature cool projects using your project •check stackoverflow questions •speak at a meetup
@redocly ~ @lornajane ~ @lornajane@indieweb.social
Slide 16
Developer Experience in Open Source
@redocly ~ @lornajane ~ @lornajane@indieweb.social