As IT practitioners we must continually learn new technologies, practices, and thought processes to stay relevant. We are in an industry of constant change, standing still means going backwards, and there is always something new to learn.
Not all technologies and practices change with the same cadence. A good understanding of core fundamentals (such as DNS) can remain relevant for a long time. Others can change quite rapidly requiring more time invested to keep your knowledge relevant.
Whether refreshing your previous learnings or learning something new, incorporating automation in the process can add another dimension, helping improve contextual understanding and information retention.
The need for automation skills is growing, and many of the core skills and concepts are transferable between products and solutions. Using automation as a tool for studying improves the study process and value returned for time invested.
Renewing a CCNP for the third time is not likely going to teach you much at this point. Using the study time to perform those same tasks using an automation tool is going to make you think about study material in a new light.
Incorporating automation into a learning process is usually done by taking existing tutorial steps and converting them to code to get the same outcome. For this to work, first perform the steps manually and then write the code.
The manual first, code second approach provides a reason to read the material multiple times while paying more attention. You may find that there may be more steps because the regular interface automated those additional steps and now your work is more granular.
Writing steps into code is helpful for exams, which have a troubleshooting component. The code writing process involves debugging and a more granular level of the overall process. Additionally, service dependencies and interconnectivity are exposed for you to see.
I should note at this point: when studying for an exam make sure you understand the intended process. For example, knowing how to configure a Cisco switch using Ansible does not help you answer a configuration question on the exam which asks for the CLI commands.
Automation can allow for the dynamic building and removal of lab environments, which can have a significant cost impact in a cloud environment. For example, I use Terraform and Chef to dynamically provision Microsoft AD environments in AWS, reducing costs by providing a mechanism to delete the environment when done.
Using automation to stand up lab environments on demand dynamically adds additional skillsets to the course material which are transferable to a business environment. The provisioning process can be portable between environments and labs, decreasing the time to start studying something new.
Defining lab environments in code provides the ability to have multiple lab environments with less resource overhead. Reducing the effort to provision and remove an environment allows you to get more out of a study session.
Adding automation to your learning process does not provide any shortcuts to learning, instead it increases the time it required to get through course material. Depending on existing exposure to automation tooling, there could be many new things to learn outside of the course material before starting. Take the time to understand what is required to start and if that fits allotted time frames.
Reading blogs and forum posts from others who have automated the systems and services that you are studying can provide an approximation of the tools and effort required to it for yourself. You may come across times where the effort is not justified, and that’s ok.
By taking the time to add automation, you’re helping align your study practices with the overall direction of the IT industry and building a better understanding of the course material.