If you believe it is time for a standard approach to web development, this course may be for you. This is Dcycle’s approach web development. In this course you will build working Drupal and Jekyll sites from scratch using the four pillars of Dcycle’s best practices: DevOps; standardized deployment, continuous integration; and automated testing. Don’t worry if you haven’t touched on these concepts before: this course is aimed at developers of all levels of expertise and takes nothing for granted.
Set aside about 80 hours over eight to sixteen weeks to assimilate the material and do the exercices. (Currently the entire course is scheduled to be completed by May 2016, follow me on Twitter for updates). This course assumes you use Mac OS or Linux; if you use Windows, please make sure you can install Vagrant. Set aside a small budget—less than a hundred dollars—to launch servers in the cloud for testing and learning. The classes—all of them—are offered for free, covering the strict minimum you need to know, with real-world examples and exercices, organized in the following topics:
- Class 1: Basics: How to get help on this course; using the command line; setting up a local development environment, ssh keys, and security basics. We’ll use Docker for local development, testing, and deployment.
- Class 2: Continuous integration: tools like Jenkins and CircleCI let you know the minute your code breaks. [Coming soon]
- Class 3: Test-driven development: if it’s not tested, it doesn’t work. Learn PHPUnit to write failing tests first, then fix them. [Coming soon]
- Class 4: Version control: why and how to use git (including branches and rebasing) for everything. [Coming soon]
- Class 5: Drupal: We’ll build a real, nontrivial Drupal site and maintain it all along the course. [Coming soon]
- Class 6: Jeckyll: You love Drupal, but a complex CMS it not for everything. Learn how to build a beautiful site in an hour with Jekyll, and host it for free. [Coming soon]
- Class 7: Project management: how to stay on time and on budget by applying Agile. [Coming soon]
- Class 8: Code vs. environment: the difference between your deliverable and the way it’s used. [Coming soon]
- Class 9: Code review: introduce code review into your workflow using Phabricator, GitHub, and Gitflow. [Coming soon]
- Class 10: Manage externalities: externalities (third-party APIs, databases, server quirks) kill your productivity. Learn to kill them back. [Coming soon]
- Class 11: The community: Leverage the open-source community; give back with documentation and share your code on Drupal.org and GitHub. [Coming soon]
- Class 12: Legacy code: Learn how to recognize bad code, how not to write it, and how to bring it under control. [Coming soon]
In the future, a two-hour exam by teleconference is planned, and Dcycle certification will be offered to those who can demonstrate a solid understanding of the practical and theoretical aspects of the course.