Software Engineer - Platform Team - C++ on Linux
Summary
Build and own low-level networking features in C++ for Arista’s data-center switches, working closely with hardware and ASIC teams to design, implement, and debug datapath forwarding code.
You will work with the Platform team who work closest to the hardware and programming chips.
What You’ll Do
As a Software Engineer your core responsibility is to deliver new cutting edge product features. A major part of this is writing and owning design/implementation of the code that drives our products. However, the role of a Software Engineer is much bigger than ‘simply’ writing code. Software engineers work on the whole development process, including:
- Suggesting and deciding what features to build
- Driving the design and architecture
- Pushing, testing, documenting the feature
- Working alongside customers in the field if needed
Are you right for this role?
This is an interesting and exciting opportunity to be a part of the software development team that is redefining Data Center switching. For success at Arista all you need is:
- Strong industry experience of 3+ years
- Extensive background in algorithms and strong software architecture skills
- Fluency in C/C++ programming
- Hands-on experience with designs and implementations in a strong product-engineering environment.
Qualifications
- Strong software debugging skills especially in embedded systems.
- Experience with software development for the forwarding ASICs, FPGAs, Network Processors etc
- Experience with hardware abstraction layer
- Datapath forwarding for ACLs, QoS, Unicast, Multicast, EVPN MPLS, VXLAN, OAM etc
- Strong communication skills and the ability to work in a team environment
- Experience working through the complete software development life cycle right from requirements gathering to deliver the fully developed feature.
- Experience in Network Systems Software development is a plus
- Strong engineering and Computer Science fundamentals.
- Extensive background in algorithms and strong software architecture skills.
- 5+ years fluency in one of C/C++/Python programming.
- Hands-on experience with designs and implementations in a strong product-engineering environment.
This role is a B2B 12 month rolling contract.