Remote work is the future of work - Alex Ohanian Sr, Reddit

Now that all of you are probably reading this at home, I feel compelled to write this piece. For the last 4 years, I have spent approximately 500 hours delivering highly technical training or speaking at various events, all over the globe. Last year, I spent approximately 100 days away from home, on planes, trains and automobiles (sorry, couldn't help myself 😉). This year, there's a good chance that I'll be away from home for not more than 10 days tops.

However, I do (still) spend time training and speaking at various events. Its May, and I have already delivered about 60 hours of training this year, and approximately about 10 hours speaking at various events. Not to mention the extremely busy Summer season with several training and speaking events coming up.

We, at we45, first started training remotely in 2018. At that time, it was odd and isolating. But after every training, we made a list of things that we should improve when we deliver talks and training remotely. These are some of our learnings since then. I hope its useful to you the reader, who may be looking to speak or train sometime in the near to long term future in this "new normal" for us.

I will be dividing this article by categories (you can skip to them based on your interest):

  • Audio, Video, Web Conferencing and Setup
  • Tips for speaking and presenting
  • Demos and Hands-on Labs
Full Disclousre: This works for me and my colleagues. These may not exactly work the same way for you. Please feel free to tweak/not use for yourself

Audio, Video, Web Conferencing and Setup

Conference and NOT Webinar

When training, I prefer using Web Conferencing apps like Zoom or GotoMeeting. I prefer NOT using the webinar variant of these apps. Simply because, webinar tools automatically place users in mute mode with no way out of that mode. Its a "talk at you" model that doesn't and shouldn't work for training. Have classes (for training) that can talk to you and share ideas with their voice or at least over chat.

While I have trained on Zoom, GotoMeeting and Webex. I prefer GotoMeeting by a long long mile. Its features, specifically for:

  • Audience interaction
  • Audio and Video quality
  • Overall user interface

Are far more suited for training and interaction than Zoom.

Check-in Checklist

Always check in to your meeting approximately 15 mins before the start of your event (training/talk) and go over the following questions (preferably with someone else):

  • Is my screenshare working?
  • Is my voice audible? Clear from multiple angles?
  • Are you able to see my video feed (webcam/GoPro/whatever)?

Video

I always make it a point to turn on my webcam when I am speaking or training, except in very rare occasions. As a speaker, the audience feeds off your energy. In a physical setting, your energy (or lack thereof) reflects on your audience. If they can't see you, how do you expect their energy to be? Especially on a medium where they can literally open up a tab on their browser and check out more interesting things on Youtube. You have work a little harder when you are doing remote training or speaking (more on this later).

I use a Logitech C920 Webcam to display my visage to the world at large, but I am looking to change that to a GoPro with a CamLink 4K pretty soon. Haven't done it because GoPro needs much better lighting and my new lights are still on the way from Amazon.

Audio

I use two mics when I am training. A Zoom H2N or a Blue Yeti. I have largely defaulted to using the Zoom, because its small and easy to carry around. I use a Joby tripod to mount the mic. Ensure that you set the right gain on the mic.

I have seen a lot of folks swear by USB Audio interfaces like the Focusrite Scarlett, but I haven't seen the need for them. I find this setup to be more than adequate

I have also used Sound Reducing Foam to reduce echo and its quite good.

A lot of time, you're dealing with noises of life. Noises that you can do nothing about. Whether its kids, or noisy neighbors. I have started to use Krisp, which I can describe as nothing short of magical for microphone noise cancellation. Krisp uses some AI tech to do this. Its really something! Highly recommend!

Tips on Speaking and Presenting

Energy

A lot of us walk and talk. I love to walk the stage when I am speaking. I use the stage to emphasize segments of the presentation, add pregnant pauses and generally put my energy "out there". This is much much harder to do when you are staring into a webcam to a faceless audience. I resort to using my hands a lot more. I dont stand and present (remotely) because I am worried that the camera would be out of focus.

Emphasize, Enunciate and Repeat

Remember, people are paying varying degrees of attention to your talk/training. Always always:

  • speak slowly and clearly
  • enunciate and don't mutter
  • Repeat key points.
  • Repeat key points :)

I'd also look at taking up voice lessons or amateur theater classes/workshops (if you can) because that teaches you a lot about dialogue delivery, which is invaluable when you are speaking publicly. They are usually either free or quite inexpensive and are worth their value in gold. Trust me on this. 3 years in amateur theater taught me a LOT about speaking on stage.

Always modulate your voice and change up the tone based on emphasis. You have to work harder in a remote setting. Try as much as possible to NOT make your audience have to work hard to listen to you.

Invite Questions and Comments

Constantly invite questions from your audience. There's a natural tendency of people to stay quiet during a remote training or talk. By constantly reminding them to ask questions, you are encouraging interactive discourse. And when one person asks you a question, it enthuses others to as well.

In some classes, I actually have prizes for people who are interactive and ask questions

Slides

Don't load up too much text in slides. Remember, you are NOT reading out slides. They are just a marker for your actual talk or training

If possible, always hand over a copy of your slides to your audience during or before the start of the program. It just helps them follow along

If you're presenting code, please please, for the love of god, format the code with a syntax highlighter like pygmentize or highlightjs. Nobody likes reading unformatted (or even formatted) code in Times New Roman. Correction. Nobody likes reading anything in Times New Roman.

As much as possible, try and use images and animations to convey complex points and workflows. People understand images better than they do, lots of text.

Demos and Hands-on Labs

I do a lot of demos, hands-on labs and live-code sessions. These are a few things that have helped me immensely:

  • Make sure you turn Notifications off (D0 Not Disturb on Mac). Text messages from family shouldn't be showing up on screen. Or that embarrassing colleague sending you NSFW stuff on Slack 😱
  • Use a friendly Terminal (like ITerm 2 for Mac) and make sure that you zoom in (text expand) your terminal window when you type commands or display code. Its not easy reading code, especially against a dark background in small illegible text.
  • Needless to say, don't use plaintext passwords on screen. Pause the screenshare if you need to. If you are using CLIs, don't load plaintext passwords as part of the command, if possible.
  • If training, always have detailed instructions with commands and explanations of that command, to ensure that your students can follow along at their own pace, without having to disturb you. Trust me. The more time you spend making your instructions simple and comprehensive, the less time you will spend getting interrupted during the training.
  • One thing we did (at we45) early on, was invest in the cloud to run our hands-on labs. This has been one of our best technology investments that we have made. This has ensured that our students get a great, comprehensive experience on our cloud-labs and cyber-ranges. This is leagues better than dealing with clunky VMs for lab machines. However, if you are still using VMs (the majority), make sure you: 1) test it on multiple OSes, 2) try and reduce VM HDD size 3) document instructions to load the VM on machines 4) explain some limitations of the VMs, like possible OS incompatibilities, BIOS changes, etc and circulate to your students at least 2 weeks before your class
  • If possible, have an assistant on a separate chat channel (Slack, discord) who can troubleshoot when folks are having trouble running labs. This has been a huge win for us when we do remote trainings.
  • One of the things I like to do, is to first have the students run the labs and I run after a some time, explaining all the moving parts of the labs and how they work, often going into a deep-dive into specific areas of the lab.
  • If possible, try and share the code for your lab over Github or some other medium. This makes it easy for your students to be able to backtrack their steps on their own time.
  • Needless to say, Test, Test, Test your labs as often as possible to ensure that they are working and that they are

Wanna level up on your AppSec and DevSecOps Skills at this time? Our virtual trainings with amazing cloud-labs and cyber-ranges are available at great prices. These trainings have been 5* trainings at BlackHat, OWASP and other events

Attacking and Defending Containers, Kubernetes and Serverless, normally $1650, now only $499! Register now!

DevSecOps MasterClass, normally $2000, now only $850. Special PromoCode DSO200 to get $200 off! Register now!

We are at BlackHat USA 2020, which is now a completely virtual event. Check out our trainings at discounted, early-bird rates:

  • Kubernetes Security Masterclass (Aug 1-2) => Link
  • Kubernetes Security Masterclass (Aug 3-4) => Link
  • DevSecOps MasterClass (Aug 1-4) => Link