Certification programs not only help trainees develop workforce-ready skills. They can also help companies that lead the programs foster relationships with customers, enabling these customers to use the company’s products to their full potential.

At Unified Streaming, we started our Unified Certified program about four years ago and soon hope to certify our 150th participant. From the start, Unified Certified has helped our company grow, and has given me a lot of experience as a trainer as well as ideas about best practices.

In this blog, I would like to share what I find useful doing — and not so useful doing — in a certification program. My observations of what works for Unified Certified are listed below as suggestions, which I hope are transferable to your own training course environment. They might also serve as inspiration, if you plan on offering your customers a training program of some sort.

    1. Know your audience

    One of the early, crucial steps for a certification training is accurately deciding whether the people registering for your course possess the experience and skills necessary to participate successfully. If they do not, you run the risk of wasting both parties’ time and money. Sufficiently prepared students make the program more effective, and they usually motivate other students (and the trainers) too.

    Some useful methods for ensuring that everyone begins the course on a reasonably equal footing include administering a pre-exam, and distributing course questionnaires — if you make sure to ask the right questions.

    We ask Unified Certified course candidates to define their experience level with Apache, video streaming, and Linux. Their answers signal whether their background in specific areas is beginner, moderate, or intermediate. If all their answers come back beginner, we’ll ask more questions privately to determine if the person is appropriate for the program or not.

    Give everything to students beforehand
    … unless you like surprises

    Before the course begins, you should provide your candidates with all the information they might need to prepare. Sharing useful tips about the tools used in the course would be a good example. 

    For Unified Certified, this assistance might cover some documentation, like how to establish an SSH connection with an AWS instance, or how to edit an Apache configuration file through a terminal. But beware and make sure to cover all your bases here, or someone might surprise you at the beginning of a course, asking how to convert a private key for use with PuTTY on Windows … 

    All in all, preparation is half the battle. (Trust me: once the training starts, you don’t want to be teaching students the fundamentals of command-line editors like Vim or Nano.)

    2. Automate everything

    For Unified Certified we set up a cloud environment for each participant. From the start I have tried to automate this as much as possible.

    Before tinkering with automation, though, there is an important task you should complete first: creating a checklist that includes each step you plan to automate. This will help you organize your workflow and choose the most suitable tool to automate it.

    For our goals, AWS provides some options to get ready-to-use instances up and running easily (i.e., OS installed with some features), but these aren’t the best way to install, configure, and test our products for each training or necessary update. 

    In the end, we settled on pack​er​.io to create our course AMIs. Packer is a free, AWS-supported tool. There are things it cannot do (like directly installing your software), but it can download a shell script and run it while deploying the AMI.

    When using this approach you can create a single shell script to do everything, but I would consider this quite risky, because if one process fails, you’ll have to work on the whole thing. That’s why I recommend separating tasks on your checklist into separate scripts instead.

    3. Prepare for chaos

    Students break things, so have a backup plan. I’ll explain.

    Let’s say you have everything ready: you’ve distributed a course syllabus that includes all the information students might need, and your setup is perfectly structured.

    But then — right when the training starts — you encounter a big problem. One of your students created their SSH key from their office computer, but joined the course with their laptop.

    You should never underestimate the human error factor.

    People are not robots, unfortunately. (Okay, fortunately.) Training groups always include different personalities. Some people like to follow every single step, one by one. And there are people who just want to see what happens if they follow a different path. These explorers are the real test of your resolve. 

    Undoubtedly, every single training you run improves your problem-solving speed, but you might always run into a new obstacle. To help prepare for the worst-case scenario with cloud-run courses like ours, you should keep a brand-new instance at the ready, so that you can replace a broken one right away. 

    And of course, at the end of the day, don’t forget to check how the participant managed to break the instance in the first place, as it can provide valuable feedback to improve your training.

    If you have a training partner,
    be ready to tag in

    Training courses might be delivered by a single trainer, or by multiple trainers. My own experience has led me to prefer the latter.

    When you sell a training program, all the participants arrange their calendar weeks in advance, maybe months. With these stakes, you must take the haphazardness of life into account: the possibility that a trainer might show up late, or not show up at all. This has certainly happened to us. Fortunately, because we don’t depend on one single trainer, we have never had to cancel a course.

    A second trainer in the program is helpful in other ways too, as they can provide a second opinion when questions are raised, and support the first trainer when practical problems arise among various students.

    If you run a program with two trainers, try securing the second trainer’s contribution by having them switch roles with the lead trainer. Mixing things up not only keeps the second trainer’s skills sharp — it also makes the training dynamic for the students.

    I entered the Unified Certified program as a student, just like all Unified Streaming employees do. I felt it was a good fit and it helped me enjoy my job more. The next step was assisting our technical supporter in the training, and after a while I took over their role. Getting excellent support from my colleagues helped prepare me to lead a training as well, should it ever be necessary.

    And then one day it was. The lead trainer got sick, and the backup trainer was too busy, so I stepped in to cover for them. The show must go on.

    4. Ask for help and document stuff

    A training program is not only an educational event scheduled for a limited time. It’s also an opportunity to enhance relationships with customers, and to demonstrate the quality of your company. 

    With this level of visibility, it’s even more important that you check in with your teammates regularly about any changes or feedback you get from students. By running any significant changes to the course material past the experts in our company, I know we’re delivering the best possible quality to students.

    Review each completed course

    You may be able to remember each training you participated in. You may also be a great note taker, keeping your notes accessible to everyone. Nonetheless, there is no better time to evaluate with the other parties involved than soon after the event, when your ideas are fresh. 

    This is especially true if significant time passes between each training (for example, Unified Certified is currently scheduled for five times a year). Learn your lessons, keep everyone on the same page, and start preparing for the next one.

    Go easy on your colleagues:
    document everything you do

    What you’re working on today might be a colleague’s task tomorrow. 

    As mentioned, Packer helps us automate the setup of our course’s cloud environments. I run the Packer scripts locally because it is built this way. Quickly solving a problem by making a change — without documenting it — used to tempt me, but now I know better. It’s never nice to surprise a colleague with undocumented changes while you’re on holiday … 

    Documenting the stuff you do might not always be the most appealing task to complete, but it can save you and your colleagues a headache or two. 

    5. Beware: teaching online is not easy

    The year 2020 will be remembered as one that affected all of our lives. We had to adapt, as we saw countless things inevitably change — like face-to-face training. It meant moving away from teaching people in the same room, toward teaching people anywhere in the world.

    Suddenly, this meant finding a way to help people feel comfortable in front of a webcam, because there is no other option. Students tend to keep their cameras off, but if you can’t see them, you can’t manage your online course well. It’s a challenge to maintain everyone’s attention, so you have to work to keep participants engaged. 

    For me, asking particular questions to specific students directly works best (rather than asking general questions that target no one in particular). In addition, checking in with participants often, asking them how they’re doing, and referring to them by name is effective.

    Soon after migrating Unified Certified online, we decided to spread the course out over three days, instead of two.

    Find the best tools,
    and use them to your advantage

    We also started a brand-new exam workflow. Not every training requires an exam, but ours does. We looked into more advanced options first, but Google Forms offered everything we needed. 

    The multiple-choice part of our exam was super simple to set up, and for the more practical hands-on part we ask participants to provide the URLs to streams they set up on their own cloud instance. The benefit of the latter is that it requires two things: the ability to package a stream, and the understanding of the basics of a web server.

    For the meeting environment, we decided on Zoom, which seemed to be the only decent option at the start of the pandemic, and is still one of the most flexible meeting tools around. One of Zoom’s advantages is its option to distribute its windows across multiple screens: one to keep an eye on everyone in the meeting; one to share your presentation; and one to work in your shell and browser. A setup like this also makes it easier to create individual rooms for one-on-one conversations, for which we often use separate tools like Google Meet or Skype, instead of Zoom’s native functionality.

    Another challenge is remaining connected with participants after starting a hands-on exercise. Before, I used to walk around the room to gloss over everyone’s screen and see how they were doing. To emulate something similar in a remote context, we use the command-line tool Tmux to get an interface to each participant’s shell session on their cloud instance. Instead of walking around, we now click through the participants’ shell sessions to see how they’re coming along in real-time. And when they’re stuck, we’re not limited to chatting with them via Zoom — we’re able to correct mistakes on their command-line directly as well, to give them a little nudge.


    Preparing and delivering a training program for your customers can be an enjoyable and rewarding experience. Guaranteeing a smooth experience every time will require quite some preparation, but this effort should pay off in the long run, through happier and more effective customers who will hopefully renew their contracts. As far as setting up the training goes: my advice is to keep things simple, and to remember that sometimes things may not go according to plan.

    Hopefully, the tips above will help you set up a training program yourself, or aid you on your journey to become a (better) trainer. Feel free to get in touch and share your own personal experiences (or book a spot in one of our Unified Certified courses! ;-)