Job Description
Job Responsibilities
Network Automation Development
Design and build automation workflows for network device configuration, provisioning, and updates.
Leverage Nautobot as the central source-of-truth for IPAM, device inventory, and templating data.
Implement Jinja templates for dynamic configuration generation, reducing manual overhead and ensuring consistent deployments.
CI/CD Pipeline Implementation
Develop and maintain continuous integration/continuous delivery (CI/CD) pipelines for network automation projects.
Integrate source code, testing frameworks, and deployment processes using platforms such as Jenkins, GitLab CI, GitHub Actions, or Azure DevOps.
Ensure that pipelines incorporate linting, testing, and automated validation of network configurations.
Infrastructure as Code (IaC)
Adopt IaC best practices using Terraform, Ansible, or similar tools to define and manage network resources.
Collaborate with network and cloud teams to establish consistent infrastructure blueprints for on-prem and cloud environments
Standardize configurations using Jinja2 and version control, ensuring repeatable and auditable deployments.
Scripting and Tooling
Write and maintain automation scripts in Python (or other scripting languages) for network device orchestration and data manipulation.
Utilize REST APIs, netmiko, NAPALM, or similar libraries to interface with network devices.
Work with Jinja2 templates to create modular, scalable, and easily maintainable configuration files.
Collaboration & Documentation
Partner with network engineers to gather requirements, troubleshoot issues, and refine automation strategies.
Produce detailed documentation, including code comments, wiki articles, and runbooks to facilitate knowledge transfer.
Engage with DevOps and Infrastructure teams to align on standards, naming conventions, and operational workflows.
Monitoring and Optimization
Integrate monitoring solutions (e.g., Grafana, Prometheus, Splunk) to track the impact and performance of automation tasks.
Optimize automation workflows for reliability, scalability, and security, ensuring minimal disruptions to the network.
Best Practices & Code Reviews
Conduct and participate in code reviews, promoting maintainable, scalable, and secure code.
Advocate for DevOps and GitOps principles, facilitating continuous improvement across teams.
Stay current with evolving technologies and share knowledge of new tools or methodologies
Job Qualifications
Bachelor's degree in Computer Science, Network Engineering, or a related field (or equivalent experience).
5-7 years of hands-on experience in software development, network engineering, or DevOps with a focus on automation.
Technical Skills
Network Automation:
Proficiency in automating device configurations (Cisco, Juniper, Aruba, etc.) using Python, Ansible, or similar tools.
CI/CD: Practical experience designing, implementing, and managing pipelines (Jenkins, GitLab CI, GitHub Actions, Azure DevOps).
IaC:
Familiarity with Terraform, Ansible, or other tools to maintain infrastructure state declaratively.
Nautobot: Experience using Nautobot (or NetBox) for source-of-truth management, IPAM, and automation integration.
Jinja Templates: Ability to create and maintain Jinja2 configurations for network automation workflows
Version Control: Proficient in Git workflows (branching, pull requests, tagging).