Job Description
We’re a leading IT solutions provider to deliver technology-enabled services and fuel digital transformation to some of the most exciting companies on the planet. We are working with the world’s most recognizable and innovative organizations through co-creating applications and services with fast-moving teams. Here you will have the creative autonomy to build new features and help scale the most advanced infrastructure on the internet. You will utilize a wide variety of new tools and technologies to improve automation on unique infrastructure platforms.
Responsibilities:
- Automate the manual steps being done as part of the infrastructure build process.
- Work with stakeholders to come up with a low-level design doc for the automation workflow.
- Audit existing software components for the automation framework and identify all the reusable components for the new automation workflows.
- Implement new software components in the automation framework which can be used for new use cases.
- Perform end-to-end testing of the workflow, identify any gaps in it and fix them.
- Use the workflow to bring up all the future infrastructure components in the lab environment.
- Engineer the automation workflows to be generic for reusability with non-standard infrastructure configurations.
- Troubleshoot automation workflows and internal tooling and perform root cause analysis on failures.
- Develop and gather technical improvements for automation workflow and internal tools based on self-analysis and input from team members.
- Become knowledgeable about cross-functional tooling usage and the APIs provided by each tool.
Requirements:
- Strong coding knowledge with any of the following languages: Python, C/C++, or Go and well versed in object-oriented programming principles.
- Strong understanding of Apache Thrift or gRPC services layer with ability to debug highly distributed applications.
- Working knowledge of bash scripting.
- Fundamental knowledge of network infrastructure.
- Familiarity with one or more network vendor platforms – Cisco, Juniper, Arista, or similar.
- Experience as a developer for network automation and tooling projects.
- Experience in software testing for Python applications – unit testing, test automation, API testing
- Working knowledge of VCS software like GIT/SVN.
- Experience with automation & CI/CD software using one or more of the following: Ansible, Chef, Jenkins, Gitlab, Bamboo.