Senior Software Engineer - Engineering Productivity
Job description
About the role
In this position, you will be an integral member of the Engineering Productivity team at Arista Networks. Your primary responsibility will be to develop, enhance, and maintain systems that support the company's software development teams. You will work on automating various aspects of the software development lifecycle, including continuous integration and continuous deployment (CI/CD), testing frameworks, and monitoring systems. The role involves collaborating with cross-functional teams to streamline workflows, improve system reliability, and accelerate development cycles. You will leverage both industry-standard tools and proprietary systems designed to optimize the productivity of Arista's engineering teams. This is a hands-on role that requires technical expertise, problem-solving skills, and a proactive approach to infrastructure automation and system reliability.
Key facts
What you'll do
- Design, develop, and maintain tools and infrastructure that support internal development, testing, and deployment processes across multiple teams.
- Enhance the build system's maintainability, scalability, and performance to ensure efficient software delivery pipelines.
- Evaluate new tools, frameworks, and technologies, and integrate them into existing workflows to improve automation and productivity.
- Accelerate feedback loops for developers by optimizing build, test, and deployment systems, reducing cycle times.
- Troubleshoot and resolve issues related to systems, networks, and infrastructure to ensure high availability and reliability.
- Implement and promote infrastructure-as-code practices to automate provisioning, configuration, and management of infrastructure components.
- Monitor system performance, availability, and security, and implement improvements to maintain maximum uptime.
- Collaborate with development teams to understand their needs and develop solutions that improve their workflows.
- Contribute to the design and execution of new infrastructure projects, including automation pipelines and monitoring solutions.
- Maintain comprehensive documentation of systems, processes, and best practices to facilitate knowledge sharing within the team.
- Participate in code reviews, testing, and deployment processes to ensure high-quality deliverables.
- Stay current with industry trends and emerging technologies relevant to infrastructure automation, CI/CD, and system reliability.
- Support the onboarding of new tools and processes, providing training and documentation as needed.
- Work closely with security teams to ensure infrastructure and systems comply with security standards and best practices.
- Assist in capacity planning and scaling efforts to support company growth and increased workload.
Requirements
- A minimum of 4 years of professional experience in DevOps, Site Reliability Engineering, or related fields.
- Proven experience working with Jenkins and GitHub, with a strong understanding of their integration and automation capabilities.
- Familiarity with Atlassian suite of products, including Confluence, Jira, Bamboo, and Bitbucket, and experience in using these tools for project management and documentation.
- Strong UNIX/Linux system administration skills, with experience managing RedHat or CentOS environments.
- Proficiency in scripting languages such as Python and Bash; experience with high-level programming languages like Go or C++ is advantageous.
- Hands-on experience with containerization technologies such as Docker and orchestration platforms like Kubernetes.
- Knowledge of CI/CD orchestration and configuration management tools including Ansible, Puppet, Salt, or Chef.
- Ability to work effectively in an agile environment, managing multiple priorities and delivering results on time.
- Excellent problem-solving skills, with the ability to diagnose and resolve complex system issues.
- Strong communication skills, capable of documenting processes and collaborating across teams.
- Basic understanding of Makefile/make and build automation concepts.
- Ability to work independently and proactively identify areas for improvement within existing systems.
Nice to have
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- Familiarity with monitoring and alerting tools such as Zabbix, Nagios, Prometheus, or DataDog.
- Experience working with relational databases like MySQL or PostgreSQL.
- Knowledge of virtualization technologies including VMware, XenServer, RHEV, or QEMU/KVM.
- Exposure to tools such as Elasticsearch, InfluxDB, Grafana, or Artifactory.
- Experience with FPGA build processes and tools such as Xilinx Vivado.
- Understanding of network infrastructure and security best practices.
Skills & tools
- Ansible, Jenkins, Kubernetes, Grafana, Spinnaker, MySQL, ElasticSearch, Google Cloud, Varnish, Python, Bash, Docker, CI/CD tools, Atlassian suite.
Practical notes
- This position is open to candidates residing in Poland who are eligible for remote work.
- Arista Networks offers a collaborative and inclusive work environment, emphasizing professional growth and development.
- The company values diversity and strives to create a welcoming atmosphere for all employees.
- Candidates should be prepared to demonstrate their experience with automation tools and infrastructure management during the interview process.
- The role requires a proactive approach, with the ability to work independently and as part of a team to solve complex technical challenges.
- The company encourages continuous learning and provides resources for employees to stay current with industry trends and emerging technologies.