Designs, develops, troubleshoots and debugs software programs for software enhancements and new products. Develops software including operating systems, compilers, routers, networks, utilities, databases and Internet-related tools. Determines hardware compatibility and/or influences hardware design.
Management Level Definition:
Contributions have visible technical impact on a product or major subcomponent. Applies in-depth professional knowledge and innovative ideas to solve complex problems. Visible contributions improve time-to-market, achieve cost reductions, or satisfy current and future unmet customer needs. Recognized internal authority on key technology area applying innovative principles and ideas. Provides technical leadership for significant project/program work. Leads or participates in cross-functional initiatives and contributes to mentorship and knowledge sharing across the organization.
What youll do:
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.
What you need to bring:
Qualifications
- Bachelor s or master s degree in computer science, electronics, telecommunication engineering, or a related discipline.
- 14 to 19 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
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
Cloud Architectures, Cross Domain Knowledge, Design Thinking, Development Fundamentals, DevOps, Distributed Computing, Microservices Fluency, Full Stack Development, Security-First Mindset, Solutions Design, Testing & Automation, User Experience (UX)