One of the most exciting things about a career in IT is the constantly changing landscape, providing almost infinite opportunities for learning. But this is also one of the great challenges IT careers: It’s just so hard to stay on top of everything. Hence, it’s not uncommon for people to learn some skills, find a niche and get comfortable there. The trouble is that comfortable niches get squeezed shut over time, and the opportunities fade away. This is where upskilling becomes important—to grow new skills, find a new niche and enjoy fresh comfort.
As DevOps has become such an important part of today’s landscape, DevOps skills are in high demand. Thankfully, the DevOps community recognizes the need to develop talent. As Dr. Richard Cook put it in the IT Revolution Symposium of Safety Culture, Lean, and DevOps, ‘’DevOps is not simply the practice of fixing problems or generating velocity. DevOps is also the practice of building a community of people who do DevOps.” There are many ways that this can work: on the job coaching and mentoring, meetups, conferences, training courses and certifications. The trouble is that many of those are difficult to scale due to demands on people’s time and places to get together, and that was before we faced the challenges imposed by social distancing.
Thankfully, the last few years have seen the rise of interactive online training platforms that provide an easy-to-access browser-based entry point for users. Behind the scenes, the platforms harness cloud-based infrastructure or containers as a service to provide realistic environments and scalability. Course content is generally structured in markdown or similar, along with files that define flow, mini-quizzes and any challenges that students are expected to complete. This allows training to be delivered at web-scale, reaching much larger audiences than in-person workshops and at a much lower cost per student. It also provides a safe environment for students to try things out and explore away from the packaged course flow. That safety is a crucial support for the third DevOps way of continuous learning by experimentation because it allows students to try things without any concerns about messing up an environment or running up a bill with a cloud provider. It’s also worth noting that a DevOps learning journey is generally more of an iterative process in smaller pieces because the three DevOps ways of flow, feedback and continuous learning by experimentation apply as much to learning DevOps as they do to practicing DevOps.
In some cases, course content has been open sourced, which allows an inquisitive student to see how things work behind the curtain (and maybe suggest improvements or fixes). Open source also provides an opportunity for course content to be modified and remixed to different environments and use cases.
Sample code for environment configuration from shift left on security module
Courses can also make use of API-based interconnectivity between systems through mechanisms including webhooks and identity tokens. That enables systems outside of the training platform, such as collaborative source control, to be incorporated into the overall experience. It also means that training environments can be customized to use the particular tools and practices adopted by an organization so that people can work in familiar ways (or get used to new ways of working).
Web-scale online training platforms first arrived to help people learn about tools and platforms. But now the range of things that we can do with them has expanded dramatically, which means they’ve become a valuable resource for learning more about DevOps. Whether you’re just getting started with DevOps or looking to develop deeper skills, there’s likely to be something online that can help. The courses also tend to come in bite-sized modules, meaning you can run through a whole bunch if you have time on your hands, or chip away that them while waiting for a build to complete or a huge upgrade to download.