← All jobs

Intern Software Engineer – C/C++

About the role

• Write Linux user-space and kernel code enabling 32-bit drivers to DMA 64-bit virtual memory spaces using Intel and AMD IOMMU controllers
• Access ASIC registers over SPI, SMBus, PCIe, and I2C
• Implement high-resolution timers with sub-100ns accuracy
• Read ASIC hardware specifications and gather near-real-time information on large numbers of packet flows
• Generate network congestion statistics
• Develop configuration-management services using Go and Python
• Support YANG, OpenConfig, NETCONF, and RESTCONF over gRPC, SSH, and SSL for standardized switch configuration
• Use Git, Gerrit, Jenkins, Slack, and Trello
• Develop BGP, OSPF, and ISIS routing protocol agents in C/C++ within a Linux embedded environment
• Code fault-tolerant, concurrent agents for high-performance and highly available data centers
• Contribute to a fully automated, Python-based continuous test harness with hundreds of devices under test

• Internship/graduate engineer opportunity on the Platform team
• Aptitude and enthusiasm for programming
• Knowledge or interest in C, C++, networking, Linux embedded systems, or algorithms

• Personal mentor for the duration of the internship
• Arista Prep course (2 lectures/tutorials/workshops, 2 days a week, over 6 weeks)
• Arista U weekly lectures on new technologies, products, and tools
• Participation in twice-yearly global hack-a-thons (depending on internship dates)
• Full-time permanent job offer before the end of end-of-studies internships