Writing well-documented and clear code in the JavaScript language. Reviewing other people's code.
Learning/improvement resources: 
Demonstrated by: 

A Skilled JavaScript coder should be able to do the following:

An Expert JavaScript coder should additionally be able to do the following:

Roles and Tasks that may use this skill

Accessibility group member (Contributor role)
Improve the accessibility of Drupal core and contributed modules, themes, and distributions
Duration: ongoing
Backport a patch (Contributor task)
After a patch has been committed to the latest development version of a project, adapt it for an earlier version
Duration: 1 hour
Contributed theme, patch or distribution maintainer (Contributor role)
Help manage the software development, design, and issues for a contributed module, theme, or distribution
Duration: ongoing
Create a merge request for an issue (Contributor task)
Add or update a "merge request" (software fix) on an issue
Duration: 1 hour
Create a patch for an issue (Contributor task)
Add a "patch" (software fix) to an existing issue
Duration: 1 hour
Discover Drupal mentor (Contributor role)
Share your experience and expertise with an underrepresented student in the Discover Drupal program
Duration: ongoing
Drupal core committer (Contributor role)
Perform final review and commit on community-suggested improvements to Drupal core
Duration: ongoing
Drupal core initiative coordinator (Contributor role)
Lead development for a Drupal core initiative
Duration: ongoing
Drupal core subsystem maintainer (Contributor role)
Oversee the development of a module, theme, or other subset of Drupal core
Duration: ongoing
Drupal core topic maintainer (Contributor role)
Review issues in a given topic in Drupal core
Duration: ongoing
DrupalCamp speaker (Contributor role)
Make a presentation at a DrupalCamp or DrupalCon event
Duration: 1 hour
Handle or refer a support request in an issue (Contributor task)
Answer a support question, or refer the person to a more appropriate resource for support
Duration: 20 minutes
Identify duplicate issues (Contributor task)
Remove duplicate issues in an issue queue so that all discussion about an issue is on a single page.
Duration: 20 minutes
Mentor (Contributor role)
Inspire, enable, and encourage new core contributors. Work on the core tools and process for mentoring
Duration: several hours
Project contributor (Contributor role)
Contribute your time to Drupal core or a contributed module, theme, or distribution project
Duration: ongoing
Reroll a patch (Contributor task)
Find an issue that has a patch that needs to be updated to apply to the current software base, and update it
Duration: 20 minutes
Resolve a Documentation issue report (Contributor task)
Fix a documentation problem that was identified in a Documentation issue report
Duration: 20 minutes
Review a patch or merge request (Contributor task)
Review a software fix proposed by a different developer
Duration: 20 minutes
Review an application for project security coverage (Contributor task)
Review a project's code to see if it should be eligible for coverage by the Drupal security team
Duration: 20 minutes
Triage Novice issues and tasks (Contributor task)
Choose issues and tasks for a novice contribution event
Duration: several hours
Usability group member (Contributor role)
Improve the usability of Drupal core and contributed modules, themes, and distributions
Duration: ongoing
Write a change record for a Drupal core issue (Contributor task)
Create a page that documents a change made to Drupal core on an issue.
Duration: 20 minutes
Write an automated test for an issue (Contributor task)
Write PHP automated test code for an issue.
Duration: 1 hour