Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Developer Experience Working Group (draft)
Developer Experience Working Group is a team trying to make the Go programming language, libraries and tools more pleasant to use. The team primarily works on the Go project, even though its responsibilities and activities may involve contributing to the ecosystem-wide impactful projects. The group is aimed to cover a highly specialized field of expertise that is not always well-covered by the core team.
- Making Go a preferred language in industry and education.
- Helping the language graduate to a mainstream language by enabling the early majority developers.
- Helping Go to succeed in organizations with opinionated infrastructure and tooling.
Ongoing projects, feel free to reach out to the project lead if you want to collaborate:
- Improvements to the Go installation experience (Chris Broadfoot firstname.lastname@example.org)
- Guides on tooling and developer environments (editors and IDEs) (Jaana B. Dogan email@example.com)
- Running user studies to systematically analyze and measure friction points (Chris Broadfoot firstname.lastname@example.org, Katrina Owen email@example.com, Steve Francia firstname.lastname@example.org)
- Improvements to the Go Tour and Go Playground (Chris Broadfoot email@example.com, Steve Francia firstname.lastname@example.org)
- Better guidelines to help new users and visual aids for golang.org (Jaana B. Dogan email@example.com)
- Mailing list: golang-devexp
- Gophers Slack channel if you need synchronous help: #devexp (invitation)
Responsibilities and Activities
- Identify the barriers for newcomers and remove them to make Go succeed as a mainstream programming language. Revamp the existing docs and tools.
- Systematically collect feedback from the Go users to improve friction points in standard library, tools, docs, language and the ecosystem. The group may also run UX studies.
- Help identifying the critical missing libraries/tools from the ecosystem.
- At each release cycle, review new standard library APIs to give feedback about usability, self-explanation and documentation.
- Participate in user-facing Go proposals to give usability feedback.
- Encourage readable and idiomatic APIs. Be the voice of best practices in API design.
- Contribute with technical writing on the Go blog to fill the gaps in communication.
The group has a variety of roles with specific responsibilities. Although it is not a hard requirement, all contributors are expected to have background and technical expertise in one or more of these fields: API design, developer tooling, readability, programming language design and education, and technical writing.
We are expecting this role to require 15 hours of commitment each week.
- All responsibilities of the members
- Ensuring contributors are sufficiently productive and not blocked
- Reaching consensus if there is no obvious answer
- Organizing meetings and handling paperwork
We are expecting this role to require 10 hours of commitment each week.
- All responsibilities of the participants
- Doing the first CL and proposal reviews
- Setting high-level goals and establishing long-term milestones
- Mentor community about best practices
Participants don't have to commit to any long-term plans, they work as much as they want on gradual improvements and contribute to the discussion.
- Creating CLs and proposals
- Participating in discussions