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.
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.
Requirements
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.
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