Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Learning Pathway: Advanced Developer #2344

Open
36 tasks
jonathanbossenger opened this issue Mar 20, 2024 · 1 comment
Open
36 tasks

Learning Pathway: Advanced Developer #2344

jonathanbossenger opened this issue Mar 20, 2024 · 1 comment
Assignees

Comments

@jonathanbossenger
Copy link
Collaborator

jonathanbossenger commented Mar 20, 2024

Learning Pathway: Advanced Developer

Note: This learning pathway outline is still a work in progress!

This level tackles topics specific to web development but not specific to WordPress. These are skills that would apply to any software development project that makes use of the tech stack that powers WordPress (PHP/MySQL/HTML/CSS/JavaScript). There is also no specific order in which these topics should be covered, they are all equally important.

See the full Developer pathway outlined in this document.

To learn more about creating content for these lessons, please read the Guidelines for creating, reviewing, and publishing lessons.

Module 1: Xdebug for step debugging in PHP

Objective: Learn to install and use Xdebug for step debugging, in order to debug code in development, or find bugs in existing code.

Lessons

  • Installing Xdebug
  • Configuring Xdebug
  • Enabling step debugging
  • Watching variables
  • Stepping into and out of code
  • Global Variables vs User Defined

Module 2: Classes, Objects, and WordPress

Objective: Covers how WordPress uses classes and objects, as well as how to structure code using classes vs procedural functions.

Lessons

  • [ ]

Module 2: Object Oriented PHP development for WordPress

Objective: Discuss the difference between procedural and object-orientated development.

Lessons

  • Using classes != object-orientated programming

Module 6: Automated Testing

Objective: Learn how to implement automated testing for your code

Lessons

  • Unit Testing with PHPUnit
  • E2e testing

Module 3: Refactoring

Objective: Learn

Lessons

  • [ ]

Module 4: Advanced Caching

Objective:

Lessons

  • PHP OPCache
  • Database level caching
  • Static file caching
  • In Memory caching (eg Redis)

Module 6: The history of JavaScript in WordPress

Objective:

Lessons

  • jQuery
  • AJAX
  • Server Side PHP and Enqueuing
  • Heartbeat API
  • React and Gutenberg

Module 7: MySQL custom queries

Objective:

Lessons

  • [ ]

Module 8: Revision control systems

Objective:

Lessons

  • SVN
  • Git

Module 9: WP-CLI

Objective:

Lessons

Module 10: PHP Package management with Composer

Objective:

Lessons

  • [ ]

Module 11: Coding Standards

Objective:

Lessons

Module 12: Code Quality Tools

Objective:

Lessons

  • PHPCompatiblityWP
  • phpstan
  • psalm

Module 13: Continuous integration/Continuous delivery

Objective:

Lessons

Module 14: Contributing to WordPress

Objective:

Lessons

  • Understanding tags and labels
  • Reporting a bug
  • Contributing to a conversation
  • Creating a patch
    • SVN
    • Git
@jonathanbossenger
Copy link
Collaborator Author

Note to self, the modules in this learning pathway need to be reviewed and reordered to a more logical structure for learning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Content Creation
Development

No branches or pull requests

1 participant