Jobs · Engineering · Indiana

Senior Software Engineer / Principal Engineer – Switching

Agneyas Labs · Indiana, United States · 2 wk ago
EngineeringFull-time

About the role

Agneyas Labs is seeking talented engineers with in-depth experience in high-end switching systems to work on state-of-the-art, cutting-edge network processor-based switches. You will engage with a wide variety of technologies, including Network Operating Systems (NOS), Network Processor SDKs, multi-core software forwarding based on DPDK, and public cloud infrastructure & services. As a core member of the platform development team, you will participate in the design and implementation of the platform data-path for category-leading networking systems, including HW API definition, implementation, control-plane integration, scaling, and debugging.

Responsibilities

  • Integrate L2, L3, and MPLS features in the data-plane and integrate with 3rd party SDKs.
  • Demonstrate a solid understanding of the internals of Network Operating Systems and Linux Networking.
  • Contribute to software design, development, review, and documentation to deliver high-quality products.
  • Troubleshoot and fix reported issues with routing protocols and networking services.
  • Continuously learn and develop skills in switching systems and network disaggregation.
  • Design and develop complex distributed systems in embedded networking projects.
  • Work as a team player, independently and as a self-starter with a “can-do” attitude, ability to prioritize and multitask.
  • Utilize strong communication and problem-solving skills.

Requirements

  • BE/BTech degree in computer engineering or equivalent.
  • 3+ years of engineering experience.
  • Knowledge and experience in networking/switching systems, with the ability to understand nuances and solve problems related to scale, performance, and resiliency.
  • Hands-on experience in one or more programming languages such as C, C++, Golang, or Python in a Linux OS environment.
  • Ability to implement all phases of a development cycle for a software product, from understanding requirements to design, development, and deployment.

Similar jobs