Writing well-documented and clear code in the PHP language. Reviewing other people's code.
Demonstrated by: 

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

  • Write clear, efficient, object-oriented code
  • Write clear comments
  • Follow Drupal coding standards
  • Determine where in a site's codebase to add custom PHP code
  • Have a basic understanding of front-end technologies, such as JavaScript, HTML, and CSS
  • Know PHP troubleshooting strategies

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

  • Write automated tests
  • Understand the limitations of PHP

Roles and Tasks that require this skill

Create a Drupal 11 compatibility merge request (Contributor task)
Create a merge request for a contributed module, theme, or distribution to make it Drupal 11 compatible
Duration: several hours
Drupal core committer (Contributor role)
Perform final review and commit on community-suggested improvements to Drupal core
Duration: ongoing
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
Security Team member (Contributor role)
Help to oversee software security for the Drupal project
Duration: ongoing
Write an automated test for an issue (Contributor task)
Write PHP automated test code for an issue.
Duration: 1 hour

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 module, theme, 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
Discover Drupal mentor (Contributor role)
Share your experience and expertise with an underrepresented student in the Discover Drupal program
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
Provide support via text forums (Contributor task)
Answer questions on Drupal Support forums or Drupal Answers (Stack Exchange).
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 merge request (Contributor task)
Review a software fix proposed by a different developer
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