Having trained thousands of people how to use Drupal since 2011, I've learned a lot about what makes students tick. Most of our classes have been in-person, since it's easier to teach effectively when I can instill enthusiasm by jumping up to the whiteboard, or rush over to help someone who's stuck. In wake of COVID-19 and the rapid transition to online learning, I'm reflecting how to make virtual training as engaging as it can be. I'd like to share four key factors for effective learning that go deeper than which video-conference or chat platform to use.



One of the most essential parts of teaching is motivating the learning. When I teach, I constantly bring up use cases and scenarios to explain why something is the way it is, or how what you're learning will solve a problem when you go back to your desk and are working on a real-world project

Students have less patience when they're interacting with you through a tiny screen. Without in-person presence, it's harder as a teacher to pull out the motivating examples that will bring the material alive. Likewise, students are conditioned to expect higher production values from a YouTube explainer video than a whiteboard explanation. To hold the user's attention in a virtual format, the motivating materials need to be more visual and condensed, and referenced repeatedly.




Nobody likes to feel like they're behind the class, asking "dumb questions". Affirmation that you're in the right place learning the right thing is empowering. Newbie students will repeatedly ask themselves: Am I at the right level? Do I have all the prerequisites? Will I succeed? Being in a room of their peers who are facing the same challenge builds a sense of "I belong" and "I can do this". And it's contagious.

Fostering such affirmation is tougher in an anonymous crowd, so pairing students up or splitting them into small, supportive groups can help. As a trainer, I'm constantly working to understand where every student is at, acknowledging it's okay that they don't know something, and helping them get to the next step. To provide affirmation in a virtual learning environment, we incorporate break-out rooms, office hours, encourage chat between students, reaching out to each student for direct one-on-ones.



Sustaining student attention for several hours demands a lot of effort from the trainer, especially when the virtual training is competing with email and social media. But there are many techniques that can help.

Working through a problem together as a group allows students to switch between active and passive contribution, and take a break without falling behind. It's also satisfying if the exercises can be populated with realistic prepared content to produce a functional web application, perhaps a recipe listing or meme sharing site. And this is a great opportunity for injecting humour or cat photos.

Students tend to feed on the engagement of others. A couple outwardly enthusiastic students can bring a whole classroom to life. With virtual training, small, interactive classes are essential, as well as breaking up the material into shorter, easier-to-digest pieces.

Permission to Play

Permission to play

Every experienced programmer remembers how difficult it was to set up their first development environment. Many people who work with Drupal professionally only have access to Drupal in a corporate development environment that they're afraid to break, and don't know how to clone for themselves. When you're teaching a technical skill that requires experimentation, students need to overcome the fear of breaking things. A small typo or incorrect version of a dependency can cause a "fatal error" and block a student from even trying to get something to work.

One of the keys to success is to set up a learning sandbox that feels real, but that doesn't have the element of "I can't mess this up". Before each coding class, we send out instructions on how to set up a local dev environment using Acquia Dev Desktop, Lando, or WAMP. For a site building class, we usually suggest a cloud Pantheon sandbox environment. Before training starts, the trainer can walk around the room to ensure that everyone has their setup working, and troubleshoot any errors they might have encountered.

I am still figuring out how to best incorporate such "personalized tech support" in an online context, but helping people trouble-shoot their environment and get set up in advance is definitely part of the solution. And tools like screen sharing and Remote Desktop are definitely helpful.

In Conclusion

In the coming weeks, our team will be experimenting with new training formats that will incorporate these ideas. We have a whole slew of live, online training sessions coming up. If you have feedback or ideas, specific technical solutions to suggest, or experience to share, we'd love to hear from you! And if you're passionate about teaching and web development, we're hiring for consulting roles in curriculum design, training delivery, and marketing for our training program.