A few years ago, I knew nothing of the cloud – I wasn’t even working in a traditional IT job. Throughout my 20s, I was always more of a business guy; however, in my early 30s, I started to see the handwriting on the wall: Tech, and tech jobs, were the future. And although my work experience to this point was on the business side, I grew up with a solid foundation in tech. Back in the early 90s, I was the first in my neighborhood to get online – name any early 90’s online platform (pre-AOL), and I had an account. I ran a side business in high school upgrading computers with more RAM, hard disk space, and modems. I also completed a few programing classes in high school (Pascal) and college (C). I knew computers, and I knew tech, but I left that all behind as I progressed through college.
Fast-forward to eight years later, and I found myself being pulled back. In the late 2000s, I started to notice all these inefficiencies in the company I was working for at the time. We lacked proper data analytics, and there were numerous workflows that could be automated in various departments. I began spending evening and weekends writing up ideas for various software applications we could build to help solve these issues. Before I knew it, the company had an in-house development team building many of my ideas. Some worked very well and were very profitable for the company; others were not. In the end, it reignited my love for tech, programming, gadgets, hardware, and software. Around 2013, I left that company in search of a new career.
The Journey Begins
Over the next few years I did a lot of different things with my time. I was fortunate to have the resources to “float” for a while and spend time on personal projects, consulting, and teaching myself new skills. This is when I began my journey into e-learning, which ultimately led to my current job in e-learning. My first stop was edx.org and their free offering of Harvard’s “Intro to Computer Science” (CS50x) class. This self-paced, online course provided pre-recorded videos of all their lectures, as well as all the same homework/assignments given to Harvard’s students. This course did two things: one is that it reminded me that I will never be a good programmer, and two, the power/influence of e-learning. Here I was taking the exact same course, for free, that students were paying tens of thousands of dollars for to attend in person. And what’s the difference? Yes, those students who paid will have a degree that says “Harvard,” but we all took the same class. We all sat through the same lectures, read the same books, and completed the same assignments. There is no difference, except in price.
Over the next 12-18 months I took numerous self-paced online courses, in all areas of IT: Java, C#, Unity, networking, and, of course, Amazon Web Services. I loved AWS. I took courses from several different providers, including Linux Academy, but none of them got it right. Don’t get me wrong, they were all good courses, but all of them lacked in their ability to be visual and interactive. They were all designed by cloud experts, and taught as if each student had a minimum of five years of traditional IT experience. I didn’t have that experience, and I knew that a lot of other students taking these courses didn’t either. I often thought about what I wanted in an online AWS course, although I never thought I would get the opportunity to design and make that course. Then one day in 2016 I was hired by Linux Academy, and I was asked to do just that. Suddenly, I had the opportunity to make the course I had always wanted to take as a student (gulp).
Right now you might be asking yourself, what was wrong with the current online courses I was taking? Well, many of them were mired in traditional (classroom) teaching methods. The Harvard class I took was mostly videos of the in-person lectures, while others relied heavily on PowerPoint. These are fine teaching methods, but when a course can be built online, and taken at your own pace, there are so many other different types of teaching methods that you can utilize, methods that are far more engaging and interactive, all designed to speed up the learning curve. As an online instructor, I have one job: to get information from my brain into your brain. The good ones will do that as efficiently as possible – employing methods that help the information “stick” the first time. And the best ones do that while also making the content fun and engaging. With all the tools computers, the internet, and video editing software provide, why was I taking courses where I was watching a recorded lecture or listening to someone read from a power point deck? There had to be a better way.
The First Step into the Cloud:
The first course I authored for Linux Academy was not one of my signature AWS courses that students have come to know me for. It is by far my least known, but it’s perhaps the most influential to what has become my teaching style. This course is titled “Manage and Deploy Code with AWS Developer Tools“. The course focused on AWS Code Commit, Code Deploy, and Code Pipeline. At this point in my life, I had never created an online course. I had never even recorded and edited a video. So I’ll be honest, I had no idea what I was doing. I did, however, know one thing: I wanted to do something different. I wanted to design the course in such a way that students would be more engaged, and would learn the material faster. I brainstormed and tried several different ideas, and finally I settled on two key things. One, I decided to tell a story. In the first few videos of the course, I introduce the students to a fake company called WonderWidgets. This company is making a secret product, and no one knows what it is. I also introduce the students to the WonderWidgets Development team, comprised of three developers, Matt, Kelly, and Zack. I decided that I was going to teach these AWS services through the eyes of a development teams using them as part of their job at WonderWidgets. This is how I attempted to make the course more engaging.
Two, I decided to use a “split screen” format in each video lesson. The left 2/3rd of the screen would always been the AWS console or Terminal window, while the right 1/3rd would always be a visual/textural reference to what I was doing in the AWS console or Terminal. If I was executing AWS CLI commands on the left side of the screen, I had the command typed out on the right side of the screen – along with it’s definition, purpose, optional flags, and examples.
If I was creating a pipeline in the AWS console on the left side of the screen, I had a diagram of the pipeline on the right side of the screen.
This was done to create a direct visual reference between what I was doing in the console/terminal and, conceptually, what was occurring. This proved to be a very popular method amongst the students who took the course, as it created a one-to-one connection between how the pipeline workflow is organized and what was actually occurring in the AWS console/terminal. Students could now visually understand something that was not inherently visual.
Creating a Point of Reference
As I mentioned above, most (if not all) e-learning cloud courses I took assumed a certain level of knowledge. Even courses with titles like, “The Absolute Beginners Guide to the Cloud” assumed you had previous IT experience. For example, they would introduce the concept of a Virtual Private Cloud (VPC) by giving a technical explanation/definition of a VPC. Something similar to the definition on Wikipedia:
A virtual private cloud (VPC) is an on-demand configurable pool of shared computing resources allocated within a public cloud environment, providing a certain level of isolation between the different organizations (denoted as users hereafter) using the resources.
To some of you, that definition makes total sense. However, what if you have no IT training or background? What if you told that definition to your friend, neighbor, or grandmother? One week from today, if you asked them what a VPC is, would they have any recall? I highly doubt it. If your audience is individuals who have no IT experience or training (i.e. the “absolute beginner”), then you need to find a way to make the explanation/definitions relatable and memorable. And as part of that (perhaps the most important part) is that you need to determine exactly what you want the student to remember/take way from that explanation. When you first introduce the concept of a VPC, you don’t need them to remember some technical definition, you just need them to remember that a VPC is a private section of the cloud in which they control what goes in it, and can control who can access what they put in it. Super simple, right? So how do you get them to remember that a week from now? It may sounds crazy, but my answer is Facebook. Everyone knows what Facebook is and has used it (pretty safe bet). Therefore, it’s a perfect point of reference, because everyone knows Facebook. So what if I compared a VPC to Facebook? How could I even do that? Well, every user on Facebook has his or her own account. That can be compared to having an AWS account. And everyone on Facebook has his or her own Facebook page. It’s the part of Facebook that they control – they can control what they put on the page (post, photos, etc.), and they also control who can access/see what they put on their page (through Friends lists and security settings).
So a VPC is very similar (in concept) to having your own Facebook page. However, instead of post, pictures, and videos, you put compute resources inside of a VPC. And instead of friends lists and security settings, you have Networking Access Control Lists (NACLs) and security groups (SGs).
Now go ahead and use this method to explain the concept of a VPC to your friend, neighbor, and grandmother. Then a week later ask them if they remember what a VPC is. You will most likely get an answer like, “oh yeah, a VPC is kind of like your own Facebook page. It’s you own private section of the cloud where you control what goes in it and who has access to it.” Success! That’s all you need; the foundation has been set. You have successfully transferred knowledge from your brain to their brain. I call this teaching to the “concepts” level. Teaching at the concepts level is all about oversimplification for the purpose of making a concept “stick” in the students’ mind. At this level, you are not trying to teach anything technical, you are just laying the conceptual foundation. Your only goal is to help the student wrap their head around what something is and what its purpose is (at the highest level).
Let’s Get Hands-On
Up to this point, nothing really technical or hands-on has been taught, only conceptual understanding. So step one has been accomplished. However, now it is time to introduce some beginner-level technical elements and get the student working in a cloud environment. Accomplishing those two tasks will now be much easier since the conceptual groundwork has been laid, and now I can take full advantage of the three main teaching techniques I have established as part of my training method:
- Create an engaging story
- Use a split-screen format to create a clear reference between the console/terminal and informational text/visuals
- Use simplified, relatable examples to help students remember concepts
So how do I combine all three to create a course? Enter Project Omega.
Project Omega is a linear, project-based, interactive learning tool comprised of 100+ layers that include AWS architectural diagrams, conceptual diagrams, walkthroughs, and textual information. Project Omega is designed around “lessons” and is supposed to follow a specific order in each section.
This tool allows for one (1), an engaging story. The student is told that Project Omega is secret government project that they have been contracted to work on. It’s also a guide that has been given to the student with the purpose of teaching Project Omega’s architecture in AWS.
It also allows for (2), the use of split screen recording. All video lessons will have the AWS console/terminal on the left, and Project Omega on the right. So anything I (the instructor) create in an AWS environment will have a corresponding layer/diagram in Project Omega, all shown on screen at the same time, so I can reference back and forth between the two.
And (3), each lesson is designed with simplified explanations with diagrams designed to draw a direct connection between something the student already knows and its counterpart in AWS. For example, we make an easy connection between components in your home computer, to components of an EC2 instance.
What’s most important when teaching at the “essentials” level is giving the student an introduction and overview of the core services and features, while doing so in a way that is interactive and engaging but not overly technical. You want the student to walk away from the course with the ability to use and understand the fundamental aspects of the cloud services provider.
Time to Get Technical
While the “concepts” and “essentials” levels are all about building a foundation, the “intermediate” level is where things start to get serious. Technical definitions and terms can now be freely used; however, the students’ ability to absorb and understand them should be greatly improved now that hey have a proper foundation in place. Also, the intermediate level is where training for entry-level certification exams, such as the AWS Certified Solutions Architect – Associate, takes place. Technical terms, definitions, and processes need to be known and understood. But how do you teach something as broad as the content for the AWS Certified Solutions Architect exam, while still being engaging and interactive? Enter the Orion Papers.
The Orion Papers is a non-linear, interactive learning tool comprised of hundreds of layers that include AWS architectural diagrams, conceptual diagrams, and textual information. Where Project Omega was project-based, and you followed along step-by-step, the Orion Papers is build with many different paths. You start at the highest level of AWS and can drill down into any service or networking component that you like.
Want to drill down into different types of VPC networking? Start at the “Physical and Networking Layer” and drill down.
Want to explore S3 and all its features? Start with the “Account and Services Layer” and drill down.
It all starts at the top, and you can explore AWS through the Orion Papers in any order you like. Each service and feature is visualized with specific care to show how everything is connected and how data flows in/out of AWS from both an AWS user and a customer (for you application) perspective. And what is especially important to the learning process is that everything that I do in the AWS console is visually and textually represented on the right side of the video.
As I show the student how to create a route table in the AWS console, I have its location in the VPC architecture displayed along side it.
And as I discuss what a route table is, I (as well as the student) can click on the route table in the Orion Papers to view a full explanation of what a route table is and what it does.
This creates the direct one-to-one connection between what the student is actually building in AWS and, conceptually, what they are doing with diagrams, definitions, and explanations of use and benefits.
Let’s Sum It All Up
When I first set out to create these courses – AWS Concepts, AWS Essentials, and AWS Certified Solutions Architect – I had no idea where they would end up. All I knew is that I wanted to accomplish two things. Make AWS cloud learning accessible to the true novice – someone that has absolutely no IT experience or background, and use the awesome tools of the internet to create new, innovative, fun, and engaging learning content. With other industries suffering from massive job loss, I believe that it is vital to not only welcome, but make training for IT and cloud extremely approachable and accessible. And what’s the point if we are not having fun and enjoying ourselves as we learn?