Demystifying Network Automation
Network Automation encompasses a broad spectrum of automation techniques, ranging from simple scripts that configure VLANs to sophisticated Event-Driven Automation solutions. To address the primary concern of many network professionals, does this necessitate becoming a developer? The answer is no. Network engineers do not need to transition into development roles. However, network automation does incorporate a significant number of developer tools. Nevertheless, it also encompasses a diverse range of other automation tools. Ultimately, the choice of automation approach depends on the specific automation requirements and the challenges to be addressed.
In my pursuit of becoming a network engineer, I simultaneously embarked on a journey into network automation. Repetitive and mundane tasks are my least favorite, and I noticed that the majority of changes required when preparing switches for deployment were minor, primarily involving the management IP address. As I delved deeper into penetration testing tools, I found myself configuring switches frequently. To maximize my time for skill development, I sought to automate this process using a USB Rubber Ducky. This approach is not limited to this specific solution but rather to identifying the repetitive tasks you perform and exploring ways to automate them. The next step involves researching the available tools and techniques to build your automation infrastructure.
Skill Building
Indeed, a scripting language such as Python serves as a foundational skill for network automation. However, it is crucial to focus on mastering the fundamentals rather than attempting to build a fully functional enterprise web application. Python is not the sole tool available for this purpose. For instance, Ansible is a versatile tool that can be utilized for mass configuration deployment, including updating SNMP strings. It also facilitates the implementation of Network as Code using Jinja templates. While learning a scripting language may initially appear daunting, mastering the ability to interact with systems via an API offers significant long-term benefits. Developing scripts is generally more enjoyable and efficient than screen scripting or manually filling out spreadsheets.
For technical professionals, it is imperative to remain abreast of industry trends. Evading these trends is futile, and attempting to convince a seasoned automation specialist of their negative impact is futile. If you are adamant about avoiding acquiring the necessary hard skills to enhance your professional life, there will always be individuals offering solutions that cater to your specific needs. However, this does necessitate an increased investment in tools rather than hiring individuals with these skills. As with any skill, consistent practice leads to improvement. Delaying the inevitable will only hinder your progress.
For managers who tend to favor listening and hiring individuals with the most years of experience, I pose a question: why? While years of experience, particularly in the technology sector, do not necessarily equate to talent, I have observed a significant resistance to adopting automation technologies. When an individual’s time spent working at a computer significantly exceeds their retirement years, it becomes challenging to justify investing in a new skill set.
Culture
As a technology professional, creativity is a hallmark of our role. We are responsible for building, designing, maintaining, and creating innovative solutions. The more innovative and creative we are, the more successful our technology department will be, ultimately contributing to the company’s competitiveness. In this era, I firmly believe that every company should prioritize technology as its core competency, with its primary business serving as a secondary focus. Without fully embracing and adopting the latest technologies, it is impossible to achieve competitiveness in any industry.
Technology stands out as an industry that undergoes constant evolution. What may be the prevailing standard one day may not hold the same status the following day. Consider the rapid adoption of artificial intelligence (AI) as a prime example. Every company, regardless of its primary business focus, appears to be eager to incorporate AI into its operations, mirroring the widespread desire for automation within networks. However, many organizations lack a clear understanding of their specific use cases or the necessary implementation strategies. While it is acceptable to seek expertise or hire specialists in the technologies you intend to adopt, the actual adoption and implementation process require a different approach. To foster a culture of continuous learning, growth, and innovation, it is essential to establish a supportive environment that encourages technical staff to experiment and test these solutions.
Poor Management
How many of us have worked at an organization where the manager has been with the company for 10-20 years, began at the helpdesk, and progressed through the ranks? This scenario presents an ideal opportunity for a rookie recruiter, promising a positive work environment with high employee retention and opportunities for internal advancement. However, this may not be the best fit for a talented engineer.
In such an organization, the individual may possess limited expertise and an unhealthy sense of ownership over specific technologies. Consequently, they may be responsible for making technical and architectural decisions, which could potentially hinder the engineer’s growth and career development.
This is advantageous for individuals in management positions within the company, but it falls short of addressing the broader issue. The distinction between management and architecture roles must be clearly defined. The primary objective of attracting new talent should be to foster the introduction of novel ideas, but this objective is often not met. In reality, the implementation of technologies is frequently constrained by the skill level of the manager.
In one of my previous roles, I was assigned to work with the Director of IT Infrastructure, a relatively young individual with a background in construction management. This individual had a specific requirement for a graphical user interface (GUI) for all solutions. When I offered to set up a server that was necessary but they were out of licenses for Linux, I was informed that it was a “security issue.” Without considering the situation, I made a hasty decision by blurting out, “NO IT IS NOT… WHO TOLD YOU THAT!” What ended up happening was the manager had the final decision not due to it being better, more secure, or financially optimal but that engineering was only allowed at the skill level of the decision maker.
It is important to note that highly skilled technology professionals generally have ample job opportunities available to them. Individuals who are aware of their skill level are cognizant of their limited options and actively seek employment that aligns with their expertise. Conversely, skilled professionals tend to be more flexible and willing to relocate to opportunities that offer opportunities for growth and innovation.
