Job Description
Responsibilities
- Collaborate with product managers, architects, and other engineers to define software requirements and specifications.
- Design, implement, and maintain networking and system software components using C and C++ programming languages.
- Conduct object-oriented analysis and design to ensure robust and scalable solutions.
- Debug complex system-level issues, leveraging your deep understanding of fundamental OS concepts (especially in Linux or similar operating systems).
- Participate in hardware and system-level design discussions, ensuring carrier-class software development.
- Work with Linux device drivers, system bring-up, and the Linux kernel.
- Navigate large codebases effectively, drawing from prior experience.
- Apply strong technical, analytical, and problem-solving skills to enhance software performance and resilience.
- Utilize scripting technologies and modern DevOps practices.
- Collaborate with cross-functional teams, including networking, embedded platform software, and hardware experts.
- Present technical topics articulately and confidently.
- Articulate design, lead development and see through the deployment of switching software for datacenter switching products.
- Work with product management and cross functional teams and develop detailed architectural, functional and design specifications to meet product requirements.
- Carry out detailed design, coding, unit and functional testing of software, fix complex defects, through entire lifecycle of the project.
- Lead development activity within the team, working with managers for detailed planning of tasks, setting intermediate milestones, strategizing execution.
- Mentor and guide junior engineers in the team for technical problem solving, and building long term expertise and competency.
- Work with cross functional validation and verification teams to ensure correct and complete verification of software and components, to meet real-life network deployments.
- Work closely with Juniper technical assistance team, for providing engineering assistance in supporting critical customer escalations.
Qualifications
- Bachelor’s or master’s degree in computer science, electronics, telecommunication engineering, or a related discipline.
- 14+ years of experience in networking and system software development.
- Proficiency in C and C++ programming.
- Familiarity with data structures and system debugging techniques.
- Expertise in one or more of the following areas:
- Host Complex, System Peripherals & Drivers: CPU complex (x86); PCIe, SPI, I2C, MDIO; FPGA, CPLD, Flash Drivers
- Ethernet Interfaces (ranging from 1Gig to 400G+, including 800G, 1.6T), MacSec, Timing, Optics (SFP, QSFP, QDD, OSFP)
- High-speed packet forwarding with network processors, PHYs, and SerDes
- Strong communication skills, both written and verbal.
Preferred Skills:
- Understanding of SONiC architecture & hands-on SONiC experience, Experience using SONiC development and integration
- Experience with software development for the forwarding ASICs, FPGAs, Network Processors etc
ELIGIBILITY TO WORK AND E-VERIFY
In compliance with federal law, all persons hired will be required to verify identity and eligibility to work in the United States and to complete the required employment eligibility verification form upon hire.
Juniper Networks participates in the E-Verify program. E-Verify is an Internet-based system operated by the Department of Homeland Security (DHS) in partnership with the Social Security Administration (SSA) that allows participating employers to electronically verify the employment eligibility of new hires and the validity of their Social Security Numbers.
● Information for applicants about E-Verify / E-Verify Información en español:
● Immigrant and Employee Rights Section (IER) -
E-Verify® is a registered trademark of the U.S. Department of Homeland Security.